/*
|--------------------------------------------------------------------------
| GESTWAI — DESIGN SYSTEM WEB
|--------------------------------------------------------------------------
|
| Sprint 4.25 — Bloco 1
|
| Objetivo:
| - iniciar a centralização progressiva dos estilos do GestWAI;
| - oferecer uma camada semântica reutilizável sobre os tokens existentes;
| - retirar CSS estrutural de arquivos PHP sem alterar regras funcionais;
| - manter compatibilidade com style.css e com o tema escuro legado.
|
| Regras:
| - PHP deve aplicar classes semânticas; não deve criar novos estilos locais;
| - não remover classes legadas até a tela correspondente ser homologada;
| - tema claro e escuro devem usar os mesmos componentes;
| - estados hover/focus/disabled devem permanecer explícitos.
|
|--------------------------------------------------------------------------
*/

/* -------------------------------------------------------------------------
   Aliases semânticos
   ------------------------------------------------------------------------- */

:root {
    --gw-bg-page: var(--cor-fundo);
    --gw-bg-surface: var(--cor-card);
    --gw-text: var(--cor-texto);
    --gw-text-strong: var(--cor-texto-forte);
    --gw-text-muted: var(--cor-muted);
    --gw-border: var(--cor-borda);
    --gw-border-strong: var(--cor-borda-forte);
    --gw-primary: var(--cor-primaria);
    --gw-success: var(--cor-sucesso);
    --gw-warning: var(--cor-alerta);
    --gw-danger: var(--cor-perigo);
    --gw-info: var(--cor-info);
    --gw-radius-sm: var(--radius-sm);
    --gw-radius-md: var(--radius);
    --gw-radius-lg: var(--radius-lg);
    --gw-radius-xl: var(--radius-xl);
    --gw-shadow-soft: var(--sombra-suave);
    --gw-shadow: var(--sombra);
    --gw-shadow-hover: var(--sombra-hover);
}

/* -------------------------------------------------------------------------
   Rodapé compartilhado — primeira migração do Sprint 4.25
   ------------------------------------------------------------------------- */

.rodape {
    margin-top: 28px;
    padding: 17px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    border: 1px solid var(--gw-border);
    border-radius: 14px 14px 0 0;
    background: linear-gradient(135deg, var(--gw-bg-surface), #f8fafc);
    color: var(--gw-text-muted);
    font-size: 11px;
    box-shadow: 0 -4px 18px rgba(15, 23, 42, 0.04);
}

.rodape-grupo {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.rodape-marca {
    color: var(--gw-text-strong);
    font-weight: 900;
}

.rodape-separador {
    color: var(--gw-border-strong);
}

.rodape-sprint {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 9px;
    border: 1px solid rgba(37, 99, 255, 0.14);
    border-radius: 999px;
    background: #eef4ff;
    color: #2554b8;
    font-weight: 800;
}

.rodape-sprint::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gw-success);
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12);
}

.rodape-atualizacao {
    white-space: nowrap;
}

.status-whatsapp.status-online {
    border-color: #bbf7d0;
    background: #ecfdf5;
    color: #047857;
}

.status-whatsapp.status-offline {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

html[data-tema="escuro"] .rodape {
    background: linear-gradient(
        135deg,
        var(--gw-bg-surface),
        var(--gestwai-fundo-suave, #17243a)
    );
    box-shadow: var(--gw-shadow-soft);
}

html[data-tema="escuro"] .rodape-sprint {
    border-color: rgba(111, 156, 255, 0.35);
    background: rgba(37, 99, 255, 0.16);
    color: #a9c4ff;
}

html[data-tema="escuro"] .status-whatsapp.status-online {
    border-color: rgba(52, 211, 153, 0.35);
    background: rgba(16, 185, 129, 0.12);
    color: #6ee7b7;
}

html[data-tema="escuro"] .status-whatsapp.status-offline {
    border-color: rgba(248, 113, 113, 0.35);
    background: rgba(220, 38, 38, 0.12);
    color: #fca5a5;
}

@media (max-width: 680px) {
    .rodape {
        align-items: flex-start;
        flex-direction: column;
    }

    .rodape-atualizacao {
        white-space: normal;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 2
   Componentes compartilhados: Cabeçalho + Menu
   ========================================================================= */

/* Tokens legados necessários aos componentes compartilhados.
   As cores primária/secundária são aplicadas dinamicamente pelo header.php. */
:root {
    --gestwai-azul-marinho: #0d1b2a;
    --gestwai-texto: #172033;
    --gestwai-muted: #64748b;
    --gestwai-borda: #e2e8f0;
    --gestwai-fundo: #ffffff;
    --gestwai-fundo-suave: #f8fafc;
}

/* ------------------------------- Cabeçalho ------------------------------ */

.topo {
    min-height: 94px;
    margin: 0 0 16px;
    padding: 15px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid var(--gestwai-borda);
    border-top: 4px solid var(--gestwai-cor-primaria);
    border-radius: 0 0 17px 17px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 1),
            rgba(248, 250, 252, 0.97)
        );
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
}

.topo-brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 16px;
}

.topo-produto {
    flex: 0 0 auto;
    width: 150px;
    height: 58px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e6edf7;
    border-radius: 14px;
    background: #fff;
}

.topo-produto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.topo-divisor {
    width: 1px;
    height: 52px;
    background: var(--gestwai-borda);
}

.topo-empresa-identidade {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.topo-logo {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(37, 99, 255, 0.17);
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            color-mix(
                in srgb,
                var(--gestwai-cor-primaria) 13%,
                white
            ),
            #fff
        );
    color: var(--gestwai-cor-primaria);
    font-size: 19px;
    font-weight: 900;
}

.topo-logo img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 4px;
    object-fit: contain;
    background: #fff;
}

.topo-brand-texto {
    min-width: 0;
}

.topo-brand-texto .topo-contexto {
    display: block;
    margin-bottom: 3px;
    color: var(--gestwai-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.topo-brand h1 {
    max-width: 520px;
    margin: 0;
    overflow: hidden;
    color: var(--gestwai-texto);
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topo-brand p {
    margin: 4px 0 0;
    color: var(--gestwai-muted);
    font-size: 12px;
}

.topo-empresa {
    flex: 0 0 auto;
    min-width: 290px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

.topo-empresa > span {
    color: var(--gestwai-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.topo-empresa > strong {
    max-width: 320px;
    overflow: hidden;
    color: var(--gestwai-texto);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.filtro-empresa-superadmin {
    width: 100%;
    margin-top: 3px;
}

.filtro-empresa-superadmin form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.filtro-empresa-superadmin label {
    flex: 0 0 auto;
    color: var(--gestwai-muted);
    font-size: 11px;
}

.filtro-empresa-superadmin select {
    width: min(230px, 100%);
    min-height: 32px;
    padding: 5px 30px 5px 9px;
    border: 1px solid #cfd9e7;
    border-radius: 9px;
    outline: none;
    background: #fff;
    color: var(--gestwai-texto);
    font-family: inherit;
    font-size: 11px;
}

.filtro-empresa-superadmin select:focus {
    border-color: var(--gestwai-cor-primaria);
    box-shadow: 0 0 0 3px rgba(37, 99, 255, 0.1);
}

.status-whatsapp {
    min-height: 28px;
    margin-top: 3px;
    padding: 5px 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(100, 116, 139, 0.15);
    border-radius: 999px;
    background: var(--gestwai-fundo-suave);
    color: #475569;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.status-whatsapp.status-loading {
    background: #fff8e6;
    color: #946200;
    border-color: #fde3a7;
}

.btn-verde {
    background: var(--gestwai-cor-secundaria);
}

@supports not (
    background:
        color-mix(in srgb, #000 10%, #fff)
) {
    .topo-logo {
        background: #eef4ff;
    }
}

@media (max-width: 980px) {
    .topo {
        align-items: flex-start;
    }

    .topo-produto {
        width: 125px;
    }

    .topo-brand h1 {
        max-width: 330px;
    }

    .topo-empresa {
        min-width: 240px;
    }
}

@media (max-width: 760px) {
    .topo {
        padding: 14px;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }

    .topo-brand {
        align-items: flex-start;
    }

    .topo-produto {
        width: 115px;
        height: 52px;
    }

    .topo-divisor {
        display: none;
    }

    .topo-logo {
        width: 44px;
        height: 44px;
    }

    .topo-brand h1 {
        max-width: 100%;
        font-size: 17px;
        white-space: normal;
    }

    .topo-empresa {
        min-width: 0;
        align-items: stretch;
        padding-top: 12px;
        border-top: 1px solid var(--gestwai-borda);
    }

    .topo-empresa > strong {
        max-width: 100%;
    }

    .filtro-empresa-superadmin form {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .filtro-empresa-superadmin select {
        width: 100%;
        max-width: none;
    }

    .status-whatsapp {
        align-self: flex-start;
    }
}

html[data-tema="escuro"] .topo {
    border-color: var(--cor-borda);
    background:
        linear-gradient(
            135deg,
            var(--cor-card),
            var(--cor-fundo-suave)
        );
    box-shadow: var(--sombra-suave);
}

html[data-tema="escuro"] .topo-logo,
html[data-tema="escuro"] .topo-logo img,
html[data-tema="escuro"] .topo-produto {
    border-color: var(--cor-borda);
    background: var(--cor-card);
}

html[data-tema="escuro"] .topo-brand h1,
html[data-tema="escuro"] .topo-empresa > strong {
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .topo-brand p,
html[data-tema="escuro"] .topo-brand-texto .topo-contexto,
html[data-tema="escuro"] .topo-empresa > span,
html[data-tema="escuro"] .filtro-empresa-superadmin label {
    color: var(--cor-muted);
}

html[data-tema="escuro"] .filtro-empresa-superadmin select {
    border-color: var(--cor-borda);
    background: var(--cor-card);
    color: var(--cor-texto);
}

html[data-tema="escuro"] .status-whatsapp {
    border-color: var(--cor-borda);
    background: var(--cor-fundo-suave);
    color: var(--cor-texto);
}

/* --------------------------------- Menu --------------------------------- */

.menu {
    margin: 0 0 22px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(15, 23, 42, 0.06);
}

.menu-links {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.menu-links a {
    min-height: 38px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 10px;
    color: #475569;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.menu-links a:hover {
    background: color-mix(
        in srgb,
        var(--gestwai-cor-primaria, #2563ff) 10%,
        white
    );
    color: var(--gestwai-cor-primaria, #2563ff);
    transform: translateY(-1px);
}

.menu-links a.ativo {
    background:
        linear-gradient(
            135deg,
            var(--gestwai-cor-primaria, #2563ff),
            color-mix(
                in srgb,
                var(--gestwai-cor-primaria, #2563ff) 78%,
                #172554
            )
        );
    color: #ffffff;
    box-shadow: 0 9px 20px rgba(37, 99, 255, 0.2);
}

.menu-links a.ativo:hover {
    color: #ffffff;
}

.menu-icone {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    font-size: 15px;
}

.menu-user {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.menu-user-info {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.menu-avatar {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: color-mix(
        in srgb,
        var(--gestwai-cor-primaria, #2563ff) 12%,
        white
    );
    color: var(--gestwai-cor-primaria, #2563ff);
    font-size: 15px;
    font-weight: 900;
}

.menu-user-texto {
    min-width: 0;
}

.menu-user-nome {
    display: block;
    max-width: 190px;
    overflow: hidden;
    color: #172033;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-perfil {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
}


.menu-tema {
    position: relative;
    flex: 0 0 auto;
}

.menu-tema-botao {
    min-width: 104px;
    min-height: 36px;
    padding: 7px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid var(--cor-borda, #dbe3ee);
    border-radius: 10px;
    background: var(--cor-fundo-suave, #f8fafc);
    color: var(--cor-texto, #475569);
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.menu-tema-botao:hover,
.menu-tema-botao:focus {
    border-color: var(--gestwai-cor-primaria, #2563ff);
    outline: none;
}

.menu-tema-opcoes {
    position: absolute;
    right: 0;
    top: calc(100% + 7px);
    z-index: 40;
    min-width: 170px;
    padding: 6px;
    display: none;
    border: 1px solid var(--cor-borda, #e2e8f0);
    border-radius: 11px;
    background: var(--cor-card, #fff);
    box-shadow: var(--sombra, 0 8px 28px rgba(15,23,42,.12));
}

.menu-tema-opcoes.aberto {
    display: grid;
    gap: 4px;
}

.menu-tema-opcao {
    width: 100%;
    margin: 0;
    padding: 8px 9px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--cor-texto, #475569);
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.menu-tema-opcao:hover,
.menu-tema-opcao.ativo {
    background: color-mix(
        in srgb,
        var(--gestwai-cor-primaria, #2563ff) 12%,
        var(--cor-card, white)
    );
    color: var(--gestwai-cor-primaria, #2563ff);
}

.menu-tema-status {
    min-width: 0;
}

.menu-sair {
    min-height: 36px;
    padding: 7px 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease;
}

.menu-sair:hover {
    border-color: #fecaca;
    background: #fff1f2;
    color: #be123c;
}

@supports not (
    background:
        color-mix(in srgb, #000 10%, #fff)
) {
    .menu-links a:hover {
        background: #eef4ff;
    }

    .menu-links a.ativo {
        background: var(--gestwai-cor-primaria, #2563ff);
    }

    .menu-avatar {
        background: #eef4ff;
    }
}


html[data-tema="escuro"] .menu {
    border-color: var(--cor-borda);
    background: var(--cor-card);
    box-shadow: var(--sombra-suave);
}

html[data-tema="escuro"] .menu-links a,
html[data-tema="escuro"] .menu-user-nome,
html[data-tema="escuro"] .menu-perfil,
html[data-tema="escuro"] .menu-sair {
    color: var(--cor-texto);
}

html[data-tema="escuro"] .menu-avatar,
html[data-tema="escuro"] .menu-sair {
    border-color: var(--cor-borda);
    background: var(--cor-fundo-suave);
}

@media (max-width: 980px) {
    .menu {
        align-items: flex-start;
        flex-direction: column;
    }

    .menu-user {
        width: 100%;
        padding-top: 10px;
        justify-content: space-between;
        border-top: 1px solid #edf1f7;
    }
}

@media (max-width: 680px) {
    .menu {
        padding: 10px;
    }

    .menu-links {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .menu-links a {
        width: 100%;
        justify-content: flex-start;
    }

    .menu-user-nome {
        max-width: 150px;
    }
}

@media (max-width: 420px) {
    .menu-links {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 3
   Base de componentes reutilizáveis
   ========================================================================= */

/*
| Convenção:
| - novos componentes usam prefixo gw-;
| - páginas legadas continuam funcionando com style.css;
| - migração para gw-* será feita tela por tela;
| - não remover classes antigas até não existirem consumidores.
*/

/* ------------------------------ Layout ---------------------------------- */

.gw-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gw-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.gw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.gw-surface,
.gw-card,
.gw-filter-panel {
    border: 1px solid var(--gw-border);
    border-radius: var(--gw-radius-lg);
    background: var(--gw-bg-surface);
    color: var(--gw-text);
    box-shadow: var(--gw-shadow-soft);
}

.gw-surface,
.gw-filter-panel {
    padding: 16px;
}

.gw-card {
    padding: 18px;
}

.gw-card-title {
    margin: 0 0 6px;
    color: var(--gw-text-strong);
    font-size: 15px;
    font-weight: 900;
}

.gw-card-subtitle,
.gw-help,
.gw-muted {
    color: var(--gw-text-muted);
    font-size: 12px;
}

/* ------------------------------- Botões --------------------------------- */

.gw-btn {
    min-height: 38px;
    padding: 9px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: var(--gw-primary);
    color: #fff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease,
        background-color .16s ease,
        color .16s ease,
        opacity .16s ease;
}

.gw-btn:hover {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(37, 99, 255, .18);
}

.gw-btn:active {
    transform: translateY(0);
}

.gw-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--gw-primary) 24%, transparent);
    outline-offset: 2px;
}

.gw-btn[disabled],
.gw-btn[aria-disabled="true"],
.gw-btn.is-disabled {
    opacity: .58;
    cursor: not-allowed;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

.gw-btn-secondary {
    border-color: var(--gw-border-strong);
    background: var(--gw-bg-surface);
    color: var(--gw-text);
}

.gw-btn-secondary:hover {
    border-color: var(--gw-primary);
    background: color-mix(in srgb, var(--gw-primary) 7%, var(--gw-bg-surface));
    color: var(--gw-primary);
}

.gw-btn-success {
    background: var(--gw-success);
}

.gw-btn-danger {
    background: var(--gw-danger);
}

.gw-btn-warning {
    background: var(--gw-warning);
    color: #422006;
}

.gw-btn-ghost {
    border-color: transparent;
    background: transparent;
    color: var(--gw-text);
    box-shadow: none;
}

.gw-btn-ghost:hover {
    background: color-mix(in srgb, var(--gw-primary) 8%, transparent);
    color: var(--gw-primary);
    box-shadow: none;
}

.gw-btn-sm {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
}

/* ----------------------------- Formulários ------------------------------ */

.gw-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gw-label {
    color: var(--gw-text-strong);
    font-size: 12px;
    font-weight: 800;
}

.gw-input,
.gw-select,
.gw-textarea {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid var(--gw-border-strong);
    border-radius: 9px;
    outline: none;
    background: var(--gw-bg-surface);
    color: var(--gw-text);
    font: inherit;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background-color .16s ease;
}

.gw-textarea {
    min-height: 96px;
    resize: vertical;
    line-height: 1.45;
}

.gw-input:hover,
.gw-select:hover,
.gw-textarea:hover {
    border-color: color-mix(in srgb, var(--gw-primary) 35%, var(--gw-border-strong));
}

.gw-input:focus,
.gw-select:focus,
.gw-textarea:focus {
    border-color: var(--gw-primary);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--gw-primary) 11%, transparent);
}

.gw-input:disabled,
.gw-select:disabled,
.gw-textarea:disabled {
    opacity: .72;
    cursor: not-allowed;
    background: color-mix(in srgb, var(--gw-text-muted) 8%, var(--gw-bg-surface));
}

.gw-field-error {
    color: var(--gw-danger);
    font-size: 11px;
    font-weight: 700;
}

/* ------------------------------- Badges --------------------------------- */

.gw-badge {
    min-height: 26px;
    padding: 5px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.gw-badge-info {
    background: color-mix(in srgb, var(--gw-info) 12%, var(--gw-bg-surface));
    color: var(--gw-info);
}

.gw-badge-success {
    background: color-mix(in srgb, var(--gw-success) 13%, var(--gw-bg-surface));
    color: var(--gw-success);
}

.gw-badge-warning {
    background: color-mix(in srgb, var(--gw-warning) 15%, var(--gw-bg-surface));
    color: #92400e;
}

.gw-badge-danger {
    background: color-mix(in srgb, var(--gw-danger) 12%, var(--gw-bg-surface));
    color: var(--gw-danger);
}

.gw-badge-neutral {
    background: color-mix(in srgb, var(--gw-text-muted) 12%, var(--gw-bg-surface));
    color: var(--gw-text-muted);
}

/* ------------------------------- Alertas -------------------------------- */

.gw-alert {
    padding: 12px 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid var(--gw-border);
    border-radius: 10px;
    background: var(--gw-bg-surface);
    color: var(--gw-text);
    font-size: 13px;
}

.gw-alert-info {
    border-color: color-mix(in srgb, var(--gw-info) 32%, var(--gw-border));
    background: color-mix(in srgb, var(--gw-info) 7%, var(--gw-bg-surface));
}

.gw-alert-success {
    border-color: color-mix(in srgb, var(--gw-success) 32%, var(--gw-border));
    background: color-mix(in srgb, var(--gw-success) 7%, var(--gw-bg-surface));
}

.gw-alert-warning {
    border-color: color-mix(in srgb, var(--gw-warning) 36%, var(--gw-border));
    background: color-mix(in srgb, var(--gw-warning) 8%, var(--gw-bg-surface));
}

.gw-alert-danger {
    border-color: color-mix(in srgb, var(--gw-danger) 32%, var(--gw-border));
    background: color-mix(in srgb, var(--gw-danger) 7%, var(--gw-bg-surface));
}

/* ------------------------------- Tabelas -------------------------------- */

.gw-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--gw-border);
    border-radius: var(--gw-radius-lg);
    background: var(--gw-bg-surface);
    box-shadow: var(--gw-shadow-soft);
}

.gw-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    box-shadow: none;
}

.gw-table th,
.gw-table td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--gw-border);
    color: var(--gw-text);
    text-align: left;
    vertical-align: top;
    font-size: 13px;
}

.gw-table th {
    background: color-mix(in srgb, var(--gw-text-muted) 6%, var(--gw-bg-surface));
    color: var(--gw-text-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.gw-table tbody tr {
    transition: background-color .16s ease;
}

.gw-table tbody tr:hover {
    background: color-mix(in srgb, var(--gw-primary) 4%, var(--gw-bg-surface));
}

.gw-table tbody tr:last-child td {
    border-bottom: 0;
}

/* ------------------------------- Estados -------------------------------- */

.gw-is-hidden {
    display: none !important;
}

.gw-is-busy {
    cursor: progress;
}

.gw-text-success {
    color: var(--gw-success);
}

.gw-text-warning {
    color: var(--gw-warning);
}

.gw-text-danger {
    color: var(--gw-danger);
}

.gw-text-info {
    color: var(--gw-info);
}

/* -------------------------- Compatibilidade CSS ------------------------- */

@supports not (background: color-mix(in srgb, #000 10%, #fff)) {
    .gw-btn-secondary:hover {
        background: #eef4ff;
    }

    .gw-badge-info {
        background: #dbeafe;
    }

    .gw-badge-success {
        background: #d1fae5;
    }

    .gw-badge-warning {
        background: #fef3c7;
    }

    .gw-badge-danger {
        background: #fee2e2;
    }

    .gw-badge-neutral {
        background: #e2e8f0;
    }
}

/* ----------------------------- Responsivo ------------------------------- */

@media (max-width: 680px) {
    .gw-row {
        align-items: stretch;
    }

    .gw-row > .gw-input,
    .gw-row > .gw-select,
    .gw-row > .gw-textarea {
        flex: 1 1 100%;
    }

    .gw-table-wrap {
        border-radius: var(--gw-radius-md);
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 4
   Central de Conversas — migração do CSS local para o Design System
   =========================================================================

   Origem: conversas.php
   Estratégia: os 4 blocos <style> foram removidos do PHP e preservados
   nesta folha, na MESMA ordem relativa entre si.

   IMPORTANTE:
   - este bloco não redesenha a Central;
   - não altera JavaScript, AJAX, permissões, estados ou regras;
   - primeiro centralizamos; simplificação/remoção de regras redundantes
     ocorrerá somente após homologação visual.
   ========================================================================= */


/* --- Conversas: bloco CSS legado 1/4 migrado no Sprint 4.25 B4 --- */

.central-estado-vazio {
    max-width: 920px;
    margin: 40px auto;
    padding: 28px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px 20px;
    align-items: center;
}
.central-estado-vazio-icone {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: var(--cor-fundo-suave, #eef4ff);
    font-size: 28px;
}
.central-estado-vazio h2 {
    margin: 0 0 8px;
}
.central-estado-vazio p {
    margin: 0 0 6px;
}
.central-estado-vazio-acoes {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
html[data-tema="escuro"] .central-estado-vazio-icone {
    background: #142238;
}
@media (max-width: 640px) {
    .central-estado-vazio {
        grid-template-columns: 1fr;
        margin: 20px 12px;
    }
    .central-estado-vazio-acoes {
        grid-column: 1;
    }
}

.detalhes-feedback {
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-left-width: 5px;
    border-left-style: solid;
}

.detalhes-feedback-sucesso {
    border-left-color: #22c55e;
    background: #f0fdf4;
}

.detalhes-feedback-erro {
    border-left-color: #ef4444;
    background: #fff1f2;
}

.detalhes-cabecalho {
    padding: 20px 22px;
}

.detalhes-cabecalho-principal {
    min-width: 0;
}

.detalhes-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: var(--cor-primaria);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.detalhes-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cor-secundaria);
    box-shadow: 0 0 0 5px rgba(16,185,129,.11);
}

.detalhes-cabecalho h2 {
    margin-bottom: 10px;
    font-size: 25px;
}

.detalhes-identificacao {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 14px;
}

.detalhes-identificacao-item {
    min-width: 150px;
    padding: 10px 12px;
    border: 1px solid var(--cor-borda);
    border-radius: 11px;
    background: #f8fafc;
}

.detalhes-identificacao-item span {
    display: block;
    margin-bottom: 3px;
    color: var(--cor-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.detalhes-identificacao-item strong {
    display: block;
    color: var(--cor-texto-forte);
    font-size: 13px;
}

.detalhes-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.detalhes-acoes .btn {
    margin: 0;
}

.ai-addon-box {
    border: 1px solid rgba(37,99,255,.18);
    background:
        linear-gradient(
            135deg,
            rgba(37,99,255,.06),
            rgba(99,102,241,.04)
        );
}

.ai-addon-titulo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ai-addon-icone {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eef4ff;
    font-size: 19px;
}

#resultadoAIAdvisor {
    margin-top: 14px;
    border: 1px solid var(--cor-borda);
    background: var(--cor-card);
    color: var(--cor-texto);
}

.operacao-box {
    padding: 0;
    overflow: hidden;
}

.operacao-header {
    padding: 16px 18px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg,#fff,#f8fafc);
}

.operacao-header h2 {
    margin: 0;
}

.operacao-conteudo {
    padding: 18px;
}

.operacao-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(220px,1fr));
    gap: 16px;
    align-items: end;
}

.operacao-card {
    min-height: 132px;
    padding: 15px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: #f8fafc;
}

.operacao-card label,
.operacao-card strong {
    color: var(--cor-texto-forte);
}

.operacao-card select,
.operacao-card button,
.operacao-card .btn {
    width: 100%;
    margin: 10px 0 0;
}

.operacao-estado-form {
    margin-top: 16px;
    padding-top: 16px;
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
    border-top: 1px solid var(--cor-borda);
}

.operacao-estado-form select {
    min-width: 240px;
    margin: 6px 0 0;
}

.detalhes-cards {
    grid-template-columns: repeat(auto-fit,minmax(185px,1fr));
    gap: 14px;
}

.detalhes-card {
    min-height: 118px;
}

.detalhes-card .valor {
    font-size: 21px;
    line-height: 1.2;
    white-space: normal;
}

.detalhes-grid {
    gap: 14px;
}

.atendimento-box {
    border-radius: 16px;
}

.atendimento-header {
    background: linear-gradient(135deg,#fff,#f8fafc);
}

.caixa-resposta {
    background: #fff;
}

.preferencia-enter {
    margin-top: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    color: var(--cor-muted);
    font-size: 11px;
}

.preferencia-enter label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    cursor: pointer;
}

.preferencia-enter input {
    width: auto;
    margin: 0;
}

.preferencia-enter-ajuda {
    color: var(--cor-muted);
}

html[data-tema="escuro"] .preferencia-enter,
html[data-tema="escuro"] .preferencia-enter-ajuda {
    color: #a9bdd4 !important;
}

.caixa-resposta textarea {
    min-height: 105px;
}

.acoes-resposta button {
    margin: 0;
}

/*
 * Sprint 4.25 — Hotfix 4.1
 * O botão de anexo usa o mesmo tratamento visual dos demais botões de ação.
 * A antiga sobrescrita cinza fazia parecer que o controle estava desabilitado.
 */

.timeline-mensagens {
    background:
        radial-gradient(circle at top right,rgba(37,99,255,.05),transparent 28%),
        #f8fafc;
}

.timeline-mensagens .mensagem {
    border-radius: 13px;
}

.lateral-box {
    padding: 0;
    overflow: hidden;
}

.lateral-box-header {
    padding: 15px 17px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg,#fff,#f8fafc);
}

.lateral-box-header h2 {
    margin: 0;
    font-size: 16px;
}

.lateral-box-conteudo {
    padding: 16px;
}

.lateral-box table {
    margin: 0;
    border: 0;
    box-shadow: none;
}

.timeline-eventos > div:last-child {
    border-bottom: 0 !important;
}

.anexo-video video {
    max-width: 100%;
    border-radius: 10px;
}

.acoes-resposta {
    position: relative;
}

.emoji-seletor {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    z-index: 20;
    width: min(340px, calc(100vw - 44px));
    max-height: 285px;
    padding: 12px;
    overflow-y: auto;
    display: none;
    grid-template-columns: repeat(8, minmax(30px, 1fr));
    gap: 5px;
    border: 1px solid var(--cor-borda);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15,23,42,.18);
}

.emoji-seletor.aberto {
    display: grid;
}

.emoji-opcao {
    min-width: 0;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    font-size: 21px;
    cursor: pointer;
}

.emoji-opcao:hover,
.emoji-opcao:focus {
    background: #eef2ff;
}


.trava-conversa-box {
    margin-bottom: 14px;
    padding: 13px 14px;
    border: 1px solid var(--cor-borda);
    border-radius: 13px;
    background: #f8fafc;
}
.trava-conversa-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.trava-conversa-status { display: grid; gap: 4px; }
.trava-conversa-status strong { color: var(--cor-texto-forte); font-size: 13px; }
.trava-conversa-status span { color: var(--cor-muted); font-size: 11px; }
.trava-conversa-aviso {
    margin-top: 9px;
    padding: 9px 10px;
    border: 1px solid #f0c36b;
    border-radius: 9px;
    background: #fff7d6;
    color: #6f4f00;
    font-size: 11px;
}
.trava-conversa-livre {
    margin-top: 9px;
    padding: 8px 10px;
    border: 1px solid #b8d4c4;
    border-radius: 9px;
    background: #edf9f1;
    color: #17613a;
    font-size: 11px;
}
.trava-conversa-contador { font-weight: 800; }
html[data-tema="escuro"] .trava-conversa-box {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}
html[data-tema="escuro"] .trava-conversa-status strong { color: #fff !important; }
html[data-tema="escuro"] .trava-conversa-status span { color: #a9bdd4 !important; }
html[data-tema="escuro"] .trava-conversa-aviso {
    border-color: #705a1f !important;
    background: #30270f !important;
    color: #fde68a !important;
}
html[data-tema="escuro"] .trava-conversa-livre {
    border-color: #27644f !important;
    background: #102a23 !important;
    color: #a7f3d0 !important;
}

.notas-internas-box {
    margin: 0 0 14px;
    padding: 14px;
    border: 1px solid #e5d49a;
    border-radius: 14px;
    background: #fffdf3;
}

.notas-internas-lateral {
    position: sticky;
    top: 14px;
    z-index: 3;
    max-height: calc(100vh - 28px);
    overflow: hidden;
}

.notas-internas-lateral .notas-internas-lista {
    max-height: 310px;
    overflow-y: auto;
    padding-right: 3px;
}

.notas-internas-topo {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.notas-internas-aviso {
    color: var(--cor-muted);
    font-size: 11px;
}

.notas-internas-lista {
    display: grid;
    gap: 9px;
    margin-bottom: 10px;
}

.nota-interna-item {
    padding: 11px 12px;
    border: 1px solid #e4d49d;
    border-left: 4px solid #d2a617;
    border-radius: 10px;
    background: #fff8d9;
}

.nota-interna-cabecalho {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.nota-interna-meta {
    color: #6c5a19;
    font-size: 11px;
    font-weight: 800;
}

.nota-interna-texto {
    margin: 0;
    color: #403711;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 12px;
    line-height: 1.5;
}

.nota-interna-acoes {
    display: flex;
    gap: 6px;
}

.nota-interna-acoes button {
    margin: 0;
    padding: 5px 8px;
    font-size: 10px;
}

.nota-interna-form textarea {
    min-height: 76px;
    max-height: 180px;
    resize: vertical;
}

.nota-interna-form-acoes {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

html[data-tema="escuro"] .notas-internas-box {
    border-color: #5f5328 !important;
    background: #1d1a10 !important;
    color: #fff3b0 !important;
}

html[data-tema="escuro"] .nota-interna-item {
    border-color: #665827 !important;
    border-left-color: #e2b93d !important;
    background: #2a2414 !important;
}

html[data-tema="escuro"] .nota-interna-meta {
    color: #f2d978 !important;
}

html[data-tema="escuro"] .nota-interna-texto {
    color: #fff7cf !important;
}

html[data-tema="escuro"] .nota-interna-form textarea {
    border-color: #665827 !important;
    background: #17140c !important;
    color: #fff7cf !important;
}

@media (max-width: 980px) {
    .notas-internas-lateral {
        position: static;
        max-height: none;
    }

    .notas-internas-lateral .notas-internas-lista {
        max-height: 260px;
    }
}

.mensagens-rapidas-wrap {
    position: relative;
}

.mensagens-rapidas-painel {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    z-index: 26;
    width: min(560px, calc(100vw - 44px));
    max-height: 460px;
    display: none;
    overflow: hidden;
    border: 1px solid var(--cor-borda);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(15,23,42,.2);
}

.mensagens-rapidas-painel.aberto {
    display: flex;
    flex-direction: column;
}

/*
 * Correção de visibilidade: quando aberto, o painel recebe posição fixa
 * calculada pelo JavaScript conforme o espaço disponível na janela.
 * Isso evita que respostas prontas sejam cortadas acima da viewport ou
 * pelo overflow do cartão de atendimento.
 */
.mensagens-rapidas-painel.mensagens-rapidas-posicionado {
    position: fixed !important;
    z-index: 10020 !important;
    margin: 0 !important;
}

.mensagens-rapidas-topo {
    padding: 11px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--cor-borda);
    background: #f8fafc;
}

.mensagens-rapidas-fechar {
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    background: #fff;
    color: var(--cor-texto);
}

.mensagens-rapidas-ferramentas {
    padding: 10px 12px;
    display: grid;
    gap: 8px;
    border-bottom: 1px solid var(--cor-borda);
}

.mensagens-rapidas-filtros {
    display: flex;
    gap: 6px;
    overflow-x: auto;
}

.mensagem-rapida-filtro {
    flex: 0 0 auto;
    margin: 0;
    padding: 6px 9px;
    border: 1px solid var(--cor-borda);
    border-radius: 999px;
    background: #f8fafc;
    color: var(--cor-texto);
    font-size: 10px;
    font-weight: 800;
}

.mensagem-rapida-filtro.ativo {
    border-color: var(--cor-primaria);
    background: #eef4ff;
    color: var(--cor-primaria);
}

.mensagens-rapidas-conteudo {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 340px;
    padding: 12px;
    overflow-y: auto;
}

.mensagens-rapidas-painel.mensagens-rapidas-posicionado
.mensagens-rapidas-conteudo {
    max-height: none;
}

.mensagem-rapida-item {
    position: relative;
    margin-bottom: 8px;
    padding: 11px 42px 11px 12px;
    border: 1px solid var(--cor-borda);
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
}

.mensagem-rapida-item:hover {
    border-color: var(--cor-primaria);
    background: #f8fbff;
}

.mensagem-rapida-item strong {
    display: block;
    margin-bottom: 4px;
    color: var(--cor-texto-forte);
    font-size: 12px;
}

.mensagem-rapida-item p {
    margin: 0;
    color: var(--cor-muted);
    font-size: 11px;
    line-height: 1.45;
}

.mensagem-rapida-favorito {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 27px;
    height: 27px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--cor-borda);
    border-radius: 50%;
    background: #fff;
    color: #94a3b8;
}

.mensagem-rapida-favorito.ativo {
    border-color: #f59e0b;
    background: #fffbeb;
    color: #f59e0b;
}

.mensagens-rapidas-vazio {
    color: var(--cor-muted);
    font-size: 12px;
}

html[data-tema="escuro"] .mensagens-rapidas-painel,
html[data-tema="escuro"] .mensagens-rapidas-conteudo,
html[data-tema="escuro"] .mensagens-rapidas-ferramentas {
    border-color: #30455f !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .mensagens-rapidas-topo {
    border-color: #30455f !important;
    background: #17263c !important;
    color: #fff !important;
}

html[data-tema="escuro"] .mensagem-rapida-item,
html[data-tema="escuro"] .mensagem-rapida-filtro,
html[data-tema="escuro"] .mensagem-rapida-favorito,
html[data-tema="escuro"] .mensagens-rapidas-fechar {
    border-color: #38506d !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .mensagem-rapida-item:hover,
html[data-tema="escuro"] .mensagem-rapida-filtro.ativo {
    border-color: #6f9cff !important;
    background: #1c2e48 !important;
}

html[data-tema="escuro"] .mensagem-rapida-item strong {
    color: #fff !important;
}

html[data-tema="escuro"] .mensagem-rapida-item p,
html[data-tema="escuro"] .mensagens-rapidas-vazio {
    color: #a9bdd4 !important;
}

.biblioteca-figurinhas-wrap {
    position: relative;
}

.biblioteca-figurinhas-painel {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    z-index: 24;
    width: min(520px, calc(100vw - 44px));
    max-height: 430px;
    display: none;
    overflow: hidden;
    border: 1px solid var(--cor-borda);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(15,23,42,.2);
}

.biblioteca-figurinhas-painel.aberto {
    display: block;
}

.biblioteca-figurinhas-topo {
    padding: 11px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--cor-borda);
    background: #f8fafc;
}

.biblioteca-figurinhas-topo strong {
    color: var(--cor-texto-forte);
    font-size: 12px;
}

.biblioteca-figurinhas-fechar {
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: rgba(15,23,42,.08);
    color: var(--cor-texto-forte);
    cursor: pointer;
}

.biblioteca-figurinhas-conteudo {
    max-height: 370px;
    padding: 12px;
    overflow-y: auto;
}


.biblioteca-figurinhas-ferramentas {
    padding: 10px 12px;
    display: grid;
    gap: 8px;
    border-bottom: 1px solid var(--cor-borda);
    background: #fff;
}

.biblioteca-figurinhas-busca {
    width: 100%;
    margin: 0;
}

.biblioteca-figurinhas-filtros {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.biblioteca-filtro {
    flex: 0 0 auto;
    margin: 0;
    padding: 6px 9px;
    border: 1px solid var(--cor-borda);
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.biblioteca-filtro.ativo,
.biblioteca-filtro:hover {
    border-color: var(--cor-primaria);
    background: #eef4ff;
    color: var(--cor-primaria);
}

.biblioteca-figurinhas-recentes {
    display: none;
    margin-bottom: 14px;
}

.biblioteca-figurinhas-recentes.visivel {
    display: block;
}

.biblioteca-figurinhas-sem-resultado {
    display: none;
    margin: 0;
    color: var(--cor-muted);
    font-size: 12px;
}

.biblioteca-figurinhas-sem-resultado.visivel {
    display: block;
}

.biblioteca-figurinhas-categoria {
    margin-bottom: 14px;
}

.biblioteca-figurinhas-categoria:last-child {
    margin-bottom: 0;
}

.biblioteca-figurinhas-categoria h4 {
    margin: 0 0 8px;
    color: var(--cor-texto-forte);
    font-size: 11px;
}

.biblioteca-figurinhas-grade {
    display: grid;
    grid-template-columns: repeat(5,minmax(68px,1fr));
    gap: 8px;
}

.biblioteca-figurinha-wrap {
    position: relative;
    min-width: 0;
}

.biblioteca-favorito {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 2;
    width: 25px;
    height: 25px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(148,163,184,.35);
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: #94a3b8;
    font-size: 14px;
    cursor: pointer;
}

.biblioteca-favorito.ativo {
    border-color: rgba(245,158,11,.45);
    background: #fffbeb;
    color: #f59e0b;
}

.biblioteca-figurinha {
    min-width: 0;
    width: 100%;
    height: 82px;
    margin: 0;
    padding: 5px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    background:
        linear-gradient(45deg,#edf2f7 25%,transparent 25%),
        linear-gradient(-45deg,#edf2f7 25%,transparent 25%),
        linear-gradient(45deg,transparent 75%,#edf2f7 75%),
        linear-gradient(-45deg,transparent 75%,#edf2f7 75%),
        #fff;
    background-size: 16px 16px;
    background-position: 0 0,0 8px,8px -8px,-8px 0;
    cursor: pointer;
}

.biblioteca-figurinha:hover,
.biblioteca-figurinha:focus {
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 3px rgba(37,99,235,.1);
}

.biblioteca-figurinha img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
}

.biblioteca-figurinhas-vazia {
    margin: 0;
    color: var(--cor-muted);
    font-size: 12px;
}

.biblioteca-figurinha-enviando {
    opacity: .55;
    pointer-events: none;
}

.opcao-sticker {
    display: none;
    align-items: center;
    gap: 8px;
    margin-top: 9px;
    padding: 10px 12px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    background: #f8fafc;
}

.opcao-sticker.visivel {
    display: flex;
}

.opcao-sticker input {
    width: auto;
    margin: 0;
}

.anexo-sticker {
    background: transparent;
}


.gravador-audio {
    display: none;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: #f8fafc;
}

.gravador-audio.visivel {
    display: block;
}

.gravador-audio-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.gravador-audio-status {
    display: flex;
    align-items: center;
    gap: 9px;
    font-weight: 800;
    color: var(--cor-texto-forte);
}

.gravador-audio-indicador {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #94a3b8;
}

.gravador-audio.gravando .gravador-audio-indicador {
    background: #ef4444;
    box-shadow: 0 0 0 5px rgba(239,68,68,.12);
    animation: pulsarGravacao 1.1s infinite;
}

.gravador-audio.pausado .gravador-audio-indicador {
    background: #f59e0b;
    box-shadow: 0 0 0 5px rgba(245,158,11,.12);
}

.gravador-audio.pronto .gravador-audio-indicador {
    background: #22c55e;
    box-shadow: 0 0 0 5px rgba(34,197,94,.12);
}

.gravador-audio-tempo {
    min-width: 58px;
    font-variant-numeric: tabular-nums;
    font-weight: 900;
}

.gravador-audio-acoes {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.gravador-audio-acoes button {
    margin: 0;
}

.gravador-audio-preview {
    display: none;
    width: 100%;
    margin-top: 12px;
}

.gravador-audio-preview.visivel {
    display: block;
}

#btnGravarAudio {
    background: #dc2626;
}

#btnDescartarAudio {
    background: #64748b;
}

@keyframes pulsarGravacao {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.22); opacity: .68; }
}

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

    .operacao-estado-form {
        align-items: stretch;
        flex-direction: column;
    }

    .operacao-estado-form select,
    .operacao-estado-form button {
        width: 100%;
        min-width: 0;
        margin: 0;
    }
}

@media (max-width: 760px) {
    .detalhes-cabecalho {
        padding: 17px;
    }

    .detalhes-cabecalho h2 {
        font-size: 22px;
    }

    .detalhes-acoes {
        width: 100%;
        justify-content: flex-start;
    }

    .detalhes-acoes .btn,
    .detalhes-acoes button {
        width: 100%;
    }

    .detalhes-identificacao {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .detalhes-identificacao-item {
        min-width: 0;
    }

    .acoes-resposta {
        display: grid;
        grid-template-columns: auto auto auto 1fr;
    }

    .acoes-resposta button {
        width: auto;
    }

    .acoes-resposta #btnEnviar {
        width: 100%;
    }
}

@media (max-width: 460px) {
    .biblioteca-figurinhas-grade {
        grid-template-columns: repeat(3,minmax(68px,1fr));
    }

    .detalhes-identificacao {
        grid-template-columns: 1fr;
    }

    .acoes-resposta {
        grid-template-columns: 1fr;
    }

    .acoes-resposta button {
        width: 100%;
    }
}

/* Sprint 4.12 — Bloco 0 — layout compacto da conversa */
.detalhes-topo-compacto {
    padding: 14px 16px;
}

.detalhes-topo-linha {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
}

.detalhes-titulo-compacto {
    min-width: 180px;
}

.detalhes-titulo-compacto .detalhes-kicker {
    margin-bottom: 4px;
}

.detalhes-titulo-conversa {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.detalhes-titulo-conversa h2 {
    margin: 0;
    font-size: 22px;
}

.detalhes-resumo-identificacao {
    min-width: 0;
    display: grid;
    grid-template-columns:
        minmax(135px, 1.2fr)
        minmax(155px, 1fr)
        minmax(155px, 1fr)
        minmax(130px, .9fr)
        minmax(105px, .7fr);
    gap: 8px;
}

.detalhes-chip {
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    background: #f8fafc;
}

.detalhes-chip span,
.detalhes-chip small {
    display: block;
    color: var(--cor-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.detalhes-chip strong {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    color: var(--cor-texto-forte);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.detalhes-chip-tempo strong {
    color: #dc2626;
}

.detalhes-acoes-compactas {
    flex-wrap: nowrap;
}

.detalhes-faixa-inferior {
    margin-top: 12px;
    padding-top: 12px;
    display: grid;
    grid-template-columns: minmax(430px, .9fr) minmax(650px, 1.6fr);
    gap: 12px;
    border-top: 1px solid var(--cor-borda);
}

.resumo-atendimento-compacto,
.operacao-compacta {
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: #f8fafc;
}

.resumo-atendimento-compacto {
    padding: 10px 12px;
}

.resumo-atendimento-titulo {
    margin-bottom: 8px;
    color: var(--cor-texto-forte);
    font-size: 12px;
}

.resumo-atendimento-itens {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.resumo-atendimento-itens > div {
    min-width: 0;
    padding-right: 8px;
    border-right: 1px solid var(--cor-borda);
}

.resumo-atendimento-itens > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.resumo-atendimento-itens span {
    display: block;
    color: var(--cor-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.resumo-atendimento-itens strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--cor-texto-forte);
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.operacao-compacta {
    padding: 9px 10px;
    display: grid;
    grid-template-columns:
        minmax(120px, .75fr)
        auto
        minmax(260px, 1.25fr)
        minmax(270px, 1.25fr);
    gap: 9px;
    align-items: end;
}

.operacao-compacta-responsavel {
    align-self: center;
}

.operacao-compacta-responsavel span,
.operacao-compacta-responsavel small,
.operacao-compacta-form label {
    display: block;
    color: var(--cor-muted);
    font-size: 9px;
    font-weight: 800;
}

.operacao-compacta-responsavel strong {
    display: block;
    margin-top: 2px;
    color: var(--cor-texto-forte);
    font-size: 12px;
}

.operacao-compacta-form {
    margin: 0;
}

.operacao-compacta-form .btn {
    margin: 0;
    white-space: nowrap;
}

.operacao-controle-linha {
    margin-top: 4px;
    display: flex;
    gap: 5px;
}

.operacao-controle-linha select {
    min-width: 0;
    width: 100%;
    margin: 0;
}

.detalhes-grid {
    grid-template-columns: minmax(0, 3fr) minmax(285px, 1fr);
    align-items: start;
}

.ai-advisor-lateral {
    border-color: rgba(37,99,255,.22);
}

.ai-advisor-botao {
    width: 100%;
    margin: 10px 0 0;
}

.resultado-ai-lateral {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(37,99,255,.17);
    border-radius: 10px;
    background: var(--cor-card);
    color: var(--cor-texto);
}

.resultado-ai-lateral #conteudoAIAdvisor {
    margin-top: 8px;
}

.detalhes-coluna-lateral {
    min-width: 0;
}

.caixa-resposta {
    padding-top: 12px;
}

.caixa-resposta textarea {
    min-height: 88px;
}

.timeline-mensagens {
    min-height: 420px;
}

@media (max-width: 1500px) {
    .detalhes-topo-linha {
        grid-template-columns: 1fr auto;
    }

    .detalhes-resumo-identificacao {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .detalhes-faixa-inferior {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    .detalhes-resumo-identificacao {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .operacao-compacta {
        grid-template-columns: 1fr 1fr;
    }

    .detalhes-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .detalhes-topo-linha {
        grid-template-columns: 1fr;
    }

    .detalhes-acoes-compactas {
        justify-content: stretch;
    }

    .detalhes-acoes-compactas .btn {
        flex: 1;
    }

    .detalhes-resumo-identificacao {
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: 1fr 1fr;
    }

    .detalhes-faixa-inferior {
        min-width: 0;
    }

    .resumo-atendimento-itens {
        grid-template-columns: 1fr 1fr;
    }

    .resumo-atendimento-itens > div {
        padding: 5px 0;
        border-right: 0;
        border-bottom: 1px solid var(--cor-borda);
    }

    .operacao-compacta {
        grid-template-columns: 1fr;
    }

    .operacao-controle-linha {
        flex-direction: column;
    }

    .operacao-controle-linha .btn {
        width: 100%;
    }
}


/* Sprint 4.12 — Bloco 1 — resposta específica */
.resposta-citada-selecao {
    display: none;
    margin: 0 0 10px;
    padding: 10px 12px;
    border-left: 4px solid var(--cor-primaria);
    border-radius: 9px;
    background: #eef4ff;
}

.resposta-citada-selecao.visivel {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.resposta-citada-selecao-conteudo {
    min-width: 0;
}

.resposta-citada-selecao-conteudo strong,
.mensagem-citacao strong {
    display: block;
    color: var(--cor-primaria);
    font-size: 11px;
}

.resposta-citada-selecao-conteudo span,
.mensagem-citacao span {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--cor-texto-forte);
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.btn-cancelar-resposta {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: rgba(15,23,42,.08);
    color: var(--cor-texto-forte);
    cursor: pointer;
}

.btn-cancelar-resposta:hover {
    background: rgba(239,68,68,.13);
    color: #b91c1c;
}

.mensagem-citacao {
    margin: 0 0 8px;
    padding: 8px 10px;
    border-left: 3px solid rgba(37,99,235,.55);
    border-radius: 7px;
    background: rgba(255,255,255,.62);
}


/* ==========================================================================
   Sprint 4.19.10.2.1 — Reply legível no modo escuro
   - A prévia selecionada e a citação persistida usam superfícies escuras.
   - Regras limitadas ao tema escuro; tema claro e fluxo funcional preservados.
   ========================================================================== */
html[data-tema="escuro"] .resposta-citada-selecao {
    border-left-color: #60a5fa;
    background: #15243a;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.28);
}

html[data-tema="escuro"] .resposta-citada-selecao-conteudo strong {
    color: #93c5fd;
}

html[data-tema="escuro"] .resposta-citada-selecao-conteudo span {
    color: #e5eef9;
}

html[data-tema="escuro"] .btn-cancelar-resposta {
    border: 1px solid #344760;
    background: #17243a;
    color: #f8fafc;
}

html[data-tema="escuro"] .btn-cancelar-resposta:hover,
html[data-tema="escuro"] .btn-cancelar-resposta:focus {
    border-color: #f87171;
    background: rgba(239, 68, 68, 0.18);
    color: #fecaca;
}

html[data-tema="escuro"] .mensagem-citacao {
    border-left-color: #60a5fa;
    background: rgba(8, 18, 33, 0.82);
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

html[data-tema="escuro"] .mensagem-citacao strong {
    color: #93c5fd;
}

html[data-tema="escuro"] .mensagem-citacao span {
    color: #e2e8f0;
}

.mensagem-cabecalho-acoes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.btn-responder-mensagem {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid rgba(100,116,139,.42);
    border-radius: 7px;
    background: #f1f5f9;
    color: #334155;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    opacity: 1;
    cursor: pointer;
}

.btn-responder-mensagem:hover,
.btn-responder-mensagem:focus {
    border-color: rgba(37,99,235,.35);
    background: #eef4ff;
    color: #1d4ed8;
}

/* ==========================================================================
   Sprint 4.16 — Correção efetiva do botão Responder no modo escuro

   Esta regra permanece no próprio detalhes.php porque esta página carrega
   diretamente apenas css/style.css. Assim, o contraste não depende do
   carregamento de tema-escuro-completo.css.

   Preserva:
   - classe e evento JavaScript de reply;
   - estados habilitado e desabilitado;
   - permissões, trava temporária e isolamento multiempresa.
   ========================================================================== */
html[data-tema="escuro"] body .timeline-mensagens .mensagem .btn-responder-mensagem {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-width: 86px !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border: 1px solid #4f86c6 !important;
    border-radius: 7px !important;
    background-color: #1d3b60 !important;
    background-image: none !important;
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .35) !important;
}

html[data-tema="escuro"] body .timeline-mensagens .mensagem .btn-responder-mensagem:hover:not(:disabled),
html[data-tema="escuro"] body .timeline-mensagens .mensagem .btn-responder-mensagem:focus-visible:not(:disabled) {
    border-color: #7db4f3 !important;
    background-color: #285b91 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html[data-tema="escuro"] body .timeline-mensagens .mensagem .btn-responder-mensagem:disabled,
html[data-tema="escuro"] body .timeline-mensagens .mensagem .btn-responder-mensagem.disabled,
html[data-tema="escuro"] body .timeline-mensagens .mensagem .btn-responder-mensagem[aria-disabled="true"] {
    border-color: #64748b !important;
    background-color: #334155 !important;
    background-image: none !important;
    color: #e2e8f0 !important;
    -webkit-text-fill-color: #e2e8f0 !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}

@media (max-width: 520px) {
    .mensagem-cabecalho-acoes {
        align-items: flex-start;
    }

    .resposta-citada-selecao.visivel {
        align-items: flex-start;
    }
}


/* ==========================================================================
   Sprint 4.16 — Ajuste visual da tela de conversa
   Prioridade: resposta e mensagens no topo
   ========================================================================== */

.detalhes-topo-linha {
    padding-top: 10px;
    padding-bottom: 10px;
}

.detalhes-titulo-compacto {
    align-self: center;
}

.detalhes-resumo-identificacao {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
}

.detalhes-chip {
    min-height: 52px !important;
    padding: 8px 10px !important;
}

.detalhes-chip span {
    font-size: 9px !important;
}

.detalhes-chip strong {
    font-size: 11px !important;
}

.detalhes-chip-secundario {
    display: none !important;
}

.detalhes-grid {
    grid-template-columns:
        minmax(0, 2.5fr)
        minmax(300px, .72fr) !important;
    gap: 12px !important;
    align-items: start;
}

.atendimento-box {
    margin-top: 0 !important;
}

.atendimento-header {
    padding: 10px 13px !important;
}

.atendimento-header h2 {
    margin-bottom: 2px !important;
    font-size: 15px !important;
}

.atendimento-header p {
    margin: 0 !important;
    font-size: 10px !important;
}

.caixa-resposta {
    padding: 11px 13px !important;
}

.caixa-resposta textarea {
    min-height: 82px !important;
}

.timeline-mensagens {
    min-height: 420px;
    padding-top: 10px !important;
}

/*
 * A ordem funcional não é alterada:
 * 1. campo de resposta;
 * 2. mensagens mais recentes primeiro.
 */

.detalhes-coluna-lateral {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.detalhes-coluna-lateral > .lateral-box,
.detalhes-coluna-lateral > .notas-internas-box {
    margin: 0 !important;
}

.notas-internas-lateral {
    position: static !important;
    max-height: none !important;
}

.notas-internas-lateral .notas-internas-lista {
    max-height: 220px !important;
}

.trava-conversa-box {
    padding: 10px 11px !important;
    border-radius: 11px !important;
}

.trava-conversa-status strong {
    font-size: 11px !important;
}

.trava-conversa-status span,
.trava-conversa-aviso,
.trava-conversa-livre {
    font-size: 10px !important;
}

.trava-conversa-aviso,
.trava-conversa-livre {
    margin-top: 7px !important;
    padding: 7px 8px !important;
}

.resumo-operacional-lateral {
    overflow: visible !important;
}

.resumo-operacional-header {
    padding: 10px 12px !important;
}

.resumo-operacional-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.resumo-operacional-header h2 {
    font-size: 13px !important;
}

.resumo-operacional-header p {
    margin: 2px 0 0 !important;
    color: var(--cor-muted);
    font-size: 9px;
}

.resumo-operacional-conteudo {
    padding: 10px 11px !important;
}

.resumo-operacional-lateral .operacao-compacta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.resumo-operacional-lateral .operacao-compacta-responsavel {
    min-height: 0 !important;
    padding: 8px 9px !important;
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    background: var(--cor-card);
}

.resumo-operacional-lateral .operacao-compacta-responsavel span {
    display: block;
    margin-bottom: 2px;
    color: var(--cor-muted);
    font-size: 9px;
    text-transform: uppercase;
}

.resumo-operacional-lateral .operacao-compacta-responsavel strong {
    font-size: 11px;
}

.resumo-operacional-lateral .operacao-compacta-responsavel small {
    font-size: 9px;
}

.resumo-operacional-lateral .operacao-compacta-form {
    padding: 8px 9px !important;
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    background: var(--cor-card);
}

.resumo-operacional-lateral .operacao-compacta-form label {
    margin-bottom: 5px !important;
    font-size: 9px !important;
}

.resumo-operacional-lateral .operacao-controle-linha {
    gap: 6px !important;
}

.resumo-operacional-lateral select {
    min-height: 32px !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    font-size: 10px !important;
}

.resumo-operacional-lateral button {
    min-height: 32px !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    font-size: 9px !important;
    white-space: nowrap;
}

.lateral-box-header {
    padding: 10px 12px !important;
}

.lateral-box-header h2 {
    font-size: 13px !important;
}

.lateral-box-conteudo {
    padding: 11px 12px !important;
    font-size: 11px;
}

.ai-advisor-lateral .lateral-box-conteudo {
    display: grid;
    gap: 8px;
}

.ai-advisor-lateral p {
    margin: 0 !important;
    font-size: 10px !important;
}

.lateral-secundario {
    overflow: hidden !important;
}

.lateral-secundario-header {
    position: relative;
    padding-right: 34px !important;
    cursor: pointer;
    user-select: none;
}

.lateral-secundario-header::after {
    content: "＋";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    color: var(--cor-muted);
    font-size: 15px;
    font-weight: 900;
}

.lateral-secundario.aberto .lateral-secundario-header::after {
    content: "−";
}

.lateral-secundario:not(.aberto) > .lateral-box-conteudo {
    display: none !important;
}

html[data-tema="escuro"]
.resumo-operacional-lateral .operacao-compacta-responsavel,
html[data-tema="escuro"]
.resumo-operacional-lateral .operacao-compacta-form {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .resumo-operacional-header p {
    color: #a9bdd4 !important;
}

@media (max-width: 1100px) {
    .detalhes-grid {
        grid-template-columns: minmax(0, 1.8fr) minmax(280px, .8fr) !important;
    }
}

@media (max-width: 900px) {
    .detalhes-grid {
        grid-template-columns: 1fr !important;
    }

    .detalhes-resumo-identificacao {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .detalhes-coluna-lateral {
        order: 2;
    }
}


/* Sprint 4.16 — Ajuste visual 06: atendimento horizontal */
.atendimento-faixa-topo {
    margin: 0 0 10px !important;
    padding: 8px 10px !important;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    border-radius: 12px !important;
}
.atendimento-faixa-titulo {
    min-width: 118px;
    display: grid;
    gap: 1px;
}
.atendimento-faixa-titulo strong {
    font-size: 11px;
    white-space: nowrap;
}
.atendimento-faixa-titulo span {
    color: var(--cor-muted);
    font-size: 8px;
    white-space: nowrap;
}
.atendimento-faixa-topo .operacao-compacta {
    min-width: 0;
    display: grid !important;
    grid-template-columns:
        minmax(120px, .8fr)
        minmax(110px, .7fr)
        minmax(215px, 1.35fr)
        auto
        minmax(230px, 1.45fr)
        minmax(220px, 1.35fr) !important;
    align-items: end;
    gap: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.atendimento-faixa-topo .operacao-compacta-responsavel,
.atendimento-faixa-topo .operacao-compacta-form {
    min-width: 0;
    min-height: 45px !important;
    margin: 0 !important;
    padding: 6px 7px !important;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    background: var(--cor-card);
}
.atendimento-faixa-topo .operacao-compacta-responsavel {
    display: grid;
    align-content: center;
}
.atendimento-faixa-topo .operacao-compacta-responsavel span,
.atendimento-faixa-topo .operacao-compacta-form label {
    display: block;
    margin: 0 0 3px !important;
    color: var(--cor-muted);
    font-size: 8px !important;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}
.atendimento-faixa-topo .operacao-compacta-responsavel strong {
    min-width: 0;
    overflow: hidden;
    color: var(--cor-texto-forte);
    font-size: 10px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.atendimento-faixa-topo .operacao-compacta-responsavel small {
    display: none;
}
.atendimento-faixa-topo .operacao-controle-linha {
    min-width: 0;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 5px !important;
}
.atendimento-faixa-topo select {
    min-width: 0;
    width: 100%;
    height: 29px !important;
    min-height: 29px !important;
    margin: 0 !important;
    padding: 3px 6px !important;
    font-size: 9px !important;
}
.atendimento-faixa-topo button {
    min-height: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    padding: 4px 7px !important;
    font-size: 8px !important;
    white-space: nowrap;
}
.atendimento-faixa-topo
.operacao-compacta-form:not(.operacao-transferir):not(.operacao-estado) {
    display: flex;
    align-items: end;
    padding: 6px !important;
}
.atendimento-faixa-topo
.operacao-compacta-form:not(.operacao-transferir):not(.operacao-estado)
button {
    width: 100%;
}
html[data-tema="escuro"] .atendimento-faixa-topo {
    border-color: #30455f !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}
html[data-tema="escuro"]
.atendimento-faixa-topo .operacao-compacta-responsavel,
html[data-tema="escuro"]
.atendimento-faixa-topo .operacao-compacta-form {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}
html[data-tema="escuro"]
.atendimento-faixa-topo .operacao-compacta-responsavel strong {
    color: #ffffff !important;
}
@media (max-width: 1450px) {
    .atendimento-faixa-topo {
        grid-template-columns: 1fr;
    }
    .atendimento-faixa-titulo {
        display: flex;
        align-items: baseline;
        gap: 8px;
    }
    .atendimento-faixa-topo .operacao-compacta {
        grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
    }
}
@media (max-width: 900px) {
    .atendimento-faixa-topo .operacao-compacta {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================================
   Sprint 4.16 — Bloco 2B
   Destaque do controle de resposta e atualização a cada 5 segundos
   ========================================================================== */

.trava-conversa-box {
    position: relative;
    border-width: 2px !important;
    overflow: hidden !important;
    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.trava-conversa-rotulo {
    margin: -10px -11px 9px;
    padding: 7px 10px;
    border-bottom: 1px solid var(--cor-borda);
    background: #eef2f7;
    color: #475569;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.trava-conversa-box.trava-esta-ativa {
    border-color: #ef4444 !important;
    background: #fff7f7 !important;
    box-shadow:
        0 0 0 3px rgba(239, 68, 68, .08) !important;
}

.trava-conversa-box.trava-esta-ativa
.trava-conversa-rotulo {
    border-color: #fecaca !important;
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.trava-conversa-box.trava-esta-propria {
    border-color: #2563eb !important;
    background: #f5f8ff !important;
    box-shadow:
        0 0 0 3px rgba(37, 99, 235, .08) !important;
}

.trava-conversa-box.trava-esta-propria
.trava-conversa-rotulo {
    border-color: #bfdbfe !important;
    background: #dbeafe !important;
    color: #1e40af !important;
}

.trava-conversa-box.trava-esta-livre {
    border-color: #22c55e !important;
    background: #f5fff8 !important;
}

.trava-conversa-box.trava-esta-livre
.trava-conversa-rotulo {
    border-color: #bbf7d0 !important;
    background: #dcfce7 !important;
    color: #166534 !important;
}

html[data-tema="escuro"]
.trava-conversa-box.trava-esta-ativa {
    border-color: #f87171 !important;
    background: #35181f !important;
}

html[data-tema="escuro"]
.trava-conversa-box.trava-esta-ativa
.trava-conversa-rotulo {
    border-color: #7d3541 !important;
    background: #4a2029 !important;
    color: #fecdd3 !important;
}

html[data-tema="escuro"]
.trava-conversa-box.trava-esta-propria {
    border-color: #60a5fa !important;
    background: #14233d !important;
}

html[data-tema="escuro"]
.trava-conversa-box.trava-esta-propria
.trava-conversa-rotulo {
    border-color: #34547d !important;
    background: #19345d !important;
    color: #dbeafe !important;
}

html[data-tema="escuro"]
.trava-conversa-box.trava-esta-livre {
    border-color: #34d399 !important;
    background: #102a23 !important;
}

html[data-tema="escuro"]
.trava-conversa-box.trava-esta-livre
.trava-conversa-rotulo {
    border-color: #27644f !important;
    background: #153c31 !important;
    color: #a7f3d0 !important;
}



/* --- Conversas: bloco CSS legado 2/4 migrado no Sprint 4.25 B4 --- */

/* Sprint 4.18.11.2.6 — ordem da coluna direita */
body.central-atendimento-page .detalhes-coluna-lateral { gap: 7px; }
body.central-atendimento-page .detalhes-coluna-lateral .trava-conversa-box.aberto { flex: 0 0 auto; }
body.central-atendimento-page .detalhes-coluna-lateral .trava-conversa-box.aberto > .trava-conversa-rotulo { border-bottom: 1px solid var(--cor-borda); }



/* --- Conversas: bloco CSS legado 3/4 migrado no Sprint 4.25 B4 --- */

/*
|--------------------------------------------------------------------------
| Sprint 4.19.1 — restauração do histórico operacional:
| - Corrige fechamento dos cards Confirmação e Alertas.
| - Histórico volta a ser card independente no acordeão lateral.
|
| Sprint 4.18.11.2.6 — Ordem dos painéis laterais e abertura inicial:
| - Controle de resposta em primeiro lugar e aberto por padrão.
| - Responsável, Fila e estado, AI Advisor e Análise IA na sequência.
| - Notas internas movidas para depois dos painéis prioritários.
|
| Sprint 4.18.11.2.5 — Coluna direita recolhível:
| - Todos os cards laterais iniciam fechados.
| - Cabeçalhos acessíveis por clique, Enter e Espaço.
| - Preserva formulários, campos, permissões e rolagem.
|
| Sprint 4.18.11.2.4
| - Corrige a ordem após atualização AJAX da timeline.
| - Antigas permanecem no topo e recentes junto ao compositor.
|
| Sprint 4.18.11.2.3
| - Compacta o compositor da coluna central.
| - Move Enviar com Enter para a faixa de botões.
| - Remove a linha fixa de status abaixo do compositor.
| - Aumenta a altura útil do histórico de mensagens.
|
| Sprint 4.18.11.2.2 — Ordem, rolagem, estados e cabeçalho do chat
| - Mensagens antigas primeiro e recentes próximas da resposta.
| - Remove faixa superior redundante.
| - Restaura rolagem independente nas colunas.
| - Cores por estado e tempo no estado atual.
|--------------------------------------------------------------------------
| Sprint 4.18.11.2.1 — Correção estrutural da Central Unificada
|--------------------------------------------------------------------------
| Esta regra fica no fim do documento para prevalecer sobre estilos antigos
| ainda presentes no arquivo legado de atendimento.
|--------------------------------------------------------------------------
*/

@media (min-width: 1181px) {
    body.central-atendimento-page {
        height: 100vh !important;
        overflow: hidden !important;
    }

    body.central-atendimento-page .central-atendimento-grid {
        display: grid !important;
        grid-template-columns:
            300px
            minmax(0, 1fr)
            340px !important;
        grid-template-rows: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 10px !important;
        height: calc(100vh - 385px) !important;
        min-height: 460px !important;
        overflow: hidden !important;
    }

    body.central-atendimento-page .central-conversas-lateral {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: static !important;
        display: flex !important;
        flex-direction: column !important;
        width: auto !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.central-atendimento-page .central-conversa-principal {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: block !important;
        min-width: 0 !important;
        width: auto !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.central-atendimento-page .detalhes-coluna-lateral {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        min-width: 0 !important;
        width: auto !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 0 3px 0 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.central-atendimento-page .central-chat-box {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.central-atendimento-page .central-chat-box > .atendimento-header {
        order: 1 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body.central-atendimento-page .central-chat-box > .timeline-mensagens {
        order: 2 !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 18px 22px 24px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.central-atendimento-page .central-chat-box > .caixa-resposta {
        order: 3 !important;
        flex: 0 0 auto !important;
        display: block !important;
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px 10px 10px !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    body.central-atendimento-page .central-chat-box #mensagem {
        display: block !important;
        width: 100% !important;
        min-height: 54px !important;
        max-height: 120px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.central-atendimento-page .central-chat-box .acoes-resposta,
    body.central-atendimento-page .central-chat-box .preferencia-enter {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.central-atendimento-page .central-conversas-lista {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
    }

    body.central-atendimento-page .timeline-mensagens .mensagem {
        max-width: min(72%, 760px) !important;
    }

    body.central-atendimento-page .detalhes-barra-unica {
        min-height: 0 !important;
        margin-bottom: 8px !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }
}

@media (min-width: 1181px) and (max-height: 900px) {
    body.central-atendimento-page .central-atendimento-grid {
        height: calc(100vh - 350px) !important;
        min-height: 420px !important;
    }
}

@media (min-width: 1181px) and (max-width: 1450px) {
    body.central-atendimento-page .central-atendimento-grid {
        grid-template-columns:
            270px
            minmax(0, 1fr)
            315px !important;
    }
}



/* --- Conversas: bloco CSS legado 4/4 migrado no Sprint 4.25 B4 --- */

/*
|--------------------------------------------------------------------------
| Sprint 4.18.11.2.2 — Central com rolagens independentes e estados visuais
|--------------------------------------------------------------------------
*/

body.central-atendimento-page .detalhes-topo-compacto,
body.central-atendimento-page .detalhes-barra-unica {
    display: none !important;
}

body.central-atendimento-page .central-chat-cabecalho {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex: 0 0 auto !important;
    padding: 10px 12px !important;
}

.central-chat-identificacao {
    min-width: 0;
}

.central-chat-identificacao h2,
.central-chat-identificacao p {
    overflow: hidden;
    margin: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.central-chat-identificacao h2 {
    font-size: 15px;
}

.central-chat-identificacao p {
    margin-top: 3px;
    color: var(--cor-muted);
    font-size: 10px;
}

.central-chat-status-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex: 0 0 auto;
}

.central-estado-badge,
.central-conversa-estado {
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
}

.central-estado-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    font-size: 10px;
    white-space: nowrap;
}

.central-estado-tempo {
    color: var(--cor-muted);
    font-size: 9px;
    white-space: nowrap;
}

.central-conversa-estado {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    width: fit-content;
    max-width: 100%;
    margin-top: 4px;
    padding: 3px 7px;
    font-size: 8px;
}

.central-conversa-estado strong,
.central-conversa-estado small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.central-conversa-estado small {
    opacity: .82;
    font-size: 7px;
    font-weight: 700;
}

.estado-aguardando-tecnico {
    background: #7f1d1d !important;
    border-color: #ef4444 !important;
    color: #fff !important;
}


.estado-em-progresso {
    background: #1d4ed8 !important;
    border-color: #60a5fa !important;
    color: #fff !important;
}

.estado-em-encerramento {
    background: #6d28d9 !important;
    border-color: #a78bfa !important;
    color: #fff !important;
}

.estado-cliente-respondeu {
    background: #b91c1c !important;
    border-color: #facc15 !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px rgba(250, 204, 21, .25);
}

.estado-encerrado,
.estado-resolvido {
    background: #166534 !important;
    border-color: #4ade80 !important;
    color: #fff !important;
}

.estado-neutro {
    background: #334155 !important;
    border-color: #64748b !important;
    color: #fff !important;
}

@media (min-width: 1181px) {
    body.central-atendimento-page {
        height: 100vh !important;
        overflow: hidden !important;
    }

    body.central-atendimento-page .central-atendimento-grid {
        height: calc(100vh - 275px) !important;
        min-height: 480px !important;
        overflow: hidden !important;
    }

    body.central-atendimento-page .central-conversas-lateral,
    body.central-atendimento-page .detalhes-coluna-lateral,
    body.central-atendimento-page .central-conversa-principal,
    body.central-atendimento-page .central-chat-box {
        min-height: 0 !important;
        height: 100% !important;
    }

    body.central-atendimento-page .central-conversas-lateral {
        overflow: hidden !important;
    }

    body.central-atendimento-page .central-conversas-lista {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        pointer-events: auto !important;
    }

    body.central-atendimento-page .detalhes-coluna-lateral {
        display: block !important;
        min-height: 0 !important;
        max-height: none !important;
        padding-right: 5px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        pointer-events: auto !important;
        touch-action: pan-y;
    }

    body.central-atendimento-page .detalhes-coluna-lateral * {
        pointer-events: auto !important;
    }

    body.central-atendimento-page .central-chat-box > .timeline-mensagens {
        order: 2 !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    body.central-atendimento-page .central-chat-box > .caixa-resposta {
        order: 3 !important;
        flex: 0 0 auto !important;
        position: sticky !important;
        bottom: 0 !important;
        z-index: 4 !important;
    }
}

@media (max-width: 1180px) {
    .central-chat-status-acoes {
        flex-wrap: wrap;
    }
}


/*
|--------------------------------------------------------------------------
| Sprint 4.18.11.2.3 — Compositor central compacto
|--------------------------------------------------------------------------
*/

body.central-atendimento-page .central-chat-box > .caixa-resposta {
    padding: 6px 10px 7px !important;
}

body.central-atendimento-page .central-chat-box .resposta-rapida {
    min-height: 22px !important;
    margin-bottom: 5px !important;
    font-size: 10px !important;
}

body.central-atendimento-page .central-chat-box #mensagem {
    min-height: 48px !important;
    max-height: 96px !important;
    padding: 9px 11px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body.central-atendimento-page .central-chat-box .acoes-resposta {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 36px !important;
    margin-top: 6px !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;
}

body.central-atendimento-page .central-chat-box .preferencia-enter-inline {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 auto 0 0 !important;
    font-size: 9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.central-atendimento-page .central-chat-box .preferencia-enter-inline label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

body.central-atendimento-page .central-chat-box .preferencia-enter-inline input {
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
}

body.central-atendimento-page .central-chat-box .preferencia-enter-ajuda {
    font-size: 8px !important;
    opacity: .78 !important;
}

body.central-atendimento-page .central-chat-box .acoes-resposta > button {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px !important;
    margin: 0 !important;
    font-size: 14px !important;
}

body.central-atendimento-page .central-chat-box .acoes-resposta #btnEnviar {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 66px !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
}

body.central-atendimento-page .central-chat-box .status-envio-dinamico:empty,
body.central-atendimento-page .central-chat-box .status-envio-dinamico[hidden] {
    display: none !important;
}

body.central-atendimento-page .central-chat-box .status-envio-dinamico {
    margin: 5px 0 0 !important;
    padding: 5px 7px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

body.central-atendimento-page .central-chat-box .opcao-sticker,
body.central-atendimento-page .central-chat-box .gravador-audio,
body.central-atendimento-page .central-chat-box #statusAnexo {
    margin-top: 5px !important;
}

body.central-atendimento-page .central-chat-box .timeline-mensagens {
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

@media (max-width: 1120px) {
    body.central-atendimento-page .central-chat-box .preferencia-enter-ajuda {
        display: none !important;
    }
}

@media (max-width: 920px) {
    body.central-atendimento-page .central-chat-box .acoes-resposta {
        flex-wrap: wrap !important;
    }

    body.central-atendimento-page .central-chat-box .preferencia-enter-inline {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}



/*
|--------------------------------------------------------------------------
| Sprint 4.18.11.2.5 — Todos os cards laterais recolhíveis
|--------------------------------------------------------------------------
*/

body.central-atendimento-page
.detalhes-coluna-lateral
[data-lateral-colapsavel="1"] {
    overflow: hidden !important;
    flex: 0 0 auto;
}

body.central-atendimento-page
.detalhes-coluna-lateral
[data-lateral-colapsavel="1"]
> .lateral-secundario-header {
    min-height: 42px;
    margin: 0 !important;
    padding: 11px 38px 11px 13px !important;
    cursor: pointer;
}

body.central-atendimento-page
.detalhes-coluna-lateral
[data-lateral-colapsavel="1"]:not(.aberto)
> :not(.lateral-secundario-header) {
    display: none !important;
}

body.central-atendimento-page
.detalhes-coluna-lateral
.notas-internas-topo.lateral-secundario-header,
body.central-atendimento-page
.detalhes-coluna-lateral
.trava-conversa-rotulo.lateral-secundario-header {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

body.central-atendimento-page
.detalhes-coluna-lateral
.trava-conversa-box:not(.aberto) {
    border-color: var(--cor-borda) !important;
    background: var(--cor-card) !important;
}

body.central-atendimento-page
.detalhes-coluna-lateral
.trava-conversa-box:not(.aberto)
.trava-conversa-rotulo {
    color: var(--cor-texto) !important;
}

/* =========================================================================
   Sprint 4.25 — Bloco 5
   Dashboard + Alertas — migração do CSS local para o Design System
   =========================================================================

   Estratégia:
   - remover <style> de index.php e alertas.php;
   - preservar as regras exatamente na mesma ordem dentro de cada página;
   - não alterar SQL, filtros, AJAX, permissões ou comportamento funcional;
   - simplificação das regras fica para etapa posterior, após homologação.
   ========================================================================= */


/* --- Dashboard index.php — bloco CSS 1/1 --- */
.dashboard-cabecalho {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            padding: 20px 22px;
        }

        .dashboard-cabecalho-principal {
            min-width: 0;
        }

        .dashboard-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .dashboard-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.11);
        }

        .dashboard-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .dashboard-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .dashboard-contexto {
            flex: 0 0 auto;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            justify-content: center;
            gap: 8px;
        }

        .dashboard-conexao-form {
            display: flex;
            align-items: flex-end;
            gap: 8px;
            margin: 0;
        }

        .dashboard-conexao-campo {
            display: grid;
            gap: 5px;
            min-width: 210px;
        }

        .dashboard-conexao-campo > span {
            color: var(--cor-muted);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .dashboard-conexao-campo .gw-select {
            width: 100%;
            min-width: 0;
        }

        .dashboard-conexao-form .btn {
            margin: 0;
            white-space: nowrap;
        }

        .dashboard-cards {
            grid-template-columns:
                repeat(auto-fit, minmax(170px, 1fr));
            gap: 14px;
        }

        .dashboard-card {
            min-height: 126px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .dashboard-card-topo {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .dashboard-card-icone {
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(15, 23, 42, 0.06);
            border-radius: 11px;
            background: rgba(255, 255, 255, 0.74);
            font-size: 17px;
        }

        .dashboard-card .numero {
            margin-top: 15px;
        }

        .dashboard-card .titulo {
            margin-top: 8px;
        }

        .dashboard-card-saude {
            min-width: 220px;
        }

        .dashboard-card-saude .numero {
            font-size: 23px;
            white-space: normal;
        }

        .dashboard-atualizacao {
            padding: 13px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            border: 1px solid var(--cor-borda);
            border-radius: var(--radius);
            background: rgba(255, 255, 255, 0.78);
            color: var(--cor-muted);
            font-size: 12px;
        }

        .dashboard-atualizacao strong {
            color: var(--cor-texto);
        }


        .dashboard-card-prioritario {
            border-color: #dc2626;
            background: linear-gradient(135deg, #fff7ed, #fff1f2);
        }

        .dashboard-card-prioritario .numero {
            color: #b91c1c;
        }

        .dashboard-prioridade {
            margin-top: 14px;
            padding: 0;
            overflow: hidden;
            border: 2px solid #ef4444;
            box-shadow:
                0 0 0 4px rgba(239, 68, 68, .08),
                var(--sombra);
        }

        .dashboard-prioridade[hidden] {
            display: none !important;
        }

        .dashboard-prioridade-cabecalho {
            padding: 16px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            border-bottom: 1px solid #fecaca;
            background: linear-gradient(135deg, #fee2e2, #ffedd5);
        }

        .dashboard-prioridade-cabecalho h2 {
            margin: 0 0 3px;
            color: #991b1b;
            font-size: 17px;
        }

        .dashboard-prioridade-cabecalho p {
            margin: 0;
            color: #9a3412;
            font-size: 12px;
        }

        .dashboard-prioridade-contador {
            min-width: 42px;
            height: 42px;
            display: grid;
            place-items: center;
            border: 1px solid #fca5a5;
            border-radius: 12px;
            background: #ffffff;
            color: #b91c1c;
            font-size: 20px;
            font-weight: 950;
        }

        .dashboard-prioridade-conteudo {
            padding: 14px;
        }

        .dashboard-tabela-prioritaria {
            margin: 0;
        }

        .dashboard-acao-prioritaria {
            min-height: 34px;
            padding: 7px 11px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            background: #dc2626;
            color: #ffffff !important;
            font-size: 11px;
            font-weight: 900;
            text-decoration: none;
            white-space: nowrap;
        }

        .dashboard-acao-prioritaria:hover {
            background: #991b1b;
        }

        html[data-tema="escuro"] .dashboard-card-prioritario {
            border-color: #ef4444 !important;
            background: #35181f !important;
        }

        html[data-tema="escuro"] .dashboard-card-prioritario .numero {
            color: #fecaca !important;
            -webkit-text-fill-color: #fecaca !important;
        }

        html[data-tema="escuro"] .dashboard-prioridade {
            border-color: #ef4444 !important;
            background: #111d30 !important;
        }

        html[data-tema="escuro"] .dashboard-prioridade-cabecalho {
            border-color: #7f1d1d !important;
            background: linear-gradient(135deg, #451a22, #3b2113) !important;
        }

        html[data-tema="escuro"] .dashboard-prioridade-cabecalho h2 {
            color: #fecaca !important;
        }

        html[data-tema="escuro"] .dashboard-prioridade-cabecalho p {
            color: #fdba74 !important;
        }

        html[data-tema="escuro"] .dashboard-prioridade-contador {
            border-color: #b91c1c !important;
            background: #24131a !important;
            color: #fecaca !important;
        }

        html[data-tema="escuro"] .dashboard-prioridade-conteudo,
        html[data-tema="escuro"] .dashboard-tabela-prioritaria tr {
            background: #111d30 !important;
        }

        html[data-tema="escuro"] .dashboard-tabela-prioritaria th {
            background: #3b2113 !important;
            color: #fed7aa !important;
        }

        .dashboard-pulso {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-weight: 800;
            color: #475569;
        }

        .dashboard-pulso::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.11);
        }

        .dashboard-grid-operacional {
            grid-template-columns:
                repeat(3, minmax(0, 1fr));
            align-items: start;
            gap: 14px;
            margin-top: 14px;
        }

        .dashboard-coluna {
            padding: 0;
            overflow: hidden;
        }

        .dashboard-coluna-cabecalho {
            padding: 16px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            border-bottom: 1px solid var(--cor-borda);
            background:
                linear-gradient(
                    135deg,
                    #ffffff,
                    #f8fafc
                );
        }

        .dashboard-coluna-cabecalho h2 {
            margin: 0;
            font-size: 16px;
        }

        .dashboard-coluna-cabecalho span {
            color: var(--cor-muted);
            font-size: 11px;
            font-weight: 800;
        }

        .dashboard-coluna-conteudo {
            padding: 14px;
        }

        .dashboard-coluna table,
        .dashboard-encerrados table {
            margin-bottom: 0;
            border: 0;
            border-radius: 10px;
            box-shadow: none;
        }

        .dashboard-coluna th,
        .dashboard-coluna td {
            padding: 9px 8px;
        }

        .dashboard-coluna .acao a,
        .dashboard-encerrados .acao a {
            min-height: 30px;
            padding: 6px 9px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            background: #eef4ff;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            text-decoration: none;
        }

        .dashboard-coluna .acao a:hover,
        .dashboard-encerrados .acao a:hover {
            background: var(--cor-primaria);
            color: #ffffff;
        }

        .dashboard-encerrados {
            margin-top: 14px;
            padding: 0;
            overflow: hidden;
        }

        .dashboard-encerrados-conteudo {
            padding: 14px;
        }

        .dashboard-vazio {
            color: var(--cor-muted);
            text-align: center;
        }

        @media (max-width: 1180px) {
            .dashboard-grid-operacional {
                grid-template-columns: 1fr 1fr;
            }

            .dashboard-grid-operacional .dashboard-coluna:last-child {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 820px) {
            .dashboard-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .dashboard-contexto {
                justify-content: flex-start;
            }

            .dashboard-grid-operacional {
                grid-template-columns: 1fr;
            }

            .dashboard-grid-operacional .dashboard-coluna:last-child {
                grid-column: auto;
            }

            .dashboard-atualizacao {
                align-items: flex-start;
                flex-direction: column;
            }
        }

        @media (max-width: 560px) {
            .dashboard-cards {
                grid-template-columns: 1fr 1fr;
            }

            .dashboard-card-saude {
                min-width: 0;
                grid-column: 1 / -1;
            }

            .dashboard-cabecalho {
                padding: 17px;
            }

            .dashboard-cabecalho h2 {
                font-size: 22px;
            }
        }

        @media (max-width: 390px) {
            .dashboard-cards {
                grid-template-columns: 1fr;
            }

            .dashboard-card-saude {
                grid-column: auto;
            }
        }
    
/* Sprint 4.15 — Ajuste 09: nova hierarquia operacional */
.dashboard-grid-inferior {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    margin-top: 14px;
    align-items: start;
}

.dashboard-grid-inferior > * {
    min-width: 0;
    margin: 0 !important;
}

.dashboard-coluna-prioritaria {
    border-color: #b45309 !important;
}

.dashboard-coluna-prioritaria .dashboard-coluna-cabecalho {
    background: #4a260f;
    border-bottom-color: #7c3d12;
}

.dashboard-coluna-prioritaria .dashboard-coluna-conteudo {
    max-height: 480px;
    overflow-y: auto;
}

html[data-tema="escuro"] .dashboard-coluna-prioritaria {
    border-color: #9a4b13 !important;
}

html[data-tema="escuro"] .dashboard-coluna-prioritaria
.dashboard-coluna-cabecalho {
    background: #3a1f10 !important;
    border-bottom-color: #6f3918 !important;
}

@media (max-width: 1100px) {
    .dashboard-grid-inferior {
        grid-template-columns: 1fr;
    }
}


/* Sprint 4.15 — Ajuste 10: botões do Dashboard */
.dashboard-coluna a.btn,
.dashboard-coluna button.btn,
.dashboard-encerrados a.btn,
.dashboard-encerrados button.btn,
.dashboard-prioridade a.btn,
.dashboard-prioridade button.btn,
#boxEncerramentoRespondido a,
#boxEncerramentoRespondido button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 72px !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border: 1px solid #2563eb !important;
    border-radius: 9px !important;
    background: #2563eb !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(37, 99, 235, .22) !important;
    -webkit-text-fill-color: #ffffff !important;
}

.dashboard-coluna a.btn:hover,
.dashboard-coluna button.btn:hover,
.dashboard-encerrados a.btn:hover,
.dashboard-encerrados button.btn:hover,
.dashboard-prioridade a.btn:hover,
.dashboard-prioridade button.btn:hover,
#boxEncerramentoRespondido a:hover,
#boxEncerramentoRespondido button:hover {
    border-color: #1d4ed8 !important;
    background: #1d4ed8 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.dashboard-coluna a.btn:focus-visible,
.dashboard-coluna button.btn:focus-visible,
.dashboard-encerrados a.btn:focus-visible,
.dashboard-encerrados button.btn:focus-visible,
#boxEncerramentoRespondido a:focus-visible,
#boxEncerramentoRespondido button:focus-visible {
    outline: 3px solid rgba(96, 165, 250, .45) !important;
    outline-offset: 2px !important;
}

.dashboard-coluna a.btn[disabled],
.dashboard-coluna button.btn[disabled],
.dashboard-encerrados a.btn[disabled],
.dashboard-encerrados button.btn[disabled],
#boxEncerramentoRespondido a[disabled],
#boxEncerramentoRespondido button[disabled] {
    border-color: #64748b !important;
    background: #475569 !important;
    color: #e2e8f0 !important;
    opacity: .75 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

html[data-tema="escuro"] .dashboard-coluna a.btn,
html[data-tema="escuro"] .dashboard-coluna button.btn,
html[data-tema="escuro"] .dashboard-encerrados a.btn,
html[data-tema="escuro"] .dashboard-encerrados button.btn,
html[data-tema="escuro"] #boxEncerramentoRespondido a,
html[data-tema="escuro"] #boxEncerramentoRespondido button {
    border-color: #3b82f6 !important;
    background: #2563eb !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html[data-tema="escuro"] .dashboard-coluna a.btn:hover,
html[data-tema="escuro"] .dashboard-coluna button.btn:hover,
html[data-tema="escuro"] .dashboard-encerrados a.btn:hover,
html[data-tema="escuro"] .dashboard-encerrados button.btn:hover,
html[data-tema="escuro"] #boxEncerramentoRespondido a:hover,
html[data-tema="escuro"] #boxEncerramentoRespondido button:hover {
    border-color: #60a5fa !important;
    background: #1d4ed8 !important;
    color: #ffffff !important;
}

/* Botão de ação crítica do encerramento */
#boxEncerramentoRespondido a,
#boxEncerramentoRespondido button {
    min-width: 92px !important;
    border-color: #dc2626 !important;
    background: #dc2626 !important;
    box-shadow: 0 4px 10px rgba(220, 38, 38, .24) !important;
}

#boxEncerramentoRespondido a:hover,
#boxEncerramentoRespondido button:hover {
    border-color: #b91c1c !important;
    background: #b91c1c !important;
}

html[data-tema="escuro"] #boxEncerramentoRespondido a,
html[data-tema="escuro"] #boxEncerramentoRespondido button {
    border-color: #ef4444 !important;
    background: #dc2626 !important;
}

html[data-tema="escuro"] #boxEncerramentoRespondido a:hover,
html[data-tema="escuro"] #boxEncerramentoRespondido button:hover {
    border-color: #f87171 !important;
    background: #b91c1c !important;
}


/* Sprint 4.15 — Ajuste 11: refinamento do card prioritário */

/* Tema claro */
.dashboard-coluna-prioritaria {
    border-color: #f0b28e !important;
    background: #ffffff !important;
    box-shadow: 0 10px 26px rgba(127, 29, 29, .08) !important;
}

.dashboard-coluna-prioritaria .dashboard-coluna-cabecalho {
    border-bottom: 1px solid #f4c7aa !important;
    background: #fff3ec !important;
    color: #7f1d1d !important;
}

.dashboard-coluna-prioritaria .dashboard-coluna-cabecalho h2,
.dashboard-coluna-prioritaria .dashboard-coluna-cabecalho span {
    color: #7f1d1d !important;
    -webkit-text-fill-color: #7f1d1d !important;
}

.dashboard-coluna-prioritaria .dashboard-prioridade-contador {
    border: 1px solid #ef4444 !important;
    background: #ffffff !important;
    color: #b91c1c !important;
    -webkit-text-fill-color: #b91c1c !important;
}

.dashboard-coluna-prioritaria .dashboard-coluna-conteudo {
    background: #ffffff !important;
    color: #1f2937 !important;
}

/* Abrir agora: cobre links e botões reais, com ou sem classe btn */
.dashboard-coluna-prioritaria a,
.dashboard-coluna-prioritaria button,
#boxEncerramentoRespondido a,
#boxEncerramentoRespondido button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 92px !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border: 1px solid #dc2626 !important;
    border-radius: 9px !important;
    background: #dc2626 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(220, 38, 38, .22) !important;
    -webkit-text-fill-color: #ffffff !important;
}

.dashboard-coluna-prioritaria a:hover,
.dashboard-coluna-prioritaria button:hover,
#boxEncerramentoRespondido a:hover,
#boxEncerramentoRespondido button:hover {
    border-color: #b91c1c !important;
    background: #b91c1c !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.dashboard-coluna-prioritaria a:focus-visible,
.dashboard-coluna-prioritaria button:focus-visible,
#boxEncerramentoRespondido a:focus-visible,
#boxEncerramentoRespondido button:focus-visible {
    outline: 3px solid rgba(248, 113, 113, .38) !important;
    outline-offset: 2px !important;
}

/* Estado realmente desabilitado */
.dashboard-coluna-prioritaria a[aria-disabled="true"],
.dashboard-coluna-prioritaria button:disabled,
#boxEncerramentoRespondido a[aria-disabled="true"],
#boxEncerramentoRespondido button:disabled {
    border-color: #94a3b8 !important;
    background: #cbd5e1 !important;
    color: #475569 !important;
    opacity: .8 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    -webkit-text-fill-color: #475569 !important;
}

/* Tema escuro preservado */
html[data-tema="escuro"] .dashboard-coluna-prioritaria {
    border-color: #9a4b13 !important;
    background: #111d30 !important;
}

html[data-tema="escuro"]
.dashboard-coluna-prioritaria .dashboard-coluna-cabecalho {
    border-bottom-color: #6f3918 !important;
    background: #3a1f10 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"]
.dashboard-coluna-prioritaria .dashboard-coluna-cabecalho h2,
html[data-tema="escuro"]
.dashboard-coluna-prioritaria .dashboard-coluna-cabecalho span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html[data-tema="escuro"]
.dashboard-coluna-prioritaria .dashboard-prioridade-contador {
    border-color: #ef4444 !important;
    background: #201313 !important;
    color: #fecaca !important;
    -webkit-text-fill-color: #fecaca !important;
}

html[data-tema="escuro"]
.dashboard-coluna-prioritaria .dashboard-coluna-conteudo {
    background: #111d30 !important;
    color: #e5edf7 !important;
}

html[data-tema="escuro"] .dashboard-coluna-prioritaria a,
html[data-tema="escuro"] .dashboard-coluna-prioritaria button,
html[data-tema="escuro"] #boxEncerramentoRespondido a,
html[data-tema="escuro"] #boxEncerramentoRespondido button {
    border-color: #ef4444 !important;
    background: #dc2626 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html[data-tema="escuro"] .dashboard-coluna-prioritaria a:hover,
html[data-tema="escuro"] .dashboard-coluna-prioritaria button:hover,
html[data-tema="escuro"] #boxEncerramentoRespondido a:hover,
html[data-tema="escuro"] #boxEncerramentoRespondido button:hover {
    border-color: #f87171 !important;
    background: #b91c1c !important;
}


/* Sprint 4.16 — card prioritário sempre presente após AJAX */
#boxEncerramentoRespondidoWrapper[hidden] {
    display: block !important;
}
#boxEncerramentoRespondidoWrapper .dashboard-vazio {
    color: var(--cor-muted);
    text-align: center;
}
html[data-tema="escuro"]
#boxEncerramentoRespondidoWrapper .dashboard-vazio {
    color: #a9bdd4 !important;
}


/* --- Alertas alertas.php — bloco CSS 1/1 --- */
.alertas-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .alertas-cabecalho-principal {
            min-width: 0;
        }

        .alertas-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .alertas-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #ef4444;
            box-shadow: 0 0 0 5px rgba(239, 68, 68, 0.11);
        }

        .alertas-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .alertas-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .alertas-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .alertas-atualizacao {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 7px 10px;
            border: 1px solid var(--cor-borda);
            border-radius: 999px;
            background: #f8fafc;
            color: var(--cor-muted);
            font-size: 11px;
            font-weight: 800;
        }

        .alertas-atualizacao::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.11);
        }

        .alertas-cards {
            grid-template-columns:
                repeat(auto-fit, minmax(200px, 1fr));
            gap: 14px;
        }

        .alertas-card {
            min-height: 122px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .alertas-card-topo {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .alertas-card-icone {
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(15, 23, 42, 0.06);
            border-radius: 11px;
            background: rgba(255, 255, 255, 0.74);
            font-size: 17px;
        }

        .alertas-card .numero {
            margin-top: 15px;
        }

        .alertas-filtros {
            padding: 16px;
        }

        .alertas-filtros-cabecalho {
            margin-bottom: 13px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
        }

        .alertas-filtros-cabecalho strong {
            color: var(--cor-texto-forte);
            font-size: 14px;
        }

        .alertas-filtros-cabecalho span {
            color: var(--cor-muted);
            font-size: 11px;
        }

        .alertas-filtros form {
            display: grid;
            grid-template-columns:
                minmax(240px, 1.5fr)
                minmax(170px, 0.7fr)
                auto
                auto;
            gap: 10px;
            align-items: center;
        }

        .alertas-filtros input,
        .alertas-filtros select,
        .alertas-filtros button,
        .alertas-filtros .btn-limpar {
            width: 100%;
            margin: 0;
        }

        .btn-limpar {
            min-height: 40px;
            padding: 9px 13px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--cor-borda);
            border-radius: 10px;
            background: #f8fafc;
            color: #475569;
            font-size: 12px;
            font-weight: 800;
            text-decoration: none;
        }

        .btn-limpar:hover {
            border-color: #cfd9e7;
            background: #eef2f7;
            color: #334155;
        }

        .alertas-lista-box {
            padding: 0;
            overflow: hidden;
        }

        .alertas-lista-header {
            padding: 15px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            border-bottom: 1px solid var(--cor-borda);
            background:
                linear-gradient(
                    135deg,
                    #ffffff,
                    #f8fafc
                );
        }

        .alertas-lista-header strong {
            color: var(--cor-texto-forte);
            font-size: 14px;
        }

        .alertas-lista-header span {
            color: var(--cor-muted);
            font-size: 11px;
        }

        .alertas-lista-conteudo {
            overflow-x: auto;
        }

        .alertas-lista-conteudo table {
            min-width: 1180px;
            margin: 0;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }

        .alertas-lista-conteudo th,
        .alertas-lista-conteudo td {
            padding: 11px 10px;
        }

        .alertas-lista-conteudo td:first-child {
            color: var(--cor-muted);
            font-weight: 800;
        }

        .alerta-cliente {
            color: var(--cor-texto-forte);
            font-weight: 900;
        }

        .alerta-numero {
            color: #475569;
            font-family:
                ui-monospace,
                SFMono-Regular,
                Menlo,
                Monaco,
                Consolas,
                monospace;
            font-size: 12px;
        }

        .alerta-tipo {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 5px 9px;
            border: 1px solid #fde2e2;
            border-radius: 999px;
            background: #fff7f7;
            color: #b42318;
            font-size: 11px;
            font-weight: 900;
        }

        .alertas-lista-conteudo .acao a {
            min-height: 32px;
            padding: 7px 10px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            background: #eef4ff;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            text-decoration: none;
        }

        .alertas-lista-conteudo .acao a:hover {
            background: var(--cor-primaria);
            color: #ffffff;
        }

        .alertas-vazio {
            color: var(--cor-muted);
            text-align: center;
        }

        @media (max-width: 900px) {
            .alertas-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .alertas-filtros form {
                grid-template-columns: 1fr 1fr;
            }

            .alertas-filtros form > :first-child {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 620px) {
            .alertas-cabecalho {
                padding: 17px;
            }

            .alertas-cabecalho h2 {
                font-size: 22px;
            }

            .alertas-cards {
                grid-template-columns: 1fr;
            }

            .alertas-filtros form {
                grid-template-columns: 1fr;
            }

            .alertas-filtros form > :first-child {
                grid-column: auto;
            }

            .alertas-filtros-cabecalho,
            .alertas-lista-header {
                align-items: flex-start;
                flex-direction: column;
            }
        }

/* =========================================================================
   Sprint 4.25 — Bloco 6
   Indicadores / BI — migração do CSS local para o Design System
   =========================================================================

   Origem: indicadores.php

   Estratégia:
   - remover o bloco <style> da página;
   - preservar as regras existentes, sem redesign neste momento;
   - manter toda a lógica de filtros, métricas, gráficos e auditoria intacta;
   - simplificação futura somente após homologação em claro/escuro.
   ========================================================================= */

/* --- Indicadores/BI: CSS legado migrado do indicadores.php --- */
.indicadores-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .indicadores-cabecalho-principal {
            min-width: 0;
        }

        .indicadores-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .indicadores-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.11);
        }

        .indicadores-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .indicadores-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .indicadores-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .indicadores-atualizacao {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 7px 10px;
            border: 1px solid var(--cor-borda);
            border-radius: 999px;
            background: #f8fafc;
            color: var(--cor-muted);
            font-size: 11px;
            font-weight: 800;
        }

        .indicadores-atualizacao::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.11);
        }

        .indicadores-cards {
            grid-template-columns:
                repeat(auto-fit, minmax(190px, 1fr));
            gap: 14px;
        }

        .indicadores-card {
            min-height: 136px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .indicadores-card-topo {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .indicadores-card-icone {
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(15, 23, 42, 0.06);
            border-radius: 11px;
            background: rgba(255, 255, 255, 0.74);
            font-size: 17px;
        }

        .indicadores-card .numero {
            margin-top: 14px;
        }

        .indicadores-card .badge {
            align-self: flex-start;
            margin-top: 10px;
        }

        .indicadores-card-texto .numero {
            font-size: 21px;
            line-height: 1.18;
            white-space: normal;
        }

        .indicadores-secao {
            padding: 0;
            overflow: hidden;
        }

        .indicadores-secao-header {
            padding: 15px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            border-bottom: 1px solid var(--cor-borda);
            background:
                linear-gradient(
                    135deg,
                    #ffffff,
                    #f8fafc
                );
        }

        .indicadores-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .indicadores-secao-header span {
            color: var(--cor-muted);
            font-size: 11px;
        }

        .indicadores-secao-conteudo {
            padding: 14px;
            overflow-x: auto;
        }

        .indicadores-secao table {
            margin: 0;
            border: 0;
            box-shadow: none;
        }

        .indicadores-dupla {
            grid-template-columns: 1fr 1fr;
            gap: 14px;
            margin-top: 14px;
        }

        .indicadores-ranking-total {
            font-weight: 900;
            color: var(--cor-texto-forte);
        }

        .indicadores-ranking-posicao {
            width: 28px;
            height: 28px;
            display: inline-grid;
            place-items: center;
            border-radius: 9px;
            background: #eef4ff;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
        }

        .indicadores-tecnicos {
            margin-top: 14px;
        }

        .indicadores-tecnicos table {
            min-width: 650px;
        }

        .indicadores-resumo {
            margin-top: 14px;
        }

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

        .indicadores-resumo-item {
            padding: 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 12px;
            background: #f8fafc;
        }

        .indicadores-resumo-item span {
            display: block;
            margin-bottom: 5px;
            color: var(--cor-muted);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        .indicadores-resumo-item strong {
            display: block;
            color: var(--cor-texto-forte);
            font-size: 15px;
            line-height: 1.35;
        }

        @media (max-width: 980px) {
            .indicadores-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .indicadores-dupla {
                grid-template-columns: 1fr;
            }

            .indicadores-resumo-grid {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (max-width: 620px) {
            .indicadores-cabecalho {
                padding: 17px;
            }

            .indicadores-cabecalho h2 {
                font-size: 22px;
            }

            .indicadores-cards {
                grid-template-columns: 1fr;
            }

            .indicadores-secao-header {
                align-items: flex-start;
                flex-direction: column;
            }

            .indicadores-resumo-grid {
                grid-template-columns: 1fr;
            }
        }

/* =========================================================================
   Sprint 4.25 — Hotfix 6.1
   Indicadores / BI — Auditoria no tema claro
   =========================================================================

   A regra legada de .bi-auditoria-item usava variáveis inexistentes:
   --border-color e --surface-2, com fallback escuro (#2b405d / #132239).
   No tema claro isso fazia os cards de auditoria parecerem componentes do
   tema escuro e reduzia drasticamente o contraste do texto.

   Este hotfix normaliza o componente usando os tokens oficiais do GestWAI.
   ========================================================================= */

.bi-auditoria-item {
    border-color: var(--cor-borda);
    background: var(--cor-card);
    color: var(--cor-texto);
}

.bi-auditoria-item strong {
    color: var(--cor-texto-forte);
}

.bi-auditoria-item span {
    color: var(--cor-muted);
    opacity: 1;
}

html[data-tema="escuro"] .bi-auditoria-item {
    border-color: var(--cor-borda);
    background: var(--cor-card);
    color: var(--cor-texto);
}

html[data-tema="escuro"] .bi-auditoria-item strong {
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .bi-auditoria-item span {
    color: var(--cor-muted);
}

/* =========================================================================
   Sprint 4.25 — Bloco 7
   Configurações / Administração — Lote 1
   =========================================================================

   Páginas:
   - Configuração de Alertas
   - Consumo de IA
   - Mensagens Rápidas
   - Saúde do Sistema

   Estratégia:
   - retirar CSS local dos PHP;
   - preservar regras e ordem de especificidade;
   - não alterar permissões, formulários, CSRF, SQL ou rotas;
   - migrar Administração em lotes menores para reduzir risco.
   ========================================================================= */


/* --- Configuração de Alertas (admin/alertas_config.php) --- */
.alertas-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .alertas-cabecalho-principal {
            min-width: 0;
        }

        .alertas-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .alertas-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #f59e0b;
            box-shadow: 0 0 0 5px rgba(245,158,11,.12);
        }

        .alertas-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .alertas-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .alertas-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .alertas-cabecalho-acoes {
            flex: 0 0 auto;
        }

        .alertas-cabecalho-acoes .btn {
            margin: 0;
        }

        .alertas-feedback {
            padding: 14px 16px;
            border-left: 5px solid;
        }

        .alertas-feedback-sucesso {
            border-left-color: #22c55e;
            background: #f0fdf4;
        }

        .alertas-feedback-erro {
            border-left-color: #ef4444;
            background: #fff1f2;
        }

        .alertas-grid {
            display: grid;
            grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
            gap: 14px;
            align-items: start;
        }

        .alertas-secao {
            padding: 0;
            overflow: hidden;
        }

        .alertas-secao-header {
            padding: 15px 17px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .alertas-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .alertas-secao-conteudo {
            padding: 18px;
        }

        .alertas-status {
            padding: 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 12px;
            background: #f8fafc;
        }

        .alertas-status strong {
            display: block;
            margin-bottom: 6px;
            color: var(--cor-texto-forte);
            font-size: 18px;
        }

        .alertas-opcoes {
            display: grid;
            grid-template-columns: 1fr;
            gap: 10px;
        }

        .alertas-opcao {
            padding: 12px 13px;
            display: flex;
            align-items: flex-start;
            gap: 9px;
            border: 1px solid var(--cor-borda);
            border-radius: 10px;
            background: #f8fafc;
        }

        .alertas-opcao input {
            margin-top: 2px;
        }

        .alertas-campo {
            margin-top: 16px;
        }

        .alertas-campo input[type="text"],
        .alertas-campo select {
            width: 100%;
            margin-top: 6px;
        }

        .alertas-tipos {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 9px;
        }

        .alertas-tipo {
            min-width: 170px;
            padding: 11px 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            border: 1px solid var(--cor-borda);
            border-radius: 10px;
            background: #f8fafc;
        }

        .alertas-acoes {
            margin-top: 18px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .alertas-acoes .btn {
            margin: 0;
        }

        .alertas-nota {
            padding: 14px 16px;
            border: 1px solid rgba(37,99,235,.15);
            border-radius: 12px;
            background: #f8fbff;
            color: #475569;
            font-size: 12px;
            line-height: 1.55;
        }

        @media (max-width: 900px) {
            .alertas-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .alertas-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 560px) {
            .alertas-cabecalho {
                padding: 17px;
            }

            .alertas-cabecalho h2 {
                font-size: 22px;
            }

            .alertas-cabecalho-acoes,
            .alertas-cabecalho-acoes .btn {
                width: 100%;
            }

            .alertas-acoes,
            .alertas-tipos {
                flex-direction: column;
                align-items: stretch;
            }

            .alertas-acoes .btn,
            .alertas-tipo {
                width: 100%;
            }
        }


/* --- Consumo de IA (admin/consumo_ia.php) --- */
.consumo-cabecalho {
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.consumo-cabecalho-principal {
    min-width: 0;
}

.consumo-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: var(--cor-primaria);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.consumo-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #7c3aed;
    box-shadow: 0 0 0 5px rgba(124,58,237,.11);
}

.consumo-cabecalho h2 {
    margin-bottom: 7px;
    font-size: 25px;
}

.consumo-cabecalho p {
    margin: 0;
    color: var(--cor-muted);
}

.consumo-contexto {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.consumo-cabecalho-acoes {
    flex: 0 0 auto;
}

.consumo-cabecalho-acoes .btn {
    margin: 0;
}

.consumo-filtros {
    display: flex;
    align-items: end;
    gap: 14px;
    flex-wrap: wrap;
}

.consumo-filtros-campo {
    min-width: 190px;
}

.consumo-filtros input,
.consumo-filtros select {
    width: 100%;
    margin-top: 6px;
}

.consumo-filtros .btn {
    margin: 0;
}

.consumo-cards {
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 14px;
}

.consumo-card {
    min-height: 125px;
}

.consumo-card .valor {
    margin-top: 14px;
    color: var(--cor-texto-forte);
    font-size: 25px;
    font-weight: 900;
    line-height: 1.2;
}

.consumo-secao {
    padding: 0;
    overflow: hidden;
}

.consumo-secao-header {
    padding: 15px 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg,#fff,#f8fafc);
}

.consumo-secao-header h2 {
    margin: 0;
    font-size: 17px;
}

.consumo-tabela {
    overflow-x: auto;
}

.consumo-tabela table {
    min-width: 900px;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.consumo-tabela-detalhes table {
    min-width: 1180px;
}

.consumo-tabela th,
.consumo-tabela td {
    padding: 11px 10px;
}

.consumo-vazio {
    padding: 26px;
    color: var(--cor-muted);
    text-align: center;
}

.consumo-nota {
    margin: 14px;
    padding: 12px 13px;
    border: 1px solid rgba(37,99,235,.15);
    border-radius: 10px;
    background: #f8fbff;
    color: #475569;
    font-size: 11px;
    line-height: 1.5;
}

@media (max-width: 820px) {
    .consumo-cabecalho {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .consumo-cabecalho {
        padding: 17px;
    }

    .consumo-cabecalho h2 {
        font-size: 22px;
    }

    .consumo-cabecalho-acoes,
    .consumo-cabecalho-acoes .btn,
    .consumo-filtros-campo {
        width: 100%;
        min-width: 0;
    }

    .consumo-filtros {
        align-items: stretch;
        flex-direction: column;
    }

    .consumo-filtros .btn {
        width: 100%;
    }
}


/* --- Mensagens Rápidas (admin/mensagens_rapidas.php) --- */
.rapidas-grid {
    display: grid;
    grid-template-columns: minmax(280px,.75fr) minmax(480px,1.25fr);
    gap: 16px;
}
.rapidas-card { padding: 18px; }
.rapidas-form-grid {
    display: grid;
    grid-template-columns: 1fr 120px;
    gap: 10px;
}
.rapidas-lista-item {
    margin-bottom: 10px;
    padding: 13px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: #fff;
}
.rapidas-lista-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.rapidas-acoes {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.rapidas-variaveis {
    padding: 12px;
    border-radius: 10px;
    background: #f8fafc;
    color: var(--cor-muted);
    font-size: 12px;
}
html[data-tema="escuro"] .rapidas-lista-item,
html[data-tema="escuro"] .rapidas-variaveis {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}
@media (max-width: 900px) {
    .rapidas-grid { grid-template-columns: 1fr; }
}


/* --- Saúde do Sistema (admin/saude_sistema.php) --- */
.saude-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .saude-cabecalho-principal {
            min-width: 0;
        }

        .saude-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .saude-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #10b981;
            box-shadow: 0 0 0 5px rgba(16,185,129,.11);
        }

        .saude-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .saude-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .saude-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .saude-cabecalho-acoes {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .saude-cabecalho-acoes .btn {
            margin: 0;
        }

        .saude-cards {
            grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
            gap: 14px;
        }

        .saude-card {
            min-height: 125px;
        }

        .saude-card .numero {
            margin-top: 12px;
            font-size: 24px;
            line-height: 1.2;
            white-space: normal;
            overflow-wrap: anywhere;
        }

        .saude-secao {
            padding: 0;
            overflow: hidden;
        }

        .saude-secao-header {
            padding: 15px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .saude-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .saude-tabela {
            overflow-x: auto;
        }

        .saude-tabela table {
            min-width: 960px;
            margin: 0;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }

        .saude-tabela-whatsapp table {
            min-width: 1500px;
        }

        .saude-tabela th,
        .saude-tabela td {
            padding: 11px 10px;
            vertical-align: top;
        }

        .saude-vazio {
            padding: 26px;
            color: var(--cor-muted);
            text-align: center;
        }

        .saude-nota {
            padding: 14px 16px;
            border: 1px solid rgba(37,99,235,.15);
            border-radius: 12px;
            background: #f8fbff;
            color: #475569;
            font-size: 12px;
            line-height: 1.55;
        }

        @media (max-width: 820px) {
            .saude-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .saude-cabecalho-acoes {
                width: 100%;
            }
        }

        @media (max-width: 560px) {
            .saude-cabecalho {
                padding: 17px;
            }

            .saude-cabecalho h2 {
                font-size: 22px;
            }

            .saude-cabecalho-acoes,
            .saude-cabecalho-acoes .btn {
                width: 100%;
            }
        }

/* =========================================================================
   Sprint 4.25 — Bloco 8
   Alertas e BI dentro do módulo WhatsApp
   ========================================================================= */

.gestwai-whatsapp-alertas-card {
    margin-top: 18px;
}

.gestwai-whatsapp-alertas-card .alertas-grid {
    grid-template-columns: minmax(0, 1fr);
}

.gestwai-whatsapp-alertas-card .alertas-status {
    display: none;
}

.gestwai-whatsapp-alertas-card .alertas-secao-conteudo {
    padding: 16px;
}

.gestwai-whatsapp-alertas-card .alertas-nota {
    margin: 0 16px 16px;
    border-color: var(--cor-borda);
    background: var(--cor-card);
    color: var(--cor-muted);
}

html[data-tema="escuro"] .gestwai-whatsapp-alertas-card .alertas-secao-header,
html[data-tema="escuro"] .gestwai-whatsapp-alertas-card .alertas-opcao,
html[data-tema="escuro"] .gestwai-whatsapp-alertas-card .alertas-tipo,
html[data-tema="escuro"] .gestwai-whatsapp-alertas-card .alertas-nota {
    background: var(--cor-card);
    color: var(--cor-texto);
}

/* =========================================================================
   Sprint 4.25 — Bloco 9
   Administração — Empresas + Usuários + Feriados
   =========================================================================

   Estratégia:
   - remover CSS local dos PHP;
   - preservar regras e ordem interna dos blocos;
   - não alterar formulários, permissões, CSRF, SQL ou multiempresa;
   - centralizar primeiro; simplificar/remover redundâncias somente depois
     da homologação das telas.
   ========================================================================= */


/* --- Empresas (admin/empresas.php) — bloco CSS 1/1 --- */
.empresas-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .empresas-cabecalho-principal {
            min-width: 0;
        }

        .empresas-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .empresas-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16,185,129,.11);
        }

        .empresas-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .empresas-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .empresas-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .empresas-cabecalho-acoes {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .empresas-cabecalho-acoes .btn {
            margin: 0;
        }

        .empresas-cards {
            grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
            gap: 14px;
        }

        .empresas-card {
            min-height: 120px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .empresas-card-topo {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .empresas-card-icone {
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(15,23,42,.06);
            border-radius: 11px;
            background: rgba(255,255,255,.74);
            font-size: 17px;
        }

        .empresas-card .numero {
            margin-top: 15px;
        }

        .empresas-feedback {
            padding: 14px 16px;
            border-left-width: 5px;
            border-left-style: solid;
        }

        .empresas-feedback-sucesso {
            border-left-color: #22c55e;
            background: #f0fdf4;
        }

        .empresas-feedback-erro {
            border-left-color: #ef4444;
            background: #fff1f2;
        }

        .empresas-lista-box {
            padding: 0;
            overflow: hidden;
        }

        .empresas-lista-header {
            padding: 15px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .empresas-lista-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .empresas-lista-header span {
            color: var(--cor-muted);
            font-size: 11px;
        }

        .empresas-lista-conteudo {
            overflow-x: auto;
        }

        .empresas-lista-conteudo table {
            min-width: 1180px;
            margin: 0;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }

        .empresas-lista-conteudo th,
        .empresas-lista-conteudo td {
            padding: 11px 10px;
        }

        .empresa-nome {
            color: var(--cor-texto-forte);
            font-weight: 900;
        }

        .empresa-acoes {
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
        }

        .empresa-acoes .btn,
        .empresa-acoes button {
            margin: 0;
            min-height: 32px;
            padding: 7px 10px;
            font-size: 11px;
        }

        .empresa-acoes form {
            margin: 0;
        }

        .empresas-nota {
            margin: 14px;
            padding: 12px 13px;
            border: 1px solid rgba(245,158,11,.20);
            border-radius: 11px;
            background: #fffaf0;
            color: #92400e;
            font-size: 11px;
            line-height: 1.5;
        }

        .empresas-vazio {
            color: var(--cor-muted);
            text-align: center;
        }

        @media (max-width: 900px) {
            .empresas-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .empresas-cabecalho-acoes {
                justify-content: flex-start;
            }
        }

        @media (max-width: 560px) {
            .empresas-cabecalho {
                padding: 17px;
            }

            .empresas-cabecalho h2 {
                font-size: 22px;
            }

            .empresas-cabecalho-acoes,
            .empresas-cabecalho-acoes .btn {
                width: 100%;
            }

            .empresas-cards {
                grid-template-columns: 1fr 1fr;
            }

            .empresas-lista-header {
                align-items: flex-start;
                flex-direction: column;
            }
        }

        @media (max-width: 390px) {
            .empresas-cards {
                grid-template-columns: 1fr;
            }
        }


/* --- Usuários (admin/usuarios.php) — bloco CSS 1/2 --- */
.usuarios-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .usuarios-cabecalho-principal {
            min-width: 0;
        }

        .usuarios-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .usuarios-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16,185,129,.11);
        }

        .usuarios-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .usuarios-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .usuarios-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .usuarios-cabecalho-acoes {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .usuarios-cabecalho-acoes .btn {
            margin: 0;
        }

        .usuarios-cards {
            grid-template-columns:
                repeat(auto-fit, minmax(170px, 1fr));
            gap: 14px;
        }

        .usuarios-card {
            min-height: 120px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .usuarios-card-topo {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .usuarios-card-icone {
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(15,23,42,.06);
            border-radius: 11px;
            background: rgba(255,255,255,.74);
            font-size: 17px;
        }

        .usuarios-card .numero {
            margin-top: 15px;
        }

        .usuarios-filtros {
            padding: 0;
            overflow: hidden;
        }

        .usuarios-secao-header {
            padding: 15px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .usuarios-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .usuarios-secao-header span {
            color: var(--cor-muted);
            font-size: 11px;
        }

        .usuarios-filtros-conteudo {
            padding: 17px;
        }

        .usuarios-filtros-grid {
            display: grid;
            grid-template-columns:
                repeat(4, minmax(180px, 1fr));
            gap: 14px;
        }

        .usuarios-filtros-grid select,
        .usuarios-filtros-grid input {
            width: 100%;
            margin: 6px 0 0;
        }

        .usuarios-filtros-acoes {
            margin-top: 15px;
            padding-top: 15px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            border-top: 1px solid var(--cor-borda);
        }

        .usuarios-filtros-acoes .btn {
            margin: 0;
        }

        .usuarios-lista-box {
            padding: 0;
            overflow: hidden;
        }

        .usuarios-lista-conteudo {
            overflow-x: auto;
        }

        .usuarios-lista-conteudo table {
            min-width: 1120px;
            margin: 0;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }

        .usuarios-lista-conteudo th,
        .usuarios-lista-conteudo td {
            padding: 11px 10px;
        }

        .usuarios-nome {
            color: var(--cor-texto-forte);
            font-weight: 900;
        }

        .usuarios-email {
            color: #475569;
            font-size: 12px;
        }

        .usuarios-lista-conteudo .acao .btn {
            min-height: 32px;
            padding: 7px 10px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            font-size: 11px;
            font-weight: 900;
            text-decoration: none;
        }

        .usuarios-nota {
            padding: 13px 15px;
            border: 1px solid rgba(37,99,255,.14);
            border-radius: 12px;
            background: #f7faff;
            color: var(--cor-muted);
            font-size: 12px;
            line-height: 1.55;
        }

        .usuarios-vazio {
            color: var(--cor-muted);
            text-align: center;
        }

        @media (max-width: 980px) {
            .usuarios-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .usuarios-cabecalho-acoes {
                justify-content: flex-start;
            }

            .usuarios-filtros-grid {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (max-width: 620px) {
            .usuarios-cabecalho {
                padding: 17px;
            }

            .usuarios-cabecalho h2 {
                font-size: 22px;
            }

            .usuarios-cabecalho-acoes,
            .usuarios-cabecalho-acoes .btn {
                width: 100%;
            }

            .usuarios-cards {
                grid-template-columns: 1fr 1fr;
            }

            .usuarios-filtros-grid {
                grid-template-columns: 1fr;
            }

            .usuarios-filtros-acoes {
                flex-direction: column;
                align-items: stretch;
            }

            .usuarios-filtros-acoes .btn {
                width: 100%;
            }

            .usuarios-secao-header {
                align-items: flex-start;
                flex-direction: column;
            }
        }

        @media (max-width: 390px) {
            .usuarios-cards {
                grid-template-columns: 1fr;
            }
        }


/* --- Usuários (admin/usuarios.php) — bloco CSS 2/2 --- */
/* Sprint 4.17.1.1 — contraste final da administração de usuários. */
html[data-tema="escuro"] .usuarios-email,
html[data-tema="escuro"] .usuarios-lista-conteudo .mensagem {color:#b5c6da !important;}
html[data-tema="escuro"] .usuarios-lista-conteudo .usuarios-nome {color:#f8fafc !important;}
html[data-tema="escuro"] .usuarios-lista-conteudo .acao {white-space:nowrap;}
html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-editar {
    border:1px solid #5f92ef !important;background:#2457a7 !important;color:#fff !important;opacity:1 !important;text-shadow:none !important;
}
html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-editar:hover {border-color:#8bb5ff !important;background:#2f6bc5 !important;color:#fff !important;}
html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-permissoes {
    border:1px solid #4b607d !important;background:#1a2a42 !important;color:#e5edf7 !important;opacity:1 !important;text-shadow:none !important;
}
html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-permissoes:hover {border-color:#6c8db6 !important;background:#223754 !important;color:#fff !important;}
html[data-tema="escuro"] .usuarios-nota {border-color:#334966 !important;background:#142238 !important;color:#b5c6da !important;}


/* --- Feriados (admin/feriados.php) — bloco CSS 1/1 --- */
.feriados-cabecalho {
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.feriados-cabecalho-principal {
    min-width: 0;
}

.feriados-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: var(--cor-primaria);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.feriados-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cor-secundaria);
    box-shadow: 0 0 0 5px rgba(16,185,129,.11);
}

.feriados-cabecalho h2 {
    margin-bottom: 7px;
    font-size: 25px;
}

.feriados-cabecalho p {
    margin: 0;
    color: var(--cor-muted);
}

.feriados-contexto {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.feriados-cabecalho-acoes {
    flex: 0 0 auto;
}

.feriados-cabecalho-acoes .btn {
    margin: 0;
}

.feriados-feedback {
    padding: 14px 16px;
    border-left-width: 5px;
    border-left-style: solid;
}

.feriados-feedback-sucesso {
    border-left-color: #22c55e;
    background: #f0fdf4;
}

.feriados-feedback-erro {
    border-left-color: #ef4444;
    background: #fff1f2;
}

.feriados-filtro {
    display: flex;
    align-items: end;
    gap: 14px;
    flex-wrap: wrap;
}

.feriados-filtro-campo {
    min-width: 280px;
}

.feriados-filtro select {
    width: 100%;
    margin-top: 6px;
}

.feriados-grid {
    display: grid;
    grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr);
    gap: 14px;
    align-items: start;
}

.feriados-secao {
    padding: 0;
    overflow: hidden;
}

.feriados-secao-header {
    padding: 15px 17px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg,#fff,#f8fafc);
}

.feriados-secao-header h2 {
    margin: 0;
    font-size: 17px;
}

.feriados-secao-conteudo {
    padding: 18px;
}

.feriados-campo {
    margin-bottom: 15px;
}

.feriados-campo:last-child {
    margin-bottom: 0;
}

.feriados-campo input[type="text"],
.feriados-campo input[type="date"] {
    width: 100%;
    margin-top: 6px;
}

.feriados-switch {
    padding: 12px 13px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    background: #f8fafc;
}

.feriados-switch + .feriados-switch {
    margin-top: 10px;
}

.feriados-switch label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0;
}

.feriados-switch input {
    margin-top: 2px;
}

.feriados-switch small {
    display: block;
    margin-top: 4px;
    color: var(--cor-muted);
    font-size: 11px;
    line-height: 1.45;
}

.feriados-lista-conteudo {
    overflow-x: auto;
}

.feriados-lista-conteudo table {
    min-width: 760px;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.feriados-lista-conteudo th,
.feriados-lista-conteudo td {
    padding: 11px 10px;
}

.feriados-acoes {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.feriados-acoes form {
    margin: 0;
}

.feriados-acoes .btn {
    margin: 0;
    min-height: 32px;
    padding: 7px 10px;
    font-size: 11px;
}

.feriados-vazio {
    color: var(--cor-muted);
    text-align: center;
}

.feriados-nota {
    margin: 14px;
    padding: 12px 13px;
    border: 1px solid rgba(37,99,235,.15);
    border-radius: 10px;
    background: #f8fbff;
    color: #475569;
    font-size: 11px;
    line-height: 1.5;
}

.feriados-rodape-acoes {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.feriados-rodape-acoes .btn {
    margin: 0;
}

@media (max-width: 900px) {
    .feriados-cabecalho {
        align-items: flex-start;
        flex-direction: column;
    }

    .feriados-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .feriados-cabecalho {
        padding: 17px;
    }

    .feriados-cabecalho h2 {
        font-size: 22px;
    }

    .feriados-cabecalho-acoes,
    .feriados-cabecalho-acoes .btn,
    .feriados-filtro-campo {
        width: 100%;
        min-width: 0;
    }

    .feriados-rodape-acoes {
        flex-direction: column;
        align-items: stretch;
    }

    .feriados-rodape-acoes .btn {
        width: 100%;
    }
}

/* =========================================================================
   Sprint 4.25 — Hotfix 9.1
   Empresas + Usuários — contraste claro/escuro
   ========================================================================= */

/*
| EMPRESAS
| A nota de segurança tinha fundo claro fixo (#fffaf0), adequado ao tema claro,
| mas sem contraparte para o tema escuro. Mantemos o aspecto de aviso usando
| amarelo/âmbar sem criar uma superfície clara dentro do tema escuro.
*/
html[data-tema="escuro"] .empresas-nota {
    border-color: rgba(245, 158, 11, .35);
    background: rgba(245, 158, 11, .10);
    color: #fcd34d;
}

/*
| USUÁRIOS
| Os botões Editar e Permissões dependiam do estilo genérico .btn/.btn-cinza
| no tema claro e só possuíam correções explícitas no tema escuro.
| Isso permitia conflito de cor após a centralização do CSS.
|
| Definimos agora os dois estados no próprio componente da tela.
*/
.usuarios-lista-conteudo .acao {
    white-space: nowrap;
}

.usuarios-lista-conteudo .acao .usuarios-btn-editar {
    border: 1px solid var(--cor-primaria) !important;
    background: var(--cor-primaria) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.usuarios-lista-conteudo .acao .usuarios-btn-editar:hover {
    border-color: #1d4ed8 !important;
    background: #1d4ed8 !important;
    color: #ffffff !important;
}

.usuarios-lista-conteudo .acao .usuarios-btn-permissoes {
    border: 1px solid var(--cor-borda-forte) !important;
    background: #64748b !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.usuarios-lista-conteudo .acao .usuarios-btn-permissoes:hover {
    border-color: #475569 !important;
    background: #475569 !important;
    color: #ffffff !important;
}

/* Mantém o tratamento já homologado do tema escuro. */
html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-editar {
    border-color: #5f92ef !important;
    background: #2457a7 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-editar:hover {
    border-color: #8bb5ff !important;
    background: #2f6bc5 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-permissoes {
    border-color: #4b607d !important;
    background: #1a2a42 !important;
    color: #e5edf7 !important;
}

html[data-tema="escuro"] .usuarios-lista-conteudo .acao .usuarios-btn-permissoes:hover {
    border-color: #6c8db6 !important;
    background: #223754 !important;
    color: #ffffff !important;
}

/* =========================================================================
   Sprint 4.25 — Bloco 10
   Personalização — CSS dinâmico normalizado no Design System
   =========================================================================

   As referências PHP de cor foram substituídas por:
   --gestwai-cor-primaria
   --gestwai-cor-secundaria

   Essas variáveis já são aplicadas dinamicamente pelo header.php conforme
   a empresa selecionada. Assim o PHP deixa de gerar CSS estrutural nesta tela.
   ========================================================================= */

.personalizacao-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .personalizacao-cabecalho-principal {
            min-width: 0;
        }

        .personalizacao-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .personalizacao-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #7c3aed;
            box-shadow: 0 0 0 5px rgba(124,58,237,.11);
        }

        .personalizacao-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .personalizacao-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .personalizacao-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .personalizacao-cabecalho-acoes {
            flex: 0 0 auto;
        }

        .personalizacao-cabecalho-acoes .btn {
            margin: 0;
        }

        .personalizacao-feedback {
            padding: 14px 16px;
            border-left: 5px solid;
        }

        .personalizacao-feedback-sucesso {
            border-left-color: #22c55e;
            background: #f0fdf4;
        }

        .personalizacao-feedback-erro {
            border-left-color: #ef4444;
            background: #fff1f2;
        }

        .personalizacao-grid {
            display: grid;
            grid-template-columns: minmax(0,1fr) minmax(340px,.8fr);
            gap: 14px;
            align-items: start;
        }

        .personalizacao-secao {
            padding: 0;
            overflow: hidden;
        }

        .personalizacao-secao-header {
            padding: 15px 17px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .personalizacao-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .personalizacao-secao-conteudo {
            padding: 18px;
        }

        .personalizacao-campo {
            margin-bottom: 17px;
        }

        .personalizacao-campo:last-child {
            margin-bottom: 0;
        }

        .personalizacao-campo input[type="text"],
        .personalizacao-campo input[type="file"] {
            width: 100%;
            margin-top: 6px;
        }

        .personalizacao-logo-atual {
            margin: 10px 0 12px;
            min-height: 116px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 12px;
            background: #f8fafc;
        }

        .personalizacao-logo-atual img {
            display: block;
            max-width: 260px;
            max-height: 105px;
            object-fit: contain;
        }

        .personalizacao-cores {
            display: grid;
            grid-template-columns: repeat(2,minmax(0,1fr));
            gap: 14px;
        }

        .personalizacao-cor {
            padding: 13px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #f8fafc;
        }

        .personalizacao-cor input[type="color"] {
            width: 100%;
            height: 46px;
            margin: 8px 0;
            padding: 3px;
            border: 1px solid var(--cor-borda);
            border-radius: 9px;
            background: #fff;
            cursor: pointer;
        }

        .personalizacao-cor-codigo {
            color: var(--cor-muted);
            font-size: 12px;
            font-family: monospace;
        }

        .personalizacao-acoes {
            margin-top: 18px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .personalizacao-acoes .btn {
            margin: 0;
        }

        .personalizacao-preview {
            padding: 22px;
            border: 1px solid var(--cor-borda);
            border-left: 8px solid var(--gestwai-cor-primaria);
            border-radius: 14px;
            background:
                linear-gradient(
                    135deg,
                    #ffffff,
                    #f8fafc
                );
        }

        .personalizacao-preview-logo {
            max-width: 220px;
            max-height: 90px;
            display: block;
            margin-bottom: 17px;
            object-fit: contain;
        }

        .personalizacao-preview h2 {
            margin: 0;
            color: var(--gestwai-cor-primaria);
            font-size: 25px;
        }

        .personalizacao-preview p {
            color: var(--cor-muted);
            line-height: 1.55;
        }

        .personalizacao-preview button {
            padding: 10px 15px;
            border: 0;
            border-radius: 9px;
            background: var(--gestwai-cor-secundaria);
            color: #fff;
            font-weight: 800;
        }

        .personalizacao-nota {
            padding: 14px 16px;
            border: 1px solid rgba(37,99,235,.15);
            border-radius: 12px;
            background: #f8fbff;
            color: #475569;
            font-size: 12px;
            line-height: 1.55;
        }

        @media (max-width: 900px) {
            .personalizacao-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .personalizacao-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 560px) {
            .personalizacao-cabecalho {
                padding: 17px;
            }

            .personalizacao-cabecalho h2 {
                font-size: 22px;
            }

            .personalizacao-cabecalho-acoes,
            .personalizacao-cabecalho-acoes .btn {
                width: 100%;
            }

            .personalizacao-cores {
                grid-template-columns: 1fr;
            }

            .personalizacao-acoes {
                flex-direction: column;
                align-items: stretch;
            }

            .personalizacao-acoes .btn {
                width: 100%;
            }
        }

/* =========================================================================
   Sprint 4.25 — Bloco 11
   Módulo WhatsApp — centralização completa do CSS local
   =========================================================================

   Origem: admin/whatsapp.php

   Estratégia:
   - todos os blocos <style> da página foram movidos para o Design System;
   - ordem relativa preservada;
   - branding dinâmico usa as variáveis já aplicadas pelo header;
   - nenhuma regra funcional de sessão, QR, grupos, filas, triagem,
     Alertas e BI ou auditoria foi alterada.
   ========================================================================= */


/* --- WhatsApp — bloco CSS legado 1/1 --- */
.whatsapp-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .whatsapp-cabecalho-principal {
            min-width: 0;
        }

        .whatsapp-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .whatsapp-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #10b981;
            box-shadow: 0 0 0 5px rgba(16,185,129,.11);
        }

        .whatsapp-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .whatsapp-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .whatsapp-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .whatsapp-cabecalho-acoes {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 10px;
            flex-wrap: wrap;
        }

        .whatsapp-cabecalho-acoes .btn {
            margin: 0;
        }
.whatsapp-feedback {
            padding: 14px 16px;
            border-left-width: 5px;
            border-left-style: solid;
        }

        .whatsapp-feedback-sucesso {
            border-left-color: #22c55e;
            background: #f0fdf4;
        }

        .whatsapp-feedback-erro {
            border-left-color: #ef4444;
            background: #fff1f2;
        }

        .whatsapp-feedback-alerta {
            border-left-color: #f59e0b;
            background: #fffbeb;
        }

        .whatsapp-filtro {
            display: flex;
            align-items: end;
            gap: 14px;
            flex-wrap: wrap;
        }

        .whatsapp-filtro-campo {
            min-width: 280px;
        }

        .whatsapp-filtro select {
            width: 100%;
            margin-top: 6px;
        }

        .whatsapp-cards {
            grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
            gap: 14px;
        }

        .whatsapp-card {
            min-height: 126px;
        }

        .whatsapp-card .numero {
            margin-top: 12px;
            font-size: 21px;
            line-height: 1.25;
            white-space: normal;
            overflow-wrap: anywhere;
        }

        .whatsapp-nav {
            position: sticky;
            top: 0;
            z-index: 15;
            margin-bottom: 14px;
            padding: 8px;
            display: flex;
            gap: 7px;
            flex-wrap: wrap;
            border: 1px solid var(--cor-borda);
            border-radius: 13px;
            background: rgba(255,255,255,.96);
            box-shadow: 0 5px 18px rgba(15,23,42,.05);
            backdrop-filter: blur(8px);
        }

        .whatsapp-nav a {
            min-height: 35px;
            padding: 7px 11px;
            display: inline-flex;
            align-items: center;
            border-radius: 9px;
            color: #475569;
            font-size: 11px;
            font-weight: 900;
            text-decoration: none;
        }

        .whatsapp-nav a:hover {
            background: #eef4ff;
            color: var(--cor-primaria);
        }

        .grupo-real-cabecalho {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
        }

        .grupo-real-layout {
            display: grid;
            grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
            gap: 14px;
            align-items: start;
        }

        .grupo-real-lista {
            max-height: 620px;
            overflow: auto;
            padding-right: 4px;
        }

        .grupo-real-link {
            padding: 14px 16px;
            display: block;
            margin-bottom: 10px;
            border: 1px solid #d6e1ef;
            border-radius: 14px;
            background: #ffffff;
            color: #1e293b;
            text-decoration: none;
            box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
            transition:
                background .18s ease,
                border-color .18s ease,
                box-shadow .18s ease,
                transform .18s ease;
        }

        .grupo-real-link:hover {
            background: #f8fbff;
            border-color: #8fb7ff;
            box-shadow: 0 6px 18px rgba(37, 99, 235, .08);
            transform: translateY(-1px);
        }

        .grupo-real-link.ativo {
            background: #eef4ff;
            border-color: #3b82f6;
            box-shadow: 0 0 0 1px rgba(59, 130, 246, .12), 0 8px 22px rgba(59, 130, 246, .10);
        }

        .grupo-real-link strong,
        .grupo-real-link span {
            display: block;
        }

        .grupo-real-link-cabecalho {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
        }

        .grupo-real-link strong {
            font-size: 17px;
            line-height: 1.3;
            color: inherit;
        }

        .grupo-real-link-status {
            flex-shrink: 0;
            margin-top: 1px;
            padding: 4px 10px;
            border-radius: 999px;
            border: 1px solid #cfe0ff;
            background: #f8fbff;
            color: #1d4ed8;
            font-size: 11px;
            font-weight: 700;
            line-height: 1.2;
            letter-spacing: .01em;
        }

        .grupo-real-link-meta {
            margin-top: 8px;
            color: #64748b;
            font-size: 11px;
            line-height: 1.45;
        }

        html[data-tema="escuro"] .grupo-real-link {
            background: #0f1c2e;
            border-color: #314760;
            color: #e5eef9;
            box-shadow: none;
        }

        html[data-tema="escuro"] .grupo-real-link:hover {
            background: #12233a;
            border-color: #60a5fa;
            box-shadow: 0 0 0 1px rgba(96, 165, 250, .18), 0 12px 24px rgba(0, 0, 0, .28);
        }

        html[data-tema="escuro"] .grupo-real-link.ativo {
            background: #16304f;
            border-color: #60a5fa;
            box-shadow: 0 0 0 1px rgba(96, 165, 250, .22), 0 12px 28px rgba(0, 0, 0, .30);
        }

        html[data-tema="escuro"] .grupo-real-link-meta {
            color: #a9bdd4;
        }

        html[data-tema="escuro"] .grupo-real-link-status {
            background: #0d1929;
            border-color: #38526f;
            color: #93c5fd;
        }

        html[data-tema="escuro"] .grupo-real-link.ativo .grupo-real-link-status {
            background: #1d3d63;
            border-color: #60a5fa;
            color: #dbeafe;
        }

        .grupo-real-detalhe {
            padding: 17px;
        }

        .grupo-real-topo {
            display: flex;
            gap: 14px;
            align-items: flex-start;
        }

        .grupo-real-imagem {
            width: 72px;
            height: 72px;
            flex: 0 0 auto;
            display: grid;
            place-items: center;
            overflow: hidden;
            border: 1px solid var(--cor-borda);
            border-radius: 50%;
            background: #f1f5f9;
            font-size: 28px;
        }

        .grupo-real-imagem img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .grupo-real-meta {
            margin-top: 14px;
            display: grid;
            grid-template-columns: repeat(3,minmax(0,1fr));
            gap: 10px;
        }

        .grupo-real-meta-item {
            padding: 11px;
            border: 1px solid var(--cor-borda);
            border-radius: 10px;
            background: #f8fafc;
        }

        .grupo-real-meta-item small,
        .grupo-real-meta-item strong {
            display: block;
        }

        .grupo-real-meta-item small {
            color: #64748b;
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
        }

        .grupo-real-meta-item strong {
            margin-top: 5px;
            font-size: 12px;
        }

        .participante-admin {
            color: #7c3aed;
            font-weight: 900;
        }

        .participante-eu {
            color: #15803d;
            font-weight: 900;
        }

        .grupo-real-acoes {
            margin-top: 16px;
            display: grid;
            grid-template-columns: repeat(2,minmax(0,1fr));
            gap: 12px;
        }

        .grupo-real-acao {
            padding: 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #fff;
        }

        .grupo-real-acao h4 {
            margin: 0 0 10px;
        }

        .grupo-real-acao input,
        .grupo-real-acao textarea {
            width: 100%;
            margin: 6px 0 10px;
        }

        .grupo-real-acao-perigo {
            border-color: rgba(239,68,68,.25);
            background: #fffafa;
        }

        .grupo-real-acoes-inline {
            display: flex;
            gap: 5px;
            flex-wrap: wrap;
        }

        .grupo-real-acoes-inline form {
            margin: 0;
        }

        .grupo-real-bloqueado {
            margin-top: 15px;
            padding: 14px;
            border: 1px solid rgba(245,158,11,.25);
            border-radius: 11px;
            background: #fffbeb;
        }


        .figurinha-layout {
            display: grid;
            grid-template-columns: minmax(310px, .8fr) minmax(520px, 1.5fr);
            gap: 16px;
            align-items: start;
        }

        .figurinha-painel {
            padding: 16px;
            border: 1px solid var(--cor-borda);
            border-radius: 12px;
            background: #f8fafc;
        }

        .figurinha-painel h3 {
            margin: 0 0 12px;
        }

        .figurinha-form-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 110px;
            gap: 8px;
        }

        .figurinha-form-grid input,
        .figurinha-form-grid select {
            width: 100%;
            margin: 0;
        }

        .figurinha-categorias-lista {
            margin-top: 14px;
            display: grid;
            gap: 8px;
        }

        .figurinha-categoria-item {
            padding: 10px;
            display: grid;
            grid-template-columns: minmax(0,1fr) 80px auto;
            gap: 7px;
            align-items: center;
            border: 1px solid var(--cor-borda);
            border-radius: 10px;
            background: #fff;
        }

        .figurinha-categoria-item form {
            display: contents;
        }

        .figurinha-categoria-item input {
            width: 100%;
            margin: 0;
        }

        .figurinha-categoria-acoes {
            display: flex;
            gap: 5px;
        }

        .figurinha-categoria-acoes button {
            margin: 0;
            padding: 7px 9px;
            font-size: 10px;
        }

        .figurinha-grade {
            display: grid;
            grid-template-columns: repeat(auto-fill,minmax(180px,1fr));
            gap: 12px;
        }

        .figurinha-card {
            min-width: 0;
            padding: 12px;
            border: 1px solid var(--cor-borda);
            border-radius: 12px;
            background: #fff;
        }

        .figurinha-card.inativa {
            opacity: .58;
            filter: grayscale(.3);
        }

        .figurinha-preview {
            height: 148px;
            display: grid;
            place-items: center;
            overflow: hidden;
            border-radius: 10px;
            background:
                linear-gradient(45deg,#edf2f7 25%,transparent 25%),
                linear-gradient(-45deg,#edf2f7 25%,transparent 25%),
                linear-gradient(45deg,transparent 75%,#edf2f7 75%),
                linear-gradient(-45deg,transparent 75%,#edf2f7 75%),
                #fff;
            background-size: 20px 20px;
            background-position: 0 0,0 10px,10px -10px,-10px 0;
        }

        .figurinha-preview img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .figurinha-card-meta {
            margin: 10px 0;
            font-size: 10px;
            color: #64748b;
        }

        .figurinha-card form {
            margin: 0;
        }

        .figurinha-card input,
        .figurinha-card select {
            width: 100%;
            margin: 5px 0;
        }

        .figurinha-card-acoes {
            margin-top: 8px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6px;
        }

        .figurinha-card-acoes button {
            margin: 0;
            padding: 8px;
            font-size: 10px;
        }

        .figurinha-upload {
            display: grid;
            gap: 10px;
        }

        .figurinha-upload input,
        .figurinha-upload select {
            width: 100%;
            margin: 0;
        }

        .whatsapp-grid {
            display: grid;
            grid-template-columns: repeat(2,minmax(0,1fr));
            gap: 14px;
            align-items: start;
        }

        .whatsapp-secao {
            padding: 0;
            overflow: hidden;
        }

        .whatsapp-secao-larga {
            grid-column: 1 / -1;
        }

        .whatsapp-secao-header {
            padding: 15px 17px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .whatsapp-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .whatsapp-secao-conteudo {
            padding: 18px;
        }

        .whatsapp-info-grid {
            display: grid;
            grid-template-columns: repeat(3,minmax(0,1fr));
            gap: 12px;
        }

        .whatsapp-info-item {
            padding: 13px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #f8fafc;
        }

        .whatsapp-info-item strong {
            display: block;
            margin-bottom: 5px;
            color: var(--cor-muted);
            font-size: 10px;
            letter-spacing: .05em;
            text-transform: uppercase;
        }

        .whatsapp-qr {
            margin-top: 14px;
            padding: 18px;
            border: 1px solid var(--cor-borda);
            border-radius: 14px;
            background: #f8fafc;
        }

        .whatsapp-qr-grid {
            display: grid;
            grid-template-columns: minmax(220px,300px) minmax(0,1fr);
            gap: 24px;
            align-items: center;
        }

        .whatsapp-qr-visual {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 250px;
            padding: 10px;
            border: 1px solid var(--cor-borda);
            border-radius: 13px;
            background: #ffffff;
        }

        .whatsapp-qr img {
            display: block;
            width: min(280px,100%);
            margin: 0;
            padding: 6px;
            border: 0;
            border-radius: 8px;
            background: #ffffff;
        }

        .whatsapp-qr-vazio {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
            min-height: 210px;
            text-align: center;
            color: var(--cor-muted);
        }

        .whatsapp-qr-vazio[hidden],
        .whatsapp-qr img[hidden] {
            display: none !important;
        }

        .whatsapp-qr-instrucoes h3 {
            margin: 5px 0 10px;
            font-size: 20px;
        }

        .whatsapp-qr-instrucoes p {
            margin: 0;
            line-height: 1.6;
            color: var(--cor-muted);
        }

        .whatsapp-qr-kicker {
            display: inline-block;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: var(--cor-muted);
        }

        .whatsapp-qr-status {
            margin-top: 16px;
            padding: 11px 13px;
            border: 1px solid var(--cor-borda);
            border-radius: 10px;
            font-weight: 700;
            background: #ffffff;
        }

        .whatsapp-qr-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 8px 18px;
            margin-top: 12px;
            font-size: 12px;
            color: var(--cor-muted);
        }

        .whatsapp-qr-meta strong {
            color: inherit;
        }

        @media (max-width: 760px) {
            .whatsapp-qr-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .whatsapp-qr-visual {
                min-height: 0;
            }

            .whatsapp-qr img {
                width: min(290px,100%);
            }
        }

        .whatsapp-codigo {
            margin: 14px 0;
            padding: 16px;
            border: 1px solid rgba(37,99,235,.16);
            border-radius: 12px;
            background: #eff6ff;
        }

        .whatsapp-codigo-valor {
            margin: 14px 0;
            font-size: clamp(28px,5vw,38px);
            font-weight: 900;
            letter-spacing: .14em;
            overflow-wrap: anywhere;
        }

        .whatsapp-campo {
            margin-bottom: 15px;
        }

        .whatsapp-campo:last-child {
            margin-bottom: 0;
        }

        .whatsapp-campo input[type="text"],
        .whatsapp-campo select {
            width: 100%;
            margin-top: 6px;
        }

        .whatsapp-opcoes {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 9px;
        }

        .whatsapp-opcao {
            min-width: 160px;
            padding: 11px 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            border: 1px solid var(--cor-borda);
            border-radius: 10px;
            background: #f8fafc;
        }

        .whatsapp-auto-start {
            padding: 13px 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #f8fafc;
        }

        .whatsapp-acoes {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .whatsapp-acoes form {
            margin: 0;
        }

        .whatsapp-acoes .btn {
            margin: 0;
        }

        .whatsapp-resumo {
            margin-top: 14px;
            padding: 12px 13px;
            border: 1px solid rgba(37,99,235,.15);
            border-radius: 10px;
            background: #f8fbff;
            color: #475569;
            font-size: 11px;
            line-height: 1.55;
        }

        .whatsapp-lista {
            overflow-x: auto;
        }

        .whatsapp-lista table {
            min-width: 760px;
            margin: 0;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }

        .whatsapp-seguranca {
            padding: 16px 18px;
            border: 1px solid rgba(245,158,11,.22);
            border-radius: 14px;
            background: #fffaf0;
        }

        .whatsapp-seguranca h2 {
            margin-top: 0;
        }

        @media (max-width: 980px) {
            .whatsapp-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .whatsapp-grid {
                grid-template-columns: 1fr;
            }

            .grupo-real-layout {
                grid-template-columns: 1fr;
            }

            .figurinha-layout {
                grid-template-columns: 1fr;
            }

            .grupo-real-meta {
                grid-template-columns: repeat(2,minmax(0,1fr));
            }

            .grupo-real-acoes {
                grid-template-columns: 1fr;
            }

            .whatsapp-secao-larga {
                grid-column: auto;
            }

            .whatsapp-info-grid {
                grid-template-columns: repeat(2,minmax(0,1fr));
            }
        }

        @media (max-width: 620px) {
            .whatsapp-cabecalho {
                padding: 17px;
            }

            .whatsapp-cabecalho h2 {
                font-size: 22px;
            }

            .whatsapp-cabecalho-acoes,
            .whatsapp-cabecalho-acoes .btn,
            .whatsapp-filtro-campo {
                width: 100%;
                min-width: 0;
            }

            .whatsapp-info-grid {
                grid-template-columns: 1fr;
            }

            .whatsapp-acoes {
                flex-direction: column;
                align-items: stretch;
            }

            .whatsapp-acoes form,
            .whatsapp-acoes .btn {
                width: 100%;
            }

            .whatsapp-acoes button {
                width: 100%;
            }

            .figurinha-form-grid,
            .figurinha-categoria-item,
            .figurinha-card-acoes {
                grid-template-columns: 1fr;
            }

            .figurinha-categoria-acoes {
                width: 100%;
            }

            .figurinha-categoria-acoes button {
                flex: 1;
            }
        }
    

/* ==========================================================================
   Sprint 4.15 — Ajuste do modo escuro no WhatsApp
   ========================================================================== */

html[data-tema="escuro"] .whatsapp-abas,
html[data-tema="escuro"] .whatsapp-menu-abas,
html[data-tema="escuro"] .abas-whatsapp {
    border-color: #2d435f !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-abas a,
html[data-tema="escuro"] .whatsapp-menu-abas a,
html[data-tema="escuro"] .abas-whatsapp a {
    border-color: transparent !important;
    background: transparent !important;
    color: #c7d5e5 !important;
    opacity: 1 !important;
}

html[data-tema="escuro"] .whatsapp-abas a:hover,
html[data-tema="escuro"] .whatsapp-menu-abas a:hover,
html[data-tema="escuro"] .abas-whatsapp a:hover {
    background: #1c2e48 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-abas a.ativo,
html[data-tema="escuro"] .whatsapp-menu-abas a.ativo,
html[data-tema="escuro"] .abas-whatsapp a.ativo {
    border-color: #5b8ee6 !important;
    background: #2459a8 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-cabecalho,
html[data-tema="escuro"] .whatsapp-cabecalho-principal,
html[data-tema="escuro"] .whatsapp-contexto {
    border-color: #2d435f !important;
    background: #17263c !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-cabecalho h1,
html[data-tema="escuro"] .whatsapp-cabecalho h2 {
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-cabecalho p,
html[data-tema="escuro"] .whatsapp-kicker {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .whatsapp-card,
html[data-tema="escuro"] .whatsapp-status-card,
html[data-tema="escuro"] .whatsapp-resumo-card {
    border-color: #2d435f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
    opacity: 1 !important;
}

html[data-tema="escuro"] .whatsapp-card .titulo,
html[data-tema="escuro"] .whatsapp-status-card .titulo,
html[data-tema="escuro"] .whatsapp-resumo-card .titulo {
    color: #b6c7da !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #b6c7da !important;
}

html[data-tema="escuro"] .whatsapp-card .numero,
html[data-tema="escuro"] .whatsapp-card .valor,
html[data-tema="escuro"] .whatsapp-status-card .numero,
html[data-tema="escuro"] .whatsapp-status-card .valor,
html[data-tema="escuro"] .whatsapp-resumo-card .numero,
html[data-tema="escuro"] .whatsapp-resumo-card .valor {
    color: #ffffff !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-card .mensagem,
html[data-tema="escuro"] .whatsapp-status-card .mensagem,
html[data-tema="escuro"] .whatsapp-resumo-card .mensagem {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .whatsapp-secao,
html[data-tema="escuro"] .whatsapp-box,
html[data-tema="escuro"] .whatsapp-painel,
html[data-tema="escuro"] .conexao-box,
html[data-tema="escuro"] .sessao-box,
html[data-tema="escuro"] .grupos-box,
html[data-tema="escuro"] .seguranca-box {
    border-color: #2d435f !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-secao-header,
html[data-tema="escuro"] .whatsapp-box-header,
html[data-tema="escuro"] .whatsapp-painel-header,
html[data-tema="escuro"] .conexao-box-header,
html[data-tema="escuro"] .sessao-box-header {
    border-color: #30455f !important;
    background: #17263c !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-secao-conteudo,
html[data-tema="escuro"] .whatsapp-box-conteudo,
html[data-tema="escuro"] .whatsapp-painel-conteudo {
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-info-grid > div,
html[data-tema="escuro"] .whatsapp-status-grid > div,
html[data-tema="escuro"] .conexao-info-grid > div,
html[data-tema="escuro"] .sessao-info-grid > div,
html[data-tema="escuro"] .whatsapp-info-item,
html[data-tema="escuro"] .whatsapp-dado-item {
    border-color: #38506d !important;
    background: #142238 !important;
    color: #dce8f6 !important;
    box-shadow: none !important;
}

html[data-tema="escuro"] .whatsapp-info-grid span,
html[data-tema="escuro"] .whatsapp-status-grid span,
html[data-tema="escuro"] .conexao-info-grid span,
html[data-tema="escuro"] .sessao-info-grid span,
html[data-tema="escuro"] .whatsapp-info-item span,
html[data-tema="escuro"] .whatsapp-dado-item span {
    color: #9fb2c9 !important;
    opacity: 1 !important;
}

html[data-tema="escuro"] .whatsapp-info-grid strong,
html[data-tema="escuro"] .whatsapp-status-grid strong,
html[data-tema="escuro"] .conexao-info-grid strong,
html[data-tema="escuro"] .sessao-info-grid strong,
html[data-tema="escuro"] .whatsapp-info-item strong,
html[data-tema="escuro"] .whatsapp-dado-item strong {
    color: #ffffff !important;
    opacity: 1 !important;
}

html[data-tema="escuro"] .whatsapp-qrcode,
html[data-tema="escuro"] .whatsapp-pareamento,
html[data-tema="escuro"] .qrcode-box,
html[data-tema="escuro"] .pareamento-box,
html[data-tema="escuro"] .qrcode-container,
html[data-tema="escuro"] .pairing-container {
    border-color: #38506d !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-qrcode img,
html[data-tema="escuro"] .qrcode-container img {
    padding: 10px;
    border-radius: 10px;
    background: #ffffff !important;
}


html[data-tema="escuro"] .whatsapp-qr {
    border-color: #38506d !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-qr-visual {
    border-color: #38506d !important;
    background: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-qr-instrucoes h3 {
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-qr-instrucoes p,
html[data-tema="escuro"] .whatsapp-qr-kicker,
html[data-tema="escuro"] .whatsapp-qr-meta,
html[data-tema="escuro"] .whatsapp-qr-vazio {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .whatsapp-qr-status {
    border-color: #38506d !important;
    background: #17263c !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-qrcode-vazio,
html[data-tema="escuro"] .whatsapp-pareamento-vazio,
html[data-tema="escuro"] .qrcode-vazio,
html[data-tema="escuro"] .pareamento-vazio,
html[data-tema="escuro"] .whatsapp-aviso-vazio {
    border-color: #38506d !important;
    background: #142238 !important;
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .whatsapp-status-linha,
html[data-tema="escuro"] .whatsapp-detalhe-linha,
html[data-tema="escuro"] .whatsapp-config-linha {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-status-linha span,
html[data-tema="escuro"] .whatsapp-detalhe-linha span,
html[data-tema="escuro"] .whatsapp-config-linha span {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .whatsapp-status-linha strong,
html[data-tema="escuro"] .whatsapp-detalhe-linha strong,
html[data-tema="escuro"] .whatsapp-config-linha strong {
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-status-online,
html[data-tema="escuro"] .whatsapp-conectado {
    border-color: #27644f !important;
    background: #102a23 !important;
    color: #a7f3d0 !important;
}

html[data-tema="escuro"] .whatsapp-status-offline,
html[data-tema="escuro"] .whatsapp-desconectado {
    border-color: #7d3541 !important;
    background: #35181f !important;
    color: #fecdd3 !important;
}

html[data-tema="escuro"] .whatsapp-status-alerta {
    border-color: #745d22 !important;
    background: #30270f !important;
    color: #fde68a !important;
}

html[data-tema="escuro"] .whatsapp-acoes,
html[data-tema="escuro"] .whatsapp-card-acoes {
    border-color: #30455f !important;
    background: #142238 !important;
}

html[data-tema="escuro"] .whatsapp-acoes .btn-cinza,
html[data-tema="escuro"] .whatsapp-card-acoes .btn-cinza {
    border-color: #38506d !important;
    background: #17263c !important;
    color: #e2e8f0 !important;
}

html[data-tema="escuro"] .whatsapp-acoes .btn-cinza:hover,
html[data-tema="escuro"] .whatsapp-card-acoes .btn-cinza:hover {
    border-color: #5b7da8 !important;
    background: #1c2e48 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-form input,
html[data-tema="escuro"] .whatsapp-form select,
html[data-tema="escuro"] .whatsapp-form textarea,
html[data-tema="escuro"] .whatsapp-painel input,
html[data-tema="escuro"] .whatsapp-painel select,
html[data-tema="escuro"] .whatsapp-painel textarea {
    border-color: #38506d !important;
    background: #0d192b !important;
    color: #f8fafc !important;
}

html[data-tema="escuro"] .whatsapp-form label,
html[data-tema="escuro"] .whatsapp-painel label {
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-form small,
html[data-tema="escuro"] .whatsapp-painel small {
    color: #a9bdd4 !important;
}

/*
 * Correção de contingência para cartões brancos internos com classes
 * genéricas existentes no whatsapp.php.
 */

html[data-tema="escuro"] .whatsapp-container .card,
html[data-tema="escuro"] .whatsapp-container .box,
html[data-tema="escuro"] .whatsapp-container [class$="-item"],
html[data-tema="escuro"] .whatsapp-container [class$="-bloco"],
html[data-tema="escuro"] .whatsapp-container [class$="-conteudo"] {
    border-color: #30455f !important;
    background-color: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container [style*="background: #fff"],
html[data-tema="escuro"] .whatsapp-container [style*="background:#fff"],
html[data-tema="escuro"] .whatsapp-container [style*="background: white"],
html[data-tema="escuro"] .whatsapp-container [style*="background:white"] {
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container [style*="color: #"],
html[data-tema="escuro"] .whatsapp-container [style*="color:#"] {
    opacity: 1 !important;
}




/* Sprint 4.15 — Ajuste 05: menu interno do WhatsApp */

html[data-tema="escuro"] .whatsapp-nav {
    border-color: #2f4561 !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
    box-shadow: none !important;
}

html[data-tema="escuro"] .whatsapp-nav a,
html[data-tema="escuro"] .whatsapp-nav button {
    position: relative;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #c7d5e5 !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

html[data-tema="escuro"] .whatsapp-nav a:hover,
html[data-tema="escuro"] .whatsapp-nav button:hover {
    border-color: #355075 !important;
    background: #1c2e48 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-nav a.ativo,
html[data-tema="escuro"] .whatsapp-nav a.active,
html[data-tema="escuro"] .whatsapp-nav button.ativo,
html[data-tema="escuro"] .whatsapp-nav button.active {
    border-color: #5b8ee6 !important;
    background: linear-gradient(135deg, #2459a8, #1d427c) !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(96,165,250,.15),
        0 6px 16px rgba(0,0,0,.24) !important;
}

html[data-tema="escuro"] .whatsapp-nav a.ativo::after,
html[data-tema="escuro"] .whatsapp-nav a.active::after,
html[data-tema="escuro"] .whatsapp-nav button.ativo::after,
html[data-tema="escuro"] .whatsapp-nav button.active::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 2px;
    height: 2px;
    border-radius: 999px;
    background: #93c5fd;
}

html[data-tema="escuro"] .whatsapp-container nav,
html[data-tema="escuro"] .whatsapp-container [role="tablist"] {
    border-color: #2f4561 !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}


/* ==========================================================================
   Sprint 4.16 — Bloco 2A — Ajuste 03
   Correção completa do modo escuro da administração WhatsApp
   ========================================================================== */

html[data-tema="escuro"] body.whatsapp-container {
    background: #07111f !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container .box,
html[data-tema="escuro"] .whatsapp-container .card,
html[data-tema="escuro"] .whatsapp-container section,
html[data-tema="escuro"] .whatsapp-container fieldset {
    border-color: #2d435f !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container h1,
html[data-tema="escuro"] .whatsapp-container h2,
html[data-tema="escuro"] .whatsapp-container h3,
html[data-tema="escuro"] .whatsapp-container h4,
html[data-tema="escuro"] .whatsapp-container strong,
html[data-tema="escuro"] .whatsapp-container label {
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-container p,
html[data-tema="escuro"] .whatsapp-container small,
html[data-tema="escuro"] .whatsapp-container .texto-ajuda,
html[data-tema="escuro"] .whatsapp-container .muted,
html[data-tema="escuro"] .whatsapp-container .descricao {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .whatsapp-container input,
html[data-tema="escuro"] .whatsapp-container select,
html[data-tema="escuro"] .whatsapp-container textarea {
    border-color: #3b526f !important;
    background: #0d1929 !important;
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
    color-scheme: dark;
}

html[data-tema="escuro"] .whatsapp-container input::placeholder,
html[data-tema="escuro"] .whatsapp-container textarea::placeholder {
    color: #7890aa !important;
    opacity: 1 !important;
}

html[data-tema="escuro"] .whatsapp-container select option {
    background: #0d1929 !important;
    color: #f8fafc !important;
}

html[data-tema="escuro"] .whatsapp-container table,
html[data-tema="escuro"] .whatsapp-container thead,
html[data-tema="escuro"] .whatsapp-container tbody,
html[data-tema="escuro"] .whatsapp-container tr,
html[data-tema="escuro"] .whatsapp-container th,
html[data-tema="escuro"] .whatsapp-container td {
    border-color: #2d435f !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container thead th {
    background: #17263c !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-container tr:nth-child(even) td {
    background: #132238 !important;
}

html[data-tema="escuro"] .whatsapp-container .alerta,
html[data-tema="escuro"] .whatsapp-container .aviso,
html[data-tema="escuro"] .whatsapp-container .info,
html[data-tema="escuro"] .whatsapp-container .whatsapp-feedback {
    border-color: #3b526f !important;
    background: #16243a !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container .whatsapp-feedback-sucesso {
    border-left-color: #22c55e !important;
    background: #10291f !important;
    color: #bbf7d0 !important;
}

html[data-tema="escuro"] .whatsapp-container .whatsapp-feedback-erro {
    border-left-color: #ef4444 !important;
    background: #32171d !important;
    color: #fecaca !important;
}

html[data-tema="escuro"] .whatsapp-container .badge,
html[data-tema="escuro"] .whatsapp-container .tag,
html[data-tema="escuro"] .whatsapp-container .chip {
    border-color: #3b526f !important;
    background: #1a2b44 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container .btn-cinza,
html[data-tema="escuro"] .whatsapp-container button.btn-cinza {
    border-color: #49617f !important;
    background: #263850 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-container .btn-cinza:hover,
html[data-tema="escuro"] .whatsapp-container button.btn-cinza:hover {
    border-color: #647f9f !important;
    background: #314760 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-container .btn-primario,
html[data-tema="escuro"] .whatsapp-container button.btn-primario {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
html[data-tema="escuro"] .whatsapp-container .figurinha-categoria-item,
html[data-tema="escuro"] .whatsapp-container .figurinha-card,
html[data-tema="escuro"] .whatsapp-container .figurinha-preview,
html[data-tema="escuro"] .whatsapp-container .figurinha-form-grid,
html[data-tema="escuro"] .whatsapp-container .grupo-item,
html[data-tema="escuro"] .whatsapp-container .grupo-card,
html[data-tema="escuro"] .whatsapp-container .whatsapp-info-item,
html[data-tema="escuro"] .whatsapp-container .whatsapp-status-item {
    border-color: #2d435f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container input[type="file"] {
    background: #0d1929 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-container input[type="file"]::file-selector-button {
    border: 1px solid #49617f !important;
    background: #263850 !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-container input[type="radio"],
html[data-tema="escuro"] .whatsapp-container input[type="checkbox"] {
    accent-color: #3b82f6;
}

html[data-tema="escuro"] .whatsapp-container hr {
    border-color: #2d435f !important;
}

html[data-tema="escuro"] .whatsapp-container code,
html[data-tema="escuro"] .whatsapp-container pre {
    border-color: #2d435f !important;
    background: #0b1524 !important;
    color: #dce8f6 !important;
}

@media (max-width: 760px) {
    .whatsapp-cabecalho-acoes {
        width: 100%;
        justify-content: stretch;
    }

    .whatsapp-cabecalho-acoes .btn {
        flex: 1 1 100%;
        justify-content: center;
    }
}


/* ==========================================================================
   Sprint 4.16 — Bloco 2A — Ajuste 04
   Correções específicas do WhatsApp no modo escuro
   ========================================================================== */

html[data-tema="escuro"] .whatsapp-resumo {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
    box-shadow: none !important;
}

html[data-tema="escuro"] .whatsapp-resumo strong,
html[data-tema="escuro"] .whatsapp-resumo span,
html[data-tema="escuro"] .whatsapp-resumo p,
html[data-tema="escuro"] .whatsapp-resumo div {
    color: #dce8f6 !important;
    -webkit-text-fill-color: #dce8f6 !important;
}

html[data-tema="escuro"] .whatsapp-opcoes {
    gap: 12px;
}

html[data-tema="escuro"] .whatsapp-opcao {
    border: 1px solid #38506d !important;
    background: #142238 !important;
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
    box-shadow: none !important;
}

html[data-tema="escuro"] .whatsapp-opcao:hover {
    border-color: #5c7aa0 !important;
    background: #1a2b44 !important;
}

html[data-tema="escuro"] .whatsapp-opcao input[type="radio"] {
    accent-color: #3b82f6 !important;
}

html[data-tema="escuro"] .figurinha-painel,
html[data-tema="escuro"] .figurinha-card,
html[data-tema="escuro"] .figurinha-preview,
html[data-tema="escuro"] .figurinha-categoria-item {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
    box-shadow: none !important;
}

html[data-tema="escuro"] .figurinha-painel h3,
html[data-tema="escuro"] .figurinha-card strong,
html[data-tema="escuro"] .figurinha-card span,
html[data-tema="escuro"] .figurinha-card p {
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
}

html[data-tema="escuro"] .whatsapp-container input[type="file"] {
    border: 1px solid #38506d !important;
    border-radius: 9px !important;
    background: #0d192b !important;
    color: #dce8f6 !important;
    padding: 7px !important;
}

html[data-tema="escuro"] .whatsapp-container input[type="file"]::file-selector-button {
    margin-right: 10px !important;
    border: 1px solid #4c6687 !important;
    border-radius: 7px !important;
    background: #263850 !important;
    color: #ffffff !important;
    padding: 7px 10px !important;
    cursor: pointer !important;
}

html[data-tema="escuro"] .whatsapp-container .mensagem,
html[data-tema="escuro"] .whatsapp-container .texto-ajuda {
    color: #a9bdd4 !important;
    -webkit-text-fill-color: #a9bdd4 !important;
}

html[data-tema="escuro"] .whatsapp-secao-header {
    border-color: #30455f !important;
    background: linear-gradient(
        135deg,
        #17263c,
        #132137
    ) !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-secao-header h2,
html[data-tema="escuro"] .whatsapp-secao-header p,
html[data-tema="escuro"] .whatsapp-secao-header span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html[data-tema="escuro"] .whatsapp-secao-header p {
    color: #a9bdd4 !important;
    -webkit-text-fill-color: #a9bdd4 !important;
}
html[data-tema="escuro"] .whatsapp-campo input,
html[data-tema="escuro"] .whatsapp-campo select,
html[data-tema="escuro"] .whatsapp-campo textarea,
html[data-tema="escuro"] .figurinha-painel input,
html[data-tema="escuro"] .figurinha-painel select,
html[data-tema="escuro"] .figurinha-painel textarea {
    border-color: #38506d !important;
    background: #0d192b !important;
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
}

html[data-tema="escuro"] .whatsapp-campo label,
html[data-tema="escuro"] .figurinha-painel label {
    color: #dce8f6 !important;
}

/* =========================================================================
   Sprint 4.25 — Bloco 12
   Últimos estilos locais — centralização global
   =========================================================================

   Objetivo:
   - remover os últimos blocos <style> dos PHP do GestWAI;
   - deixar todo CSS estrutural em arquivos CSS;
   - preservar atributos style="" dinâmicos para auditoria posterior;
   - não remover arquivos CSS legados ainda.
   ========================================================================= */


/* --- Login (login.php) — CSS migrado no Bloco 12 --- */
/*
   Hotfix 26.2:
   O CSS do login agora é totalmente isolado pela presença de `.login-page`.
   Antes deste hotfix, seletores globais como :root, html, body, label e input
   vazavam para todas as páginas que carregavam o Design System.
*/
html:has(.login-page),
body:has(.login-page) {
            --gestwai-navy: #0d1b2a;
            --gestwai-navy-soft: #132b4f;
            --gestwai-blue: #2563ff;
            --gestwai-blue-dark: #1749c9;
            --gestwai-green: #10b981;
            --gestwai-text: #12213a;
            --gestwai-muted: #64748b;
            --gestwai-border: #dbe4f0;
            --gestwai-bg: #f5f8fc;
            --gestwai-white: #ffffff;
            --gestwai-danger-bg: #fff1f2;
            --gestwai-danger-text: #9f1239;
            --gestwai-danger-border: #fecdd3;
            --gestwai-shadow: 0 30px 90px rgba(13, 27, 42, 0.22);
        }

        .login-page,
.login-page * {
            box-sizing: border-box;
        }

        html:has(.login-page) {
            min-height: 100%;
            background: var(--gestwai-navy);
        }

        body:has(.login-page) {
            margin: 0;
            min-height: 100vh;
            font-family:
                Inter,
                "Segoe UI",
                Arial,
                Helvetica,
                sans-serif;
            color: var(--gestwai-text);
            background:
                radial-gradient(
                    circle at 13% 18%,
                    rgba(37, 99, 255, 0.33) 0,
                    rgba(37, 99, 255, 0) 29%
                ),
                radial-gradient(
                    circle at 91% 83%,
                    rgba(99, 102, 241, 0.23) 0,
                    rgba(99, 102, 241, 0) 31%
                ),
                linear-gradient(
                    135deg,
                    #071426 0%,
                    #0d1b2a 46%,
                    #102b57 100%
                );
        }

        body:has(.login-page)::before,
body:has(.login-page)::after {
            content: "";
            position: fixed;
            pointer-events: none;
            border: 1px solid rgba(80, 143, 255, 0.19);
            border-radius: 50%;
        }

        body:has(.login-page)::before {
            width: 420px;
            height: 420px;
            top: -230px;
            right: -120px;
        }

        body:has(.login-page)::after {
            width: 300px;
            height: 300px;
            left: -170px;
            bottom: -170px;
        }

        .login-page {
            min-height: 100vh;
            display: grid;
            place-items: center;
            padding: 34px 22px;
        }

        .login-page .login-shell {
            width: min(1120px, 100%);
            min-height: 660px;
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 30px;
            background: rgba(255, 255, 255, 0.06);
            box-shadow: var(--gestwai-shadow);
            backdrop-filter: blur(18px);
        }

        .login-page .login-brand {
            position: relative;
            overflow: hidden;
            padding: 58px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            color: var(--gestwai-white);
            background:
                linear-gradient(
                    145deg,
                    rgba(5, 19, 43, 0.97),
                    rgba(17, 55, 116, 0.92)
                );
        }

        .login-page .login-brand::before {
            content: "";
            position: absolute;
            width: 430px;
            height: 430px;
            right: -215px;
            top: 45px;
            border: 1px solid rgba(67, 134, 255, 0.26);
            border-radius: 50%;
        }

        .login-page .login-brand::after {
            content: "";
            position: absolute;
            width: 220px;
            height: 220px;
            left: -100px;
            bottom: 65px;
            border: 1px solid rgba(16, 185, 129, 0.18);
            border-radius: 50%;
        }

        .login-page .brand-content,
.login-page .brand-footer {
            position: relative;
            z-index: 1;
        }

        .login-page .brand-logo-box {
            display: inline-flex;
            align-items: center;
            max-width: 440px;
            min-height: 110px;
            padding: 15px 20px;
            margin-bottom: 46px;
            border: 1px solid rgba(255, 255, 255, 0.13);
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.97);
            box-shadow: 0 18px 46px rgba(0, 0, 0, 0.22);
        }

        .login-page .brand-logo {
            display: block;
            width: 100%;
            height: auto;
            max-height: 88px;
            object-fit: contain;
        }

        .login-page .brand-kicker {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 18px;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 0.11em;
            text-transform: uppercase;
            color: #b9d4ff;
        }

        .login-page .brand-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--gestwai-green);
            box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.13);
        }

        .login-page .login-brand h1 {
            max-width: 590px;
            margin: 0;
            font-size: clamp(35px, 4.2vw, 56px);
            line-height: 1.03;
            letter-spacing: -0.045em;
        }

        .login-page .login-brand h1 span {
            color: #71a6ff;
        }

        .login-page .brand-description {
            max-width: 570px;
            margin: 24px 0 0;
            color: #d7e5fa;
            font-size: 17px;
            line-height: 1.7;
        }

        .login-page .benefit-list {
            margin: 34px 0 0;
            padding: 0;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
            list-style: none;
        }

        .login-page .benefit-item {
            min-height: 74px;
            padding: 15px 16px;
            display: flex;
            align-items: center;
            gap: 13px;
            border: 1px solid rgba(255, 255, 255, 0.11);
            border-radius: 15px;
            background: rgba(255, 255, 255, 0.075);
            color: #eef5ff;
            font-size: 14px;
            font-weight: 700;
        }

        .login-page .benefit-icon {
            flex: 0 0 auto;
            width: 34px;
            height: 34px;
            display: grid;
            place-items: center;
            border-radius: 11px;
            color: #a9c8ff;
            background: rgba(37, 99, 255, 0.18);
            font-size: 17px;
        }

        .login-page .brand-footer {
            display: flex;
            justify-content: space-between;
            align-items: end;
            gap: 20px;
            margin-top: 42px;
            color: #9fb4d3;
            font-size: 12px;
        }

        .login-page .brand-secure {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .login-page .brand-secure-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--gestwai-green);
            box-shadow: 0 0 12px rgba(16, 185, 129, 0.7);
        }

        .login-page .login-panel {
            padding: 62px 58px;
            display: flex;
            align-items: center;
            background: rgba(255, 255, 255, 0.985);
        }

        .login-page .login-card {
            width: 100%;
            max-width: 430px;
            margin: 0 auto;
        }

        .login-page .login-card-header {
            margin-bottom: 32px;
        }

        .login-page .login-card-header .eyebrow {
            margin: 0 0 10px;
            color: var(--gestwai-blue);
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 0.09em;
            text-transform: uppercase;
        }

        .login-page .login-card h2 {
            margin: 0;
            color: var(--gestwai-text);
            font-size: 34px;
            line-height: 1.15;
            letter-spacing: -0.035em;
        }

        .login-page .login-card .subtitulo {
            margin: 12px 0 0;
            color: var(--gestwai-muted);
            font-size: 15px;
            line-height: 1.55;
        }

        .login-page .erro {
            margin-bottom: 22px;
            padding: 13px 15px;
            border: 1px solid var(--gestwai-danger-border);
            border-radius: 13px;
            background: var(--gestwai-danger-bg);
            color: var(--gestwai-danger-text);
            font-size: 14px;
            line-height: 1.45;
        }

        .login-page .form-grupo {
            margin-bottom: 19px;
        }

        .login-page label {
            display: block;
            margin-bottom: 8px;
            color: #334155;
            font-size: 13px;
            font-weight: 800;
        }

        .login-page .input-wrap {
            position: relative;
        }

        .login-page .input-icon {
            position: absolute;
            left: 15px;
            top: 50%;
            width: 20px;
            height: 20px;
            transform: translateY(-50%);
            color: #8392a8;
            pointer-events: none;
        }

        .login-page input {
            width: 100%;
            height: 52px;
            padding: 0 46px 0 46px;
            border: 1px solid var(--gestwai-border);
            border-radius: 14px;
            outline: none;
            background: var(--gestwai-white);
            color: var(--gestwai-text);
            font-family: inherit;
            font-size: 15px;
            transition:
                border-color 0.18s ease,
                box-shadow 0.18s ease,
                background 0.18s ease;
        }

        .login-page input::placeholder {
            color: #9aa8bc;
        }

        .login-page input:hover {
            border-color: #b9c7da;
        }

        .login-page input:focus {
            border-color: var(--gestwai-blue);
            box-shadow: 0 0 0 4px rgba(37, 99, 255, 0.11);
        }

        .login-page .password-toggle {
            position: absolute;
            right: 8px;
            top: 50%;
            width: 38px;
            height: 38px;
            transform: translateY(-50%);
            display: grid;
            place-items: center;
            border: 0;
            border-radius: 10px;
            background: transparent;
            color: #718198;
            cursor: pointer;
        }

        .login-page .password-toggle:hover {
            background: #f0f5fb;
            color: var(--gestwai-blue);
        }

        .login-page .password-toggle svg {
            width: 19px;
            height: 19px;
        }

        .login-page .btn-entrar {
            width: 100%;
            height: 52px;
            margin-top: 5px;
            border: 0;
            border-radius: 14px;
            background:
                linear-gradient(
                    135deg,
                    var(--gestwai-blue),
                    #315fee
                );
            color: var(--gestwai-white);
            font-family: inherit;
            font-size: 15px;
            font-weight: 800;
            letter-spacing: 0.01em;
            cursor: pointer;
            box-shadow: 0 14px 30px rgba(37, 99, 255, 0.26);
            transition:
                transform 0.18s ease,
                box-shadow 0.18s ease,
                opacity 0.18s ease;
        }

        .login-page .btn-entrar:hover {
            transform: translateY(-1px);
            box-shadow: 0 18px 34px rgba(37, 99, 255, 0.32);
        }

        .login-page .btn-entrar:active {
            transform: translateY(0);
        }

        .login-page .btn-entrar:disabled {
            cursor: wait;
            opacity: 0.72;
            transform: none;
            box-shadow: none;
        }

        .login-page .login-security {
            margin: 22px 0 0;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            color: #8392a8;
            font-size: 12px;
        }

        .login-page .login-security svg {
            width: 15px;
            height: 15px;
            color: var(--gestwai-green);
        }

        .login-page .login-footer {
            margin-top: 38px;
            padding-top: 22px;
            border-top: 1px solid #edf1f7;
            display: flex;
            justify-content: space-between;
            gap: 18px;
            color: #94a3b8;
            font-size: 11px;
        }

        .login-page .login-footer strong {
            color: #52647d;
        }

        @media (max-width: 930px) {
            .login-page .login-shell {
                grid-template-columns: 1fr;
                max-width: 650px;
            }

            .login-page .login-brand {
                padding: 42px;
            }

            .login-page .brand-logo-box {
                max-width: 390px;
                margin-bottom: 32px;
            }

            .login-page .benefit-list {
                grid-template-columns: 1fr 1fr;
            }

            .login-page .brand-footer {
                display: none;
            }

            .login-page .login-panel {
                padding: 46px 42px;
            }
        }

        @media (max-width: 620px) {
            .login-page {
                display: block;
                padding: 0;
            }

            .login-page .login-shell {
                min-height: 100vh;
                border: 0;
                border-radius: 0;
                box-shadow: none;
            }

            .login-page .login-brand {
                padding: 30px 24px 34px;
            }

            .login-page .brand-logo-box {
                width: 100%;
                max-width: 350px;
                min-height: 88px;
                margin-bottom: 27px;
                padding: 12px 15px;
                border-radius: 18px;
            }

            .login-page .brand-logo {
                max-height: 70px;
            }

            .login-page .login-brand h1 {
                font-size: 34px;
            }

            .login-page .brand-description {
                margin-top: 17px;
                font-size: 15px;
            }

            .login-page .benefit-list {
                grid-template-columns: 1fr;
                margin-top: 25px;
            }

            .login-page .benefit-item:nth-child(n/**/+3) {
                display: none;
            }

            .login-page .login-panel {
                padding: 38px 24px 32px;
            }

            .login-page .login-card h2 {
                font-size: 29px;
            }

            .login-page .login-footer {
                flex-direction: column;
                align-items: center;
                text-align: center;
                gap: 6px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .login-page,
.login-page *,
.login-page::before,
.login-page *::before,
.login-page::after,
.login-page *::after {
                scroll-behavior: auto !important;
                transition: none !important;
            }
        }




/* --- Distribuição — Novo envio (distribuicao_novo_envio.php) — CSS migrado no Bloco 12 --- */
.modulo-abas{margin:0 0 18px;padding:7px;display:flex;gap:7px;flex-wrap:wrap;border:1px solid var(--cor-borda);border-radius:13px;background:#fff}
.modulo-abas a{min-height:36px;padding:8px 12px;display:inline-flex;align-items:center;border-radius:9px;color:#475569;font-size:12px;font-weight:900;text-decoration:none}
.modulo-abas a:hover{background:#eef4ff;color:var(--cor-primaria)}.modulo-abas .ativo{background:var(--cor-primaria);color:#fff}
.cabecalho{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.cabecalho h2{margin:0 0 7px;font-size:24px}.cabecalho p{margin:0;color:var(--cor-muted)}
.painel{padding:0;overflow:hidden}.painel-header{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--cor-borda);background:linear-gradient(135deg,#fff,#f8fafc)}.painel-header h2{margin:0;font-size:17px}.painel-conteudo{padding:17px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin:6px 0 0}
.form-acoes{margin-top:16px;padding-top:16px;border-top:1px solid var(--cor-borda);display:flex;align-items:center;gap:10px}.form-acoes .btn{margin:0}
.lista{padding:14px;overflow-x:auto}.lista table{min-width:940px;margin:0;border:0;box-shadow:none}.vazio{padding:28px;text-align:center;color:var(--cor-muted)}
.seletor{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:16px;align-items:end}.seletor select{width:100%;margin:6px 0 0}
@media(max-width:780px){.cabecalho{align-items:flex-start;flex-direction:column}.form-grid,.seletor{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

.feedback{display:none;padding:14px 16px;border-left:5px solid}
.feedback.ok{display:block;border-left-color:#22c55e;background:#f0fdf4}
.feedback.erro{display:block;border-left-color:#ef4444;background:#fff1f2}
.aviso{padding:14px 16px;border:1px solid #fde68a;border-radius:11px;background:#fffbeb;color:#92400e;font-size:12px;font-weight:700}
.contador{color:#64748b;font-size:11px;font-weight:800}


/* --- Nova conversa (nova_conversa.php) — CSS migrado no Bloco 12 --- */
.nova-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .nova-cabecalho-principal {
            min-width: 0;
        }

        .nova-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .nova-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.11);
        }

        .nova-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .nova-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .nova-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .nova-cabecalho-acoes {
            flex: 0 0 auto;
        }

        .nova-cabecalho-acoes .btn {
            margin: 0;
        }

        .nova-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
            gap: 14px;
            align-items: start;
        }

        .nova-form-box,
        .nova-resumo-box {
            padding: 0;
            overflow: hidden;
        }

        .nova-secao-header {
            padding: 15px 17px;
            border-bottom: 1px solid var(--cor-borda);
            background:
                linear-gradient(
                    135deg,
                    #ffffff,
                    #f8fafc
                );
        }

        .nova-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .nova-secao-conteudo {
            padding: 18px;
        }

        .nova-form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }

        .nova-form-grid .form-group-full {
            grid-column: 1 / -1;
        }

        .nova-form-grid input,
        .nova-form-grid select,
        .nova-form-grid textarea {
            width: 100%;
            margin: 6px 0 0;
        }

        .nova-form-grid small {
            display: block;
            margin-top: 6px;
            color: var(--cor-muted);
            font-size: 11px;
        }

        .nova-mensagem {
            min-height: 190px;
            resize: vertical;
        }

        .nova-acoes {
            margin-top: 18px;
            padding-top: 16px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            border-top: 1px solid var(--cor-borda);
        }

        .nova-acoes .btn {
            margin: 0;
        }

        .nova-status {
            min-height: 22px;
            margin-top: 14px;
            color: var(--cor-muted);
            font-size: 12px;
            font-weight: 800;
        }

        .nova-resumo-lista {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .nova-resumo-lista li {
            padding: 11px 0;
            display: flex;
            align-items: flex-start;
            gap: 10px;
            border-bottom: 1px solid #edf1f7;
            color: #475569;
            font-size: 12px;
            line-height: 1.5;
        }

        .nova-resumo-lista li:last-child {
            border-bottom: 0;
        }

        .nova-resumo-icone {
            width: 30px;
            height: 30px;
            flex: 0 0 auto;
            display: grid;
            place-items: center;
            border-radius: 9px;
            background: #eef4ff;
            font-size: 14px;
        }

        .nova-resumo-lista strong {
            display: block;
            margin-bottom: 2px;
            color: var(--cor-texto-forte);
        }

        .nova-aviso {
            margin-top: 14px;
            padding: 12px 13px;
            border: 1px solid rgba(245, 158, 11, 0.22);
            border-radius: 11px;
            background: #fffaf0;
            color: #92400e;
            font-size: 11px;
            line-height: 1.5;
        }

        .nova-sem-contatos {
            padding: 12px 13px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #f8fafc;
            color: var(--cor-muted);
            font-size: 12px;
        }

        @media (max-width: 920px) {
            .nova-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .nova-layout {
                grid-template-columns: 1fr;
            }

            .nova-resumo-box {
                order: -1;
            }
        }

        @media (max-width: 620px) {
            .nova-cabecalho {
                padding: 17px;
            }

            .nova-cabecalho h2 {
                font-size: 22px;
            }

            .nova-cabecalho-acoes,
            .nova-cabecalho-acoes .btn {
                width: 100%;
            }

            .nova-form-grid {
                grid-template-columns: 1fr;
            }

            .nova-form-grid .form-group-full {
                grid-column: auto;
            }

            .nova-acoes {
                flex-direction: column;
                align-items: stretch;
            }

            .nova-acoes .btn {
                width: 100%;
            }
        }


/* --- Distribuição — Grupos (distribuicao_grupos.php) — CSS migrado no Bloco 12 --- */
.modulo-abas {
    margin: 0 0 18px;
    padding: 7px;
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    border: 1px solid var(--cor-borda);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(15,23,42,.05);
}
.modulo-abas a,
.modulo-abas span {
    min-height: 36px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 9px;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}
.modulo-abas a:hover {
    background: #eef4ff;
    color: var(--cor-primaria);
}
.modulo-abas .ativo {
    background: var(--cor-primaria);
    color: #fff;
}
.modulo-abas .indisponivel {
    opacity: .55;
    cursor: not-allowed;
}
.modulo-cabecalho {
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}
.modulo-cabecalho h2 {
    margin: 0 0 7px;
    font-size: 25px;
}
.modulo-cabecalho p {
    margin: 0;
    color: var(--cor-muted);
}
.modulo-contexto {
    margin-top: 12px;
}
.feedback {
    padding: 14px 16px;
    border-left: 5px solid;
}
.feedback-sucesso {
    border-left-color: #22c55e;
    background: #f0fdf4;
}
.feedback-erro {
    border-left-color: #ef4444;
    background: #fff1f2;
}
.painel {
    padding: 0;
    overflow: hidden;
}
.painel-header {
    padding: 15px 17px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg,#fff,#f8fafc);
}
.painel-header h2 {
    margin: 0;
    font-size: 17px;
}
.painel-conteudo {
    padding: 17px;
}
.seletor-empresa {
    display: grid;
    grid-template-columns: minmax(240px,420px) 1fr;
    gap: 16px;
    align-items: end;
}
.seletor-empresa select,
.form-grid input,
.form-grid textarea,
.form-grid select {
    width: 100%;
    margin: 6px 0 0;
}
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.form-grid .full {
    grid-column: 1 / -1;
}
.form-acoes {
    margin-top: 16px;
    padding-top: 16px;
    display: flex;
    gap: 8px;
    border-top: 1px solid var(--cor-borda);
}
.form-acoes .btn {
    margin: 0;
}
.lista-conteudo {
    padding: 14px;
    overflow-x: auto;
}
.lista-conteudo table {
    min-width: 900px;
    margin: 0;
    border: 0;
    box-shadow: none;
}
.grupo-nome {
    color: var(--cor-texto-forte);
    font-weight: 900;
}
.acoes-linha {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.acao-link {
    min-height: 31px;
    padding: 6px 9px;
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    background: #eef4ff;
    color: var(--cor-primaria);
    font-size: 11px;
    font-weight: 900;
    text-decoration: none;
}
.acao-link:hover {
    background: var(--cor-primaria);
    color: #fff;
}
.vazio {
    padding: 28px;
    text-align: center;
    color: var(--cor-muted);
}
@media (max-width: 800px) {
    .modulo-cabecalho {
        align-items: flex-start;
        flex-direction: column;
    }
    .seletor-empresa,
    .form-grid {
        grid-template-columns: 1fr;
    }
    .form-grid .full {
        grid-column: auto;
    }
}


/* --- Contatos (contatos.php) — CSS migrado no Bloco 12 --- */
.modulo-abas {
            margin: 0 0 18px;
            padding: 7px;
            display: flex;
            gap: 7px;
            flex-wrap: wrap;
            border: 1px solid var(--cor-borda);
            border-radius: 13px;
            background: #ffffff;
            box-shadow: 0 5px 18px rgba(15,23,42,.05);
        }

        .modulo-abas a,
        .modulo-abas span {
            min-height: 36px;
            padding: 8px 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            border-radius: 9px;
            color: #475569;
            font-size: 12px;
            font-weight: 900;
            text-decoration: none;
        }

        .modulo-abas a:hover {
            background: #eef4ff;
            color: var(--cor-primaria);
        }

        .modulo-abas .ativo {
            background: var(--cor-primaria);
            color: #ffffff;
        }

        .modulo-abas .indisponivel {
            opacity: .55;
            cursor: not-allowed;
        }

        .contatos-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .contatos-cabecalho-principal {
            min-width: 0;
        }

        .contatos-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .contatos-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.11);
        }

        .contatos-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .contatos-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .contatos-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .contatos-acoes {
            flex: 0 0 auto;
        }

        .contatos-acoes .btn {
            margin: 0;
        }

        .contatos-feedback {
            padding: 14px 16px;
            display: flex;
            align-items: center;
            gap: 10px;
            border-left-width: 5px;
            border-left-style: solid;
        }

        .contatos-feedback-sucesso {
            border-left-color: #22c55e;
            background: #f0fdf4;
        }

        .contatos-feedback-erro {
            border-left-color: #ef4444;
            background: #fff1f2;
        }

        .contatos-operacao {
            padding: 0;
            overflow: hidden;
        }

        .contatos-operacao-header {
            padding: 15px 17px;
            border-bottom: 1px solid var(--cor-borda);
            background:
                linear-gradient(
                    135deg,
                    #ffffff,
                    #f8fafc
                );
        }

        .contatos-operacao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .contatos-operacao-conteudo {
            padding: 17px;
        }

        .contatos-seletor {
            display: grid;
            grid-template-columns: minmax(240px, 420px) 1fr;
            gap: 16px;
            align-items: end;
        }

        .contatos-seletor select {
            width: 100%;
            margin: 6px 0 0;
        }

        .contatos-form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }

        .contatos-form-grid .form-group-full {
            grid-column: 1 / -1;
        }

        .contatos-form-grid input,
        .contatos-form-grid textarea {
            width: 100%;
            margin: 6px 0 0;
        }

        .contatos-form-grid small {
            display: block;
            margin-top: 6px;
            color: var(--cor-muted);
            font-size: 11px;
        }

        .contatos-form-acoes {
            margin-top: 16px;
            padding-top: 16px;
            border-top: 1px solid var(--cor-borda);
        }

        .contatos-form-acoes .btn {
            margin: 0;
        }

        .contatos-lista-box {
            padding: 0;
            overflow: hidden;
        }

        .contatos-lista-header {
            padding: 15px 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            border-bottom: 1px solid var(--cor-borda);
            background:
                linear-gradient(
                    135deg,
                    #ffffff,
                    #f8fafc
                );
        }

        .contatos-lista-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .contatos-total {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 5px 9px;
            border: 1px solid rgba(37, 99, 255, 0.14);
            border-radius: 999px;
            background: #eef4ff;
            color: #2554b8;
            font-size: 11px;
            font-weight: 900;
        }

        .contatos-lista-conteudo {
            padding: 14px;
            overflow-x: auto;
        }

        .contatos-lista-conteudo table {
            min-width: 820px;
            margin: 0;
            border: 0;
            box-shadow: none;
        }

        .contatos-lista-conteudo .acao a {
            min-height: 32px;
            padding: 7px 10px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            background: #eef4ff;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            text-decoration: none;
        }

        .contatos-lista-conteudo .acao a:hover {
            background: var(--cor-primaria);
            color: #ffffff;
        }

        .contato-nome {
            color: var(--cor-texto-forte);
            font-weight: 900;
        }

        .contato-telefone {
            color: #475569;
            font-family:
                ui-monospace,
                SFMono-Regular,
                Menlo,
                Monaco,
                Consolas,
                monospace;
            font-size: 12px;
        }

        .contato-sem-dado {
            color: #94a3b8;
            font-style: italic;
        }

        .contatos-vazio {
            padding: 26px 18px;
            text-align: center;
            color: var(--cor-muted);
        }

        @media (max-width: 840px) {
            .contatos-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .contatos-acoes,
            .contatos-acoes .btn {
                width: 100%;
            }

            .contatos-seletor {
                grid-template-columns: 1fr;
            }

            .contatos-form-grid {
                grid-template-columns: 1fr;
            }

            .contatos-form-grid .form-group-full {
                grid-column: auto;
            }
        }

        @media (max-width: 560px) {
            .contatos-cabecalho {
                padding: 17px;
            }

            .contatos-cabecalho h2 {
                font-size: 22px;
            }

            .contatos-lista-header {
                align-items: flex-start;
                flex-direction: column;
            }

            .contatos-form-acoes .btn {
                width: 100%;
            }
        }


/* --- Distribuição — Grupo (distribuicao_grupo.php) — CSS migrado no Bloco 12 --- */
.modulo-abas {
    margin: 0 0 18px;
    padding: 7px;
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    border: 1px solid var(--cor-borda);
    border-radius: 13px;
    background: #fff;
}

.modulo-abas a,
.modulo-abas span {
    min-height: 36px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    border-radius: 9px;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.modulo-abas a:hover {
    background: #eef4ff;
    color: var(--cor-primaria);
}

.modulo-abas .ativo {
    background: var(--cor-primaria);
    color: #fff;
}

.modulo-abas .indisponivel {
    opacity: .55;
}

.cabecalho {
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.cabecalho h2 {
    margin: 0 0 7px;
    font-size: 24px;
}

.cabecalho p {
    margin: 0;
    color: var(--cor-muted);
}

.acoes-topo {
    display: flex;
    gap: 8px;
}

.acoes-topo .btn {
    margin: 0;
}

.feedback {
    padding: 14px 16px;
    border-left: 5px solid;
}

.feedback-sucesso {
    border-left-color: #22c55e;
    background: #f0fdf4;
}

.feedback-erro {
    border-left-color: #ef4444;
    background: #fff1f2;
}

.painel {
    padding: 0;
    overflow: hidden;
}

.painel-header {
    padding: 15px 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg,#fff,#f8fafc);
}

.painel-header h2 {
    margin: 0;
    font-size: 17px;
}

.painel-conteudo {
    padding: 17px;
}

.selecao-ferramentas {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.selecao-ferramentas input {
    width: 100%;
    margin: 0;
}

.selecao-acoes {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.selecao-acoes button {
    margin: 0;
}

.contatos-selecao {
    max-height: 410px;
    overflow-y: auto;
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.contato-opcao {
    padding: 11px 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
}

.contato-opcao:hover {
    border-color: rgba(37,99,255,.35);
    background: #f8fbff;
}

.contato-opcao.ja-ativo {
    opacity: .62;
    cursor: not-allowed;
    background: #f8fafc;
}

.contato-opcao.reativavel {
    border-color: rgba(245,158,11,.35);
    background: #fffbeb;
}

.contato-opcao input {
    width: 17px;
    height: 17px;
    margin: 2px 0 0;
    flex: 0 0 auto;
}

.contato-opcao-conteudo {
    min-width: 0;
}

.contato-opcao-nome {
    display: block;
    color: var(--cor-texto-forte);
    font-size: 13px;
    font-weight: 900;
}

.contato-opcao-detalhe {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 11px;
}

.contato-opcao-status {
    display: inline-flex;
    margin-top: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eef4ff;
    color: #2554b8;
    font-size: 10px;
    font-weight: 900;
}

.contato-opcao.reativavel
.contato-opcao-status {
    background: #fef3c7;
    color: #92400e;
}

.form-acoes {
    margin-top: 16px;
    padding-top: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 1px solid var(--cor-borda);
}

.form-acoes .btn {
    margin: 0;
}

.selecionados-contador {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.lista {
    padding: 14px;
    overflow-x: auto;
}

.lista table {
    min-width: 880px;
    margin: 0;
    border: 0;
    box-shadow: none;
}

.numero {
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
    font-size: 12px;
}

.nome {
    font-weight: 900;
    color: var(--cor-texto-forte);
}

.contato-desatualizado {
    display: block;
    margin-top: 4px;
    color: #b45309;
    font-size: 10px;
    font-weight: 800;
}

.form-status {
    margin: 0;
}

.form-status button {
    margin: 0;
    padding: 6px 9px;
    font-size: 11px;
}

.vazio {
    padding: 28px;
    text-align: center;
    color: var(--cor-muted);
}

@media (max-width: 820px) {
    .cabecalho {
        align-items: flex-start;
        flex-direction: column;
    }

    .acoes-topo,
    .acoes-topo .btn {
        width: 100%;
    }

    .contatos-selecao {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .selecao-ferramentas {
        grid-template-columns: 1fr;
    }

    .selecao-acoes {
        width: 100%;
    }

    .selecao-acoes button {
        flex: 1 1 auto;
    }
}


/* --- Distribuição — Envios (distribuicao_envios.php) — CSS migrado no Bloco 12 --- */
.modulo-abas{margin:0 0 18px;padding:7px;display:flex;gap:7px;flex-wrap:wrap;border:1px solid var(--cor-borda);border-radius:13px;background:#fff}.modulo-abas a{min-height:36px;padding:8px 12px;display:inline-flex;align-items:center;border-radius:9px;color:#475569;font-size:12px;font-weight:900;text-decoration:none}.modulo-abas a:hover{background:#eef4ff;color:var(--cor-primaria)}.modulo-abas .ativo{background:var(--cor-primaria);color:#fff}
.cab{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.cab h2{margin:0 0 7px;font-size:25px}.cab p{margin:0;color:var(--cor-muted)}.cab .btn{margin:0}
.resumo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.resumo .box{padding:16px}.resumo small{display:block;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}.resumo strong{display:block;margin-top:7px;font-size:25px}
.painel{padding:0;overflow:hidden}.painel-h{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--cor-borda);background:linear-gradient(135deg,#fff,#f8fafc)}.painel-h h2{margin:0;font-size:17px}.painel-c{padding:17px}
.filtros{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr .8fr;gap:12px;align-items:end}.filtros input,.filtros select{width:100%;margin:6px 0 0}.acoes{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.acoes .btn{margin:0}
.lista{padding:14px;overflow-x:auto}.lista table{min-width:1180px;margin:0;border:0;box-shadow:none}.titulo{font-weight:900}.sub{display:block;margin-top:4px;color:#64748b;font-size:10px}.preview{max-width:360px;white-space:normal;font-size:12px;line-height:1.45}
.status{padding:4px 9px;display:inline-flex;border-radius:999px;font-size:10px;font-weight:900}.status-rascunho,.status-cancelado{background:#e2e8f0;color:#475569}.status-processando,.status-enviando{background:#dbeafe;color:#1d4ed8}.status-concluido,.status-enviado{background:#dcfce7;color:#15803d}.status-parcial,.status-pendente{background:#fef3c7;color:#92400e}.status-falha{background:#fee2e2;color:#b91c1c}
.nums{display:flex;gap:6px;flex-wrap:wrap}.numitem{padding:4px 7px;border-radius:8px;background:#f1f5f9;font-size:10px;font-weight:900}.link{padding:6px 9px;display:inline-flex;border-radius:8px;background:#eef4ff;color:var(--cor-primaria);font-size:11px;font-weight:900;text-decoration:none}.link:hover{background:var(--cor-primaria);color:#fff}
.detgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.det{padding:13px;border:1px solid var(--cor-borda);border-radius:11px;background:#f8fafc}.det small{display:block;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}.det strong{display:block;margin-top:6px}.msg{margin-top:14px;padding:15px;border:1px solid var(--cor-borda);border-radius:11px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.numero,.mid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mid{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#64748b}.erro{max-width:330px;white-space:normal;color:#b91c1c;font-size:11px}.muted{color:#94a3b8;font-style:italic}.sim{color:#15803d;font-weight:900}.vazio{padding:28px;text-align:center;color:var(--cor-muted)}
@media(max-width:1100px){.resumo{grid-template-columns:repeat(3,1fr)}.filtros{grid-template-columns:repeat(2,1fr)}.detgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.cab{align-items:flex-start;flex-direction:column}.resumo,.filtros,.detgrid{grid-template-columns:1fr}}


/* --- Usuário — Formulário (admin/usuario_form.php) — CSS migrado no Bloco 12 --- */
.usuario-form-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .usuario-form-cabecalho-principal {
            min-width: 0;
        }

        .usuario-form-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .usuario-form-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16,185,129,.11);
        }

        .usuario-form-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .usuario-form-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .usuario-form-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .usuario-form-cabecalho-acoes {
            flex: 0 0 auto;
        }

        .usuario-form-cabecalho-acoes .btn {
            margin: 0;
        }

        .usuario-form-feedback {
            padding: 14px 16px;
            border-left-width: 5px;
            border-left-style: solid;
        }

        .usuario-form-feedback-sucesso {
            border-left-color: #22c55e;
            background: #f0fdf4;
        }

        .usuario-form-feedback-erro {
            border-left-color: #ef4444;
            background: #fff1f2;
        }

        .usuario-form-secao {
            padding: 0;
            overflow: hidden;
        }

        .usuario-form-secao-header {
            padding: 15px 17px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .usuario-form-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .usuario-form-secao-conteudo {
            padding: 18px;
        }

        .usuario-form-grid {
            display: grid;
            grid-template-columns: repeat(2,minmax(260px,1fr));
            gap: 16px;
        }

        .usuario-form-grid input,
        .usuario-form-grid select {
            width: 100%;
            margin: 6px 0 0;
        }

        .usuario-form-status {
            margin-top: 18px;
            padding: 13px 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #f8fafc;
        }

        .usuario-form-senha-nota {
            margin-top: 14px;
            padding: 11px 12px;
            border-radius: 10px;
            background: #f8fafc;
            color: var(--cor-muted);
            font-size: 12px;
        }

        .usuario-form-info-grid {
            display: grid;
            grid-template-columns: repeat(3,minmax(200px,1fr));
            gap: 14px;
        }

        .usuario-form-info-item {
            padding: 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #f8fafc;
        }

        .usuario-form-info-item strong {
            display: block;
            margin-bottom: 5px;
            color: var(--cor-muted);
            font-size: 10px;
            letter-spacing: .05em;
            text-transform: uppercase;
        }

        .usuario-form-acoes {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .usuario-form-acoes .btn {
            margin: 0;
        }

        @media (max-width: 760px) {
            .usuario-form-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .usuario-form-grid,
            .usuario-form-info-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 560px) {
            .usuario-form-cabecalho {
                padding: 17px;
            }

            .usuario-form-cabecalho h2 {
                font-size: 22px;
            }

            .usuario-form-cabecalho-acoes,
            .usuario-form-cabecalho-acoes .btn {
                width: 100%;
            }

            .usuario-form-acoes {
                flex-direction: column;
                align-items: stretch;
            }

            .usuario-form-acoes .btn {
                width: 100%;
            }
        }


/* --- Empresa — Formulário (admin/empresa_form.php) — CSS migrado no Bloco 12 --- */
.empresa-form-cabecalho {
            padding: 20px 22px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .empresa-form-cabecalho-principal {
            min-width: 0;
        }

        .empresa-form-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: var(--cor-primaria);
            font-size: 11px;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .empresa-form-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--cor-secundaria);
            box-shadow: 0 0 0 5px rgba(16,185,129,.11);
        }

        .empresa-form-cabecalho h2 {
            margin-bottom: 7px;
            font-size: 25px;
        }

        .empresa-form-cabecalho p {
            margin: 0;
            color: var(--cor-muted);
        }

        .empresa-form-contexto {
            margin-top: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .empresa-form-cabecalho-acoes {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .empresa-form-cabecalho-acoes .btn {
            margin: 0;
        }

        .empresa-form-feedback {
            padding: 14px 16px;
            border-left-width: 5px;
            border-left-style: solid;
        }

        .empresa-form-feedback-sucesso {
            border-left-color: #22c55e;
            background: #f0fdf4;
        }

        .empresa-form-feedback-erro {
            border-left-color: #ef4444;
            background: #fff1f2;
        }

        .empresa-form-layout {
            display: grid;
            grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr);
            gap: 14px;
            align-items: start;
        }

        .empresa-form-secao {
            padding: 0;
            overflow: hidden;
        }

        .empresa-form-secao-header {
            padding: 15px 17px;
            border-bottom: 1px solid var(--cor-borda);
            background: linear-gradient(135deg,#fff,#f8fafc);
        }

        .empresa-form-secao-header h2 {
            margin: 0;
            font-size: 17px;
        }

        .empresa-form-secao-conteudo {
            padding: 18px;
        }

        .empresa-form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }

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

        .empresa-form-grid input,
        .empresa-form-grid select,
        .empresa-form-grid textarea {
            width: 100%;
            margin: 6px 0 0;
        }

        .empresa-form-grid small,
        .empresa-form-ajuda {
            display: block;
            margin-top: 6px;
            color: var(--cor-muted);
            font-size: 11px;
            line-height: 1.5;
        }

        .empresa-form-status-card {
            padding: 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 12px;
            background: #f8fafc;
        }

        .empresa-form-status-card span {
            display: block;
            margin-bottom: 5px;
            color: var(--cor-muted);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .05em;
            text-transform: uppercase;
        }

        .empresa-form-status-card strong {
            color: var(--cor-texto-forte);
            font-size: 14px;
        }

        .empresa-form-status-lista {
            margin: 14px 0 0;
            padding: 0;
            list-style: none;
        }

        .empresa-form-status-lista li {
            padding: 8px 0;
            border-bottom: 1px solid #edf1f7;
            color: #475569;
            font-size: 12px;
        }

        .empresa-form-status-lista li:last-child {
            border-bottom: 0;
        }

        .empresa-form-preview {
            margin-top: 14px;
            padding: 14px;
            border: 1px solid var(--cor-borda);
            border-radius: 12px;
            background: #f8fafc;
        }

        .empresa-form-preview img {
            max-width: 180px;
            max-height: 100px;
            display: block;
            margin-top: 8px;
            padding: 8px;
            border: 1px solid #dce3ec;
            border-radius: 9px;
            background: #fff;
        }

        .empresa-form-cores {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }

        .empresa-form-cor {
            padding: 13px;
            border: 1px solid var(--cor-borda);
            border-radius: 11px;
            background: #f8fafc;
        }

        .empresa-form-cor input[type="color"] {
            width: 100%;
            height: 44px;
            padding: 3px;
        }

        .empresa-form-acoes {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .empresa-form-acoes .btn {
            margin: 0;
        }

        @media (max-width: 920px) {
            .empresa-form-cabecalho {
                align-items: flex-start;
                flex-direction: column;
            }

            .empresa-form-layout {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 620px) {
            .empresa-form-cabecalho {
                padding: 17px;
            }

            .empresa-form-cabecalho h2 {
                font-size: 22px;
            }

            .empresa-form-cabecalho-acoes,
            .empresa-form-cabecalho-acoes .btn {
                width: 100%;
            }

            .empresa-form-grid,
            .empresa-form-cores {
                grid-template-columns: 1fr;
            }

            .empresa-form-grid .campo-largo {
                grid-column: auto;
            }

            .empresa-form-acoes {
                flex-direction: column;
                align-items: stretch;
            }

            .empresa-form-acoes .btn {
                width: 100%;
            }
        }

/* =========================================================================
   Sprint 4.25 — Hotfix 12.1
   Nova conversa + Histórico de distribuições — tema escuro
   =========================================================================

   Após a centralização do Bloco 12, algumas superfícies e textos ainda
   carregavam cores fixas do tema claro. Este hotfix limita as correções
   exclusivamente ao modo escuro e não altera a lógica dos PHP.
   ========================================================================= */

/* -------------------------------------------------------------------------
   Nova conversa
   ------------------------------------------------------------------------- */

html[data-tema="escuro"] .nova-secao-header {
    border-color: var(--cor-borda);
    background: linear-gradient(135deg, #17263c, #132238);
}

html[data-tema="escuro"] .nova-form-grid label,
html[data-tema="escuro"] .nova-form-grid .form-label,
html[data-tema="escuro"] .nova-form-grid > div > strong {
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .nova-form-grid small,
html[data-tema="escuro"] .nova-status,
html[data-tema="escuro"] .nova-cabecalho p {
    color: var(--cor-muted);
}

html[data-tema="escuro"] .nova-resumo-lista li {
    border-color: var(--cor-borda);
    color: var(--cor-texto);
}

html[data-tema="escuro"] .nova-resumo-lista strong {
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .nova-resumo-icone {
    border: 1px solid #314760;
    background: #0d1929;
    color: #dbeafe;
}

html[data-tema="escuro"] .nova-aviso {
    border-color: rgba(245, 158, 11, .38);
    background: rgba(245, 158, 11, .10);
    color: #fcd34d;
}

html[data-tema="escuro"] .nova-sem-contatos {
    border-color: var(--cor-borda);
    background: #0d1929;
    color: var(--cor-muted);
}

/* -------------------------------------------------------------------------
   Histórico de distribuições
   ------------------------------------------------------------------------- */

html[data-tema="escuro"] .modulo-abas {
    border-color: var(--cor-borda);
    background: #111d30;
    box-shadow: none;
}

html[data-tema="escuro"] .modulo-abas a {
    color: #c7d5e6;
}

html[data-tema="escuro"] .modulo-abas a:hover {
    background: #172b47;
    color: #bfdbfe;
}

html[data-tema="escuro"] .modulo-abas .ativo {
    background: var(--cor-primaria);
    color: #ffffff;
}

html[data-tema="escuro"] .painel-h {
    border-color: var(--cor-borda);
    background: linear-gradient(135deg, #17263c, #132238);
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .painel-h h2,
html[data-tema="escuro"] .painel-h strong,
html[data-tema="escuro"] .painel-h span {
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .resumo small,
html[data-tema="escuro"] .sub,
html[data-tema="escuro"] .mid,
html[data-tema="escuro"] .det small {
    color: var(--cor-muted);
}

html[data-tema="escuro"] .numitem {
    border: 1px solid #314760;
    background: #17263c;
    color: #dce8f6;
}

html[data-tema="escuro"] .link {
    border: 1px solid #365780;
    background: #142a49;
    color: #93c5fd;
}

html[data-tema="escuro"] .link:hover {
    border-color: #60a5fa;
    background: #2457a7;
    color: #ffffff;
}

html[data-tema="escuro"] .det {
    border-color: var(--cor-borda);
    background: #0d1929;
    color: var(--cor-texto);
}

html[data-tema="escuro"] .status-rascunho,
html[data-tema="escuro"] .status-cancelado {
    background: #26374d;
    color: #d1d9e6;
}

html[data-tema="escuro"] .status-processando,
html[data-tema="escuro"] .status-enviando {
    background: #18365f;
    color: #93c5fd;
}

html[data-tema="escuro"] .status-concluido,
html[data-tema="escuro"] .status-enviado {
    background: #123b2c;
    color: #86efac;
}

html[data-tema="escuro"] .status-parcial,
html[data-tema="escuro"] .status-pendente {
    background: #4a3510;
    color: #fde68a;
}

html[data-tema="escuro"] .status-falha {
    background: #4b1f29;
    color: #fca5a5;
}

html[data-tema="escuro"] .erro {
    color: #fca5a5;
}

html[data-tema="escuro"] .muted {
    color: #94a3b8;
}

html[data-tema="escuro"] .sim {
    color: #86efac;
}


/* =========================================================================
   Sprint 4.25 — Bloco 13
   Consolidação do legado: tema-escuro-usuario-form.css
   =========================================================================

   Este conteúdo era carregado globalmente por um arquivo CSS separado,
   embora seus seletores sejam exclusivos do formulário de usuários.

   Após este bloco:
   - as regras passam a fazer parte do Design System;
   - o link global do arquivo legado é removido do footer;
   - o arquivo tema-escuro-usuario-form.css pode ser excluído após homologação.
   ========================================================================= */

html[data-tema="escuro"] .usuario-form-cabecalho {
    border-color: #2d435f !important;
    background: #17263c !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .usuario-form-cabecalho h1,
html[data-tema="escuro"] .usuario-form-cabecalho h2 {
    color: #ffffff !important;
}

html[data-tema="escuro"] .usuario-form-cabecalho p,
html[data-tema="escuro"] .usuario-form-kicker {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .usuario-form-secao {
    border-color: #2d435f !important;
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .usuario-form-secao-header {
    border-color: #30455f !important;
    background:
        linear-gradient(
            135deg,
            #17263c,
            #132137
        ) !important;
    color: #ffffff !important;
}

html[data-tema="escuro"] .usuario-form-secao-header h2 {
    color: #ffffff !important;
}

html[data-tema="escuro"] .usuario-form-secao-conteudo {
    background: #111d30 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .usuario-form-grid label,
html[data-tema="escuro"] .usuario-form-secao-conteudo > label {
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .usuario-form-grid input,
html[data-tema="escuro"] .usuario-form-grid select,
html[data-tema="escuro"] .usuario-form-secao input[type="password"] {
    border-color: #38506d !important;
    background: #0d192b !important;
    color: #f8fafc !important;
}

html[data-tema="escuro"] .usuario-form-grid input::placeholder,
html[data-tema="escuro"] .usuario-form-secao input::placeholder {
    color: #71839a !important;
}

/*
 * Blocos de status que estavam brancos na imagem:
 * - Usuário ativo
 * - Enviar mensagens com Enter
 */

html[data-tema="escuro"] .usuario-form-status {
    border-color: #38506d !important;
    background: #142238 !important;
    color: #dce8f6 !important;
    box-shadow: none !important;
}

html[data-tema="escuro"] .usuario-form-status label {
    color: #f1f5f9 !important;
    font-weight: 800;
}

html[data-tema="escuro"] .usuario-form-status .mensagem,
html[data-tema="escuro"] .usuario-form-status p {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .usuario-form-status input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    margin: 0 9px 0 0 !important;
    accent-color: #3b82f6;
    vertical-align: middle;
}

html[data-tema="escuro"] .usuario-form-status input[type="checkbox"]:disabled {
    opacity: .65;
}

html[data-tema="escuro"] .usuario-form-senha-nota,
html[data-tema="escuro"] .usuario-form-info-item {
    border-color: #30455f !important;
    background: #142238 !important;
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .usuario-form-info-item strong {
    color: #a9bdd4 !important;
}

html[data-tema="escuro"] .usuario-form-info-item span,
html[data-tema="escuro"] .usuario-form-info-item div {
    color: #f8fafc !important;
}

html[data-tema="escuro"] .usuario-form-feedback-sucesso {
    border-color: #27644f !important;
    border-left-color: #34d399 !important;
    background: #102a23 !important;
    color: #a7f3d0 !important;
}

html[data-tema="escuro"] .usuario-form-feedback-erro {
    border-color: #7d3541 !important;
    border-left-color: #f87171 !important;
    background: #35181f !important;
    color: #fecdd3 !important;
}

html[data-tema="escuro"] .usuario-form-acoes {
    color: #dce8f6 !important;
}

html[data-tema="escuro"] .usuario-form-acoes .btn-cinza {
    border-color: #38506d !important;
    background: #17263c !important;
    color: #e2e8f0 !important;
}

html[data-tema="escuro"] .usuario-form-acoes .btn-cinza:hover {
    border-color: #5b7da8 !important;
    background: #1c2e48 !important;
    color: #ffffff !important;
}

/* =========================================================================
   Sprint 4.25 — Hotfix 13.1
   Formulário de usuário — checkbox consistente em claro e escuro
   =========================================================================

   Causa:
   O tamanho do checkbox só estava definido dentro da regra do tema escuro.
   No tema claro, o input herdava regras genéricas de formulário e aparecia
   com dimensões muito maiores.

   Correção:
   A dimensão e o alinhamento passam a pertencer ao componente
   .usuario-form-status, independentemente do tema.
   ========================================================================= */

.usuario-form-status input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    margin: 0 9px 0 0 !important;
    padding: 0 !important;
    display: inline-block;
    flex: 0 0 17px;
    vertical-align: middle;
    accent-color: var(--cor-primaria);
}

.usuario-form-status label {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.usuario-form-status input[type="checkbox"]:disabled {
    opacity: .65;
    cursor: not-allowed;
}

/* No escuro muda apenas a cor do controle; o tamanho já é global. */
html[data-tema="escuro"] .usuario-form-status input[type="checkbox"] {
    accent-color: #3b82f6;
}

/* =========================================================================
   Sprint 4.25 — Bloco 14
   Utilitários centralizados — eliminação de style="" fixo
   ========================================================================= */

.gw-hidden { display: none !important; }
.gw-inline { display: inline; }
.gw-width-full { width: 100%; }
.gw-width-full-max-420 { width: 100%; max-width: 420px; }
.gw-width-full-border-box { width: 100%; box-sizing: border-box; }
.gw-width-full-m-0 { width: 100%; margin: 0; }
.gw-width-full-mt-15 { width: 100%; margin-top: 15px; }
.gw-media-fluid-rounded { max-width: 100%; border-radius: 10px; }

.gw-m-0 { margin: 0; }
.gw-m-0-0-6 { margin: 0 0 6px; }
.gw-m-5-0-0 { margin: 5px 0 0; }
.gw-mb-0 { margin-bottom: 0; }
.gw-mt-6 { margin-top: 6px; }
.gw-mt-7 { margin-top: 7px; }
.gw-mt-8 { margin-top: 8px; }
.gw-mt-9 { margin-top: 9px; }
.gw-mt-12 { margin-top: 12px; }
.gw-mt-14 { margin-top: 14px; }

.gw-font-22 { font-size: 22px; }
.gw-font-24 { font-size: 24px; }

/* =========================================================================
   Sprint 4.25 — Hotfix 14.1
   Feriados — checkbox consistente em claro e escuro
   =========================================================================

   Causa:
   .feriados-switch input tinha apenas margin-top, então o checkbox herdava
   dimensões genéricas de input e ficava muito grande.

   Correção:
   define explicitamente o tamanho do checkbox dentro do componente de feriados.
   ========================================================================= */

.feriados-switch input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    display: inline-block;
    flex: 0 0 17px;
    vertical-align: middle;
    accent-color: var(--cor-primaria);
}

.feriados-switch input[type="checkbox"]:disabled {
    opacity: .65;
    cursor: not-allowed;
}

html[data-tema="escuro"] .feriados-switch input[type="checkbox"] {
    accent-color: #3b82f6;
}

/* =========================================================================
   Sprint 4.25 — Hotfix 16.1
   Feriados sem style.css — correções do tema escuro
   ========================================================================= */

html[data-tema="escuro"] .feriados-secao-header {
    border-bottom-color: var(--cor-borda);
    background: linear-gradient(
        135deg,
        var(--cor-card),
        #16243a
    );
}

html[data-tema="escuro"] .feriados-switch {
    border-color: var(--cor-borda);
    background: #16243a;
    color: var(--cor-texto);
}

html[data-tema="escuro"] .feriados-switch strong,
html[data-tema="escuro"] .feriados-switch label {
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .feriados-switch small {
    color: var(--cor-muted);
}

html[data-tema="escuro"] .feriados-nota {
    border-color: rgba(96, 165, 250, .25);
    background: #132238;
    color: #a9bdd4;
}

html[data-tema="escuro"] .feriados-feedback-sucesso {
    border-left-color: #34d399;
    background: rgba(16, 185, 129, .10);
    color: #bbf7d0;
}

html[data-tema="escuro"] .feriados-feedback-erro {
    border-left-color: #f87171;
    background: rgba(220, 38, 38, .10);
    color: #fecaca;
}

/* =========================================================================
   Sprint 4.25 — Hotfix 18.1
   Empresa Form + Personalização — independência do style.css
   ========================================================================= */

/* -------------------------------------------------------------------------
   EMPRESA FORM — checkbox e contraste do tema escuro
   ------------------------------------------------------------------------- */

.empresa-form-grid .campo-largo > label:has(input[type="checkbox"]) {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--cor-texto-forte);
    font-weight: 800;
}

.empresa-form-grid .campo-largo input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 17px;
    accent-color: var(--cor-primaria);
}

html[data-tema="escuro"] .empresa-form-secao-header {
    border-bottom-color: var(--cor-borda);
    background: linear-gradient(
        135deg,
        var(--cor-card),
        #16243a
    );
}

html[data-tema="escuro"] .empresa-form-grid > div > label,
html[data-tema="escuro"] .empresa-form-grid .campo-largo > label {
    color: #dbe7f5;
}

html[data-tema="escuro"] .empresa-form-grid small,
html[data-tema="escuro"] .empresa-form-ajuda {
    color: #a9bdd4;
}

html[data-tema="escuro"] .empresa-form-status-card,
html[data-tema="escuro"] .empresa-form-preview,
html[data-tema="escuro"] .empresa-form-cor {
    border-color: var(--cor-borda);
    background: #132238;
}

html[data-tema="escuro"] .empresa-form-status-card span {
    color: #93a4b8;
}

html[data-tema="escuro"] .empresa-form-status-card strong {
    color: #f8fafc;
}

html[data-tema="escuro"] .empresa-form-status-lista li {
    border-bottom-color: #2b405d;
    color: #b8c8da;
}

html[data-tema="escuro"] .empresa-form-preview img {
    border-color: #d6e0ed;
    background: #ffffff;
}

html[data-tema="escuro"] .empresa-form-feedback-sucesso {
    background: rgba(16, 185, 129, .10);
    color: #bbf7d0;
}

html[data-tema="escuro"] .empresa-form-feedback-erro {
    background: rgba(220, 38, 38, .10);
    color: #fecaca;
}

/* -------------------------------------------------------------------------
   PERSONALIZAÇÃO — superfícies e contraste do tema escuro
   ------------------------------------------------------------------------- */

html[data-tema="escuro"] .personalizacao-secao-header {
    border-bottom-color: var(--cor-borda);
    background: linear-gradient(
        135deg,
        var(--cor-card),
        #16243a
    );
}

html[data-tema="escuro"] .personalizacao-campo > label,
html[data-tema="escuro"] .personalizacao-cor > label {
    color: #e5eef9;
}

html[data-tema="escuro"] .personalizacao-cor {
    border-color: var(--cor-borda);
    background: #132238;
}

html[data-tema="escuro"] .personalizacao-cor input[type="color"] {
    border-color: #415a78;
    background: #0d1929;
}

html[data-tema="escuro"] .personalizacao-cor-codigo {
    color: #a9bdd4;
}

html[data-tema="escuro"] .personalizacao-logo-atual {
    border-color: #415a78;
    background: #f8fafc;
}

/*
 * Logos de clientes podem ter texto preto/transparência.
 * A moldura clara é intencional para manter a identidade legível,
 * mesmo quando o painel está no tema escuro.
 */

html[data-tema="escuro"] .personalizacao-preview {
    border-color: #415a78;
    border-left-color: var(--gestwai-cor-primaria);
    background: linear-gradient(
        135deg,
        #132238,
        #0f1c2e
    );
}

html[data-tema="escuro"] .personalizacao-preview-logo {
    max-width: 240px;
    padding: 10px 14px;
    border: 1px solid #d6e0ed;
    border-radius: 10px;
    background: #f8fafc;
}

html[data-tema="escuro"] .personalizacao-preview p {
    color: #a9bdd4;
}

html[data-tema="escuro"] .personalizacao-nota {
    border-color: rgba(96, 165, 250, .28);
    background: #132238;
    color: #a9bdd4;
}

html[data-tema="escuro"] .personalizacao-feedback-sucesso {
    background: rgba(16, 185, 129, .10);
    color: #bbf7d0;
}

html[data-tema="escuro"] .personalizacao-feedback-erro {
    background: rgba(220, 38, 38, .10);
    color: #fecaca;
}

/* =========================================================================
   Sprint 4.25 — Hotfix 19.1
   Distribuição — contraste no tema escuro sem style.css
   ========================================================================= */

/* Base compartilhada das duas telas */
html[data-tema="escuro"] .pagina-distribuicao-grupo .painel-header,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .painel-header {
    border-bottom-color: var(--cor-borda);
    background: linear-gradient(135deg, #17263c, #132238);
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .painel-header h2,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .painel-header h2 {
    color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .cabecalho p,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .cabecalho p {
    color: #a9bdd4;
}

/* -------------------------------------------------------------------------
   DISTRIBUIÇÃO — GRUPO
   ------------------------------------------------------------------------- */

html[data-tema="escuro"] .pagina-distribuicao-grupo .contato-opcao {
    border-color: #314760;
    background: #132238;
    color: var(--cor-texto);
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .contato-opcao:hover {
    border-color: #60a5fa;
    background: #172b47;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .contato-opcao.ja-ativo {
    border-color: #314760;
    background: #101c2d;
    opacity: .72;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .contato-opcao.reativavel {
    border-color: rgba(245, 158, 11, .42);
    background: rgba(245, 158, 11, .09);
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .contato-opcao-nome {
    color: #f8fafc;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .contato-opcao-detalhe,
html[data-tema="escuro"] .pagina-distribuicao-grupo .selecionados-contador {
    color: #a9bdd4;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .contato-opcao-status {
    border: 1px solid #38526f;
    background: #172b47;
    color: #bfdbfe;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo
.contato-opcao.reativavel .contato-opcao-status {
    border-color: rgba(245, 158, 11, .42);
    background: rgba(245, 158, 11, .13);
    color: #fde68a;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .numero,
html[data-tema="escuro"] .pagina-distribuicao-grupo .nome {
    color: #e5eef9;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .feedback-sucesso {
    border-left-color: #34d399;
    background: rgba(16, 185, 129, .10);
    color: #bbf7d0;
}

html[data-tema="escuro"] .pagina-distribuicao-grupo .feedback-erro {
    border-left-color: #f87171;
    background: rgba(220, 38, 38, .10);
    color: #fecaca;
}

/* -------------------------------------------------------------------------
   DISTRIBUIÇÃO — NOVO ENVIO
   ------------------------------------------------------------------------- */

html[data-tema="escuro"] .pagina-distribuicao-novo-envio label {
    color: #dbe7f5;
    font-weight: 800;
}

html[data-tema="escuro"] .pagina-distribuicao-novo-envio .mensagem,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .contador {
    color: #a9bdd4;
}

html[data-tema="escuro"] .pagina-distribuicao-novo-envio .form-grid input,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .form-grid select,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .form-grid textarea,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .seletor select {
    border-color: #36506d;
    background: #0d1929;
    color: #f8fafc;
    -webkit-text-fill-color: #f8fafc;
}

html[data-tema="escuro"] .pagina-distribuicao-novo-envio .form-grid input::placeholder,
html[data-tema="escuro"] .pagina-distribuicao-novo-envio .form-grid textarea::placeholder {
    color: #8fa4bc;
    opacity: 1;
}

html[data-tema="escuro"] .pagina-distribuicao-novo-envio .aviso {
    border-color: rgba(245, 158, 11, .42);
    background: rgba(245, 158, 11, .11);
    color: #fde68a;
}

html[data-tema="escuro"] .pagina-distribuicao-novo-envio .feedback.ok {
    border-left-color: #34d399;
    background: rgba(16, 185, 129, .10);
    color: #bbf7d0;
}

html[data-tema="escuro"] .pagina-distribuicao-novo-envio .feedback.erro {
    border-left-color: #f87171;
    background: rgba(220, 38, 38, .10);
    color: #fecaca;
}

/* =========================================================================
   Sprint 4.25 — Bloco 22
   Central de Configurações — independência do style.css
   =========================================================================

   Família migrada do legado:
   - config-hub-*
   - estados claro/escuro;
   - responsividade específica da Central de Configurações.

   O bloco original permanece temporariamente em style.css porque outras páginas
   ainda carregam esse arquivo. A remoção física ocorrerá somente após auditoria
   de consumidores.
   ========================================================================= */

/* ========================================================================== 
   GestWAI Sprint 4.20 — Bloco 8
   Correção visual da Central de Configurações nos modos claro e escuro.
   ========================================================================== */
.config-hub-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 18px;
    margin-top: 18px;
}

.config-hub-secao {
    min-width: 0;
}

.config-hub-secao-global {
    margin-top: 18px;
}

.config-hub-card {
    height: auto;
    min-height: 0;
    padding: 18px;
    overflow: hidden;
}

.config-hub-card-global {
    border-left: 5px solid var(--cor-primaria, #2563eb);
}

.config-hub-card-seguranca {
    border-left: 5px solid #64748b;
}

.config-hub-card-cabecalho {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--cor-borda, #d7e0ec);
    background: transparent;
}

.config-hub-card-cabecalho .config-card-titulo {
    color: var(--cor-muted, #64748b);
}

.config-hub-card-cabecalho .config-card-valor {
    color: var(--cor-texto-forte, #0f172a);
}

.config-hub-subgrupos {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.config-hub-subgrupo {
    display: grid;
    gap: 8px;
    padding: 14px 15px;
    border: 1px solid var(--cor-borda, #d7e0ec);
    border-radius: 12px;
    background: var(--cor-fundo-secundario, #f8fafc);
    box-shadow: none;
}

.config-hub-subgrupo h4 {
    margin: 0;
    color: var(--cor-texto-forte, #0f172a);
    font-size: 15px;
    font-weight: 850;
    line-height: 1.3;
}

.config-hub-subgrupo p {
    margin: 0;
    color: var(--cor-muted, #64748b);
    font-size: 13px;
    line-height: 1.45;
}

.config-hub-subgrupo .config-card-acoes {
    margin: 3px -15px -14px;
    padding: 11px 15px 12px;
    border-top: 1px solid var(--cor-borda, #d7e0ec);
    background: transparent;
}

.config-hub-recursos,
.config-hub-status-resumo {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 13px 0;
}

.config-hub-recursos span {
    padding: 6px 10px;
    border: 1px solid var(--cor-borda, #d7e0ec);
    border-radius: 999px;
    background: var(--cor-fundo-secundario, #f1f5f9);
    color: var(--cor-texto, #334155);
    font-size: 12px;
    line-height: 1.2;
}

html[data-tema="escuro"] .config-hub-card-cabecalho {
    border-bottom-color: #314158;
}

html[data-tema="escuro"] .config-hub-card-cabecalho .config-card-titulo {
    color: #9fb0c7;
}

html[data-tema="escuro"] .config-hub-card-cabecalho .config-card-valor,
html[data-tema="escuro"] .config-hub-subgrupo h4 {
    color: #f3f7ff;
}

html[data-tema="escuro"] .config-hub-subgrupo {
    border-color: #314158;
    background: #111d30;
}

html[data-tema="escuro"] .config-hub-subgrupo p {
    color: #aebdd0;
}

html[data-tema="escuro"] .config-hub-subgrupo .config-card-acoes {
    border-top-color: #314158;
    background: #142239;
}

html[data-tema="escuro"] .config-hub-recursos span {
    border-color: #3a4b63;
    background: #1b2a42;
    color: #d9e5f5;
}

html[data-tema="escuro"] .config-hub-card .config-card-icone {
    border-color: #40526b;
    background: #e8eef6;
}

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

@media (max-width: 600px) {
    .config-hub-card {
        padding: 15px;
    }

    .config-hub-card-cabecalho {
        gap: 10px;
    }

    .config-hub-subgrupo {
        padding: 13px;
    }

    .config-hub-subgrupo .config-card-acoes {
        margin-right: -13px;
        margin-bottom: -13px;
        margin-left: -13px;
        padding-right: 13px;
        padding-left: 13px;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 23
   Histórico + Alertas — independência do style.css
   =========================================================================

   Famílias migradas:
   - historico-*
   - categoria-atendimento-form / atual / badge
   ========================================================================= */

/*
|--------------------------------------------------------------------------
| Sprint 4.19.1.1 — Histórico e Alertas unificados
|--------------------------------------------------------------------------
*/
.historico-abas {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: -8px 0 18px;
    padding: 6px;
    border: 1px solid var(--borda, #e2e8f0);
    border-radius: 12px;
    background: var(--fundo-card, #fff);
    width: fit-content;
}

.historico-abas a {
    padding: 9px 14px;
    border-radius: 9px;
    color: var(--texto-secundario, #475569);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.historico-abas a:hover,
.historico-abas a:focus-visible,
.historico-abas a.ativo {
    background: var(--cor-primaria, #2563eb);
    color: #fff;
}

.historico-cabecalho {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.historico-cabecalho h2 {
    margin: 4px 0 6px;
}

.historico-cabecalho p {
    margin: 0;
    color: var(--texto-secundario, #64748b);
}

.historico-kicker {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--cor-primaria, #2563eb);
}

.historico-filtros form {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(145px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.historico-filtros label {
    display: grid;
    gap: 6px;
}

.historico-filtros label > span {
    font-size: 12px;
    font-weight: 800;
}

.historico-filtros-acoes {
    display: flex;
    gap: 8px;
}

.historico-tabela-wrap {
    overflow: auto;
}

.historico-tabela {
    min-width: 1050px;
}

.historico-resumo {
    max-width: 300px;
    color: var(--texto-secundario, #64748b);
}

.historico-vazio {
    padding: 36px 16px !important;
    text-align: center;
    color: var(--texto-secundario, #64748b);
}

@media (max-width: 1050px) {
    .historico-filtros form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .historico-abas {
        width: 100%;
    }

    .historico-abas a {
        flex: 1;
        text-align: center;
    }

    .historico-cabecalho {
        flex-direction: column;
    }

    .historico-filtros form {
        grid-template-columns: 1fr;
    }
}

/* Sprint 4.22 — Bloco 6: categorias de atendimento */
.categoria-atendimento-form {
    border-top: 1px solid var(--borda, #d8e0ec);
    padding-top: 12px;
    margin-top: 12px;
}
.categoria-atendimento-atual {
    display: block;
    margin-top: 7px;
    font-size: 0.78rem;
    color: var(--texto-secundario, #667085);
}
.categoria-atendimento-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid #60a5fa;
    background: #dbeafe;
    color: #1e3a8a;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}
html[data-tema="escuro"] .categoria-atendimento-form {
    border-top-color: #31445f;
}
html[data-tema="escuro"] .categoria-atendimento-atual {
    color: #aebed2;
}
html[data-tema="escuro"] .categoria-atendimento-badge {
    border-color: #3b82f6;
    background: #18345e;
    color: #dbeafe;
}

/* =========================================================================
   Sprint 4.25 — Bloco 25
   Diagnósticos multiempresa + Permissões do usuário sem style.css
   ========================================================================= */

.multiempresa-auditoria-pagina{display:grid;gap:16px;padding:16px}.multiempresa-auditoria-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:20px}.multiempresa-auditoria-cabecalho h1{margin:6px 0}.multiempresa-auditoria-cabecalho p{margin:0;color:var(--texto-secundario,#94a3b8)}.multiempresa-auditoria-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.multiempresa-auditoria-resumo .card{padding:18px}.multiempresa-auditoria-resumo span{display:block;color:var(--texto-secundario,#94a3b8);margin-bottom:8px}.multiempresa-auditoria-resumo strong{font-size:1.35rem}.multiempresa-erro{display:block;margin-top:6px;color:#fca5a5;max-width:900px;white-space:normal}.multiempresa-auditoria-nota p{margin-bottom:0}@media(max-width:900px){.multiempresa-auditoria-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.multiempresa-auditoria-cabecalho{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.multiempresa-auditoria-resumo{grid-template-columns:1fr}}

/* Tema escuro explícito para a auditoria multiempresa */
html[data-tema="escuro"] .multiempresa-auditoria-pagina {
    color: var(--cor-texto);
}

html[data-tema="escuro"] .multiempresa-auditoria-cabecalho p,
html[data-tema="escuro"] .multiempresa-auditoria-resumo span {
    color: #afc1d6;
}

html[data-tema="escuro"] .multiempresa-auditoria-nota {
    border-color: var(--cor-borda);
    background: #132137;
    color: #dbe7f5;
}


/* Usuário > Permissões */
.permissoes-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.permissoes-topo h1 {
    margin: 0 0 6px;
}

.permissoes-identidade {
    margin: 0;
    color: var(--cor-muted);
}

.permissoes-grupo {
    padding: 18px;
    margin-bottom: 14px;
    border: 1px solid var(--cor-borda);
    border-radius: var(--radius-lg);
    background: var(--cor-card);
    box-shadow: var(--sombra-suave);
}

.permissoes-grupo h2 {
    margin: 0 0 12px;
}

.permissao-item {
    padding: 14px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
    gap: 18px;
    align-items: center;
    border-bottom: 1px solid var(--cor-borda);
}

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

.permissao-item h3 {
    margin: 0 0 4px;
    font-size: 14px;
}

.permissao-item p,
.permissao-meta {
    margin: 0;
    color: var(--cor-muted);
    font-size: 12px;
}

.permissao-select {
    width: 100%;
    margin: 0;
}

html[data-tema="escuro"] .permissoes-topo,
html[data-tema="escuro"] .permissoes-grupo,
html[data-tema="escuro"] .permissao-item {
    background: #132137;
    border-color: #304660;
    color: #e8f0fa;
}

html[data-tema="escuro"] .permissoes-grupo h2,
html[data-tema="escuro"] .permissao-item h3,
html[data-tema="escuro"] .permissoes-topo h1 {
    color: #f5f8fc;
    -webkit-text-fill-color: #f5f8fc;
}

html[data-tema="escuro"] .permissoes-identidade,
html[data-tema="escuro"] .permissao-item p,
html[data-tema="escuro"] .permissao-meta {
    color: #afc1d6;
    -webkit-text-fill-color: #afc1d6;
}

html[data-tema="escuro"] .permissao-select {
    background: #0d192b;
    border-color: #3a516f;
    color: #f4f7fb;
    -webkit-text-fill-color: #f4f7fb;
}

@media (max-width: 760px) {
    .permissoes-topo {
        flex-direction: column;
    }

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

/* =========================================================================
   Sprint 4.25 — Hotfix 26.1
   Conhecimento — correção da migração do Bloco 26
   =========================================================================

   Corrige a importação excessiva de CSS legado feita no Bloco 26.
   Mantém somente os componentes realmente necessários para:
   - conhecimento_importar.php
   - conhecimento_revisoes.php

   Também explicita cores/superfícies dos cabeçalhos do módulo para não gerar
   texto escuro sobre fundo escuro ou fundo escuro indevido no tema claro.
   ========================================================================= */

.conhecimento-cabecalho {
    margin-bottom: 22px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.conhecimento-cabecalho > div:first-child {
    min-width: 0;
}

.conhecimento-cabecalho h1,
.conhecimento-cabecalho h2 {
    margin-top: 0;
    color: var(--cor-texto-forte);
}

.conhecimento-cabecalho p,
.conhecimento-cabecalho .texto-muted {
    color: var(--cor-muted);
}

.conhecimento-grade {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    gap: 18px;
    align-items: start;
}

.conhecimento-vazio {
    padding: 34px 22px;
    text-align: center;
    color: var(--cor-muted);
}

.conhecimento-aviso {
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    background: var(--cor-fundo-suave);
    color: var(--cor-texto);
}

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

.conhecimento-metricas {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.conhecimento-metricas .card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
}

.conhecimento-metricas strong {
    color: var(--cor-texto-forte);
    font-size: 1.55rem;
}

.conhecimento-metricas .texto-muted,
.conhecimento-metricas span {
    color: var(--cor-muted);
}

.conhecimento-metricas-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.conhecimento-filtros-qualidade {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 14px;
}

/* Proteção explícita do módulo nos dois temas. */
html:not([data-tema="escuro"]) .conhecimento-cabecalho h1,
html:not([data-tema="escuro"]) .conhecimento-cabecalho h2 {
    color: #172033;
}

html:not([data-tema="escuro"]) .conhecimento-cabecalho p,
html:not([data-tema="escuro"]) .conhecimento-cabecalho .texto-muted {
    color: #64748b;
}

html:not([data-tema="escuro"]) .conhecimento-aviso {
    border-color: #d7dce3;
    background: #f7f9fc;
    color: #172033;
}

html[data-tema="escuro"] .conhecimento-cabecalho h1,
html[data-tema="escuro"] .conhecimento-cabecalho h2 {
    color: #f5f8fc;
    -webkit-text-fill-color: #f5f8fc;
}

html[data-tema="escuro"] .conhecimento-cabecalho p,
html[data-tema="escuro"] .conhecimento-cabecalho .texto-muted,
html[data-tema="escuro"] .conhecimento-vazio {
    color: #afc1d6;
    -webkit-text-fill-color: #afc1d6;
}

html[data-tema="escuro"] .conhecimento-aviso {
    border-color: #304660;
    background: #132137;
    color: #e8f0fa;
}

html[data-tema="escuro"] .conhecimento-metricas .card {
    border-color: #304660;
    background: #132137;
    color: #e8f0fa;
    box-shadow: none;
}

html[data-tema="escuro"] .conhecimento-metricas strong {
    color: #f5f8fc;
    -webkit-text-fill-color: #f5f8fc;
}

html[data-tema="escuro"] .conhecimento-metricas .texto-muted,
html[data-tema="escuro"] .conhecimento-metricas span {
    color: #afc1d6;
    -webkit-text-fill-color: #afc1d6;
}

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

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

@media (max-width: 760px) {
    .form-grid-2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .conhecimento-metricas,
    .conhecimento-metricas-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .conhecimento-filtros-qualidade {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 480px) {
    .conhecimento-metricas,
    .conhecimento-metricas-3 {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 27
   Base de Conhecimento — página principal sem style.css
   ========================================================================= */

.pagina-conhecimento .conhecimento-cabecalho-acoes {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pagina-conhecimento .conhecimento-cabecalho-acoes .btn {
    margin: 0;
}

.pagina-conhecimento .conhecimento-resumo {
    margin-bottom: 22px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.pagina-conhecimento .conhecimento-card-resumo {
    padding: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(15, 23, 42, 0.05);
}

.pagina-conhecimento .conhecimento-card-resumo strong {
    display: block;
    color: #172033;
    font-size: 25px;
    line-height: 1.1;
}

.pagina-conhecimento .conhecimento-card-resumo span {
    margin-top: 7px;
    display: block;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.pagina-conhecimento .conhecimento-etapas {
    margin: 0;
    padding-left: 20px;
}

.pagina-conhecimento .conhecimento-etapas li + li {
    margin-top: 8px;
}

.pagina-conhecimento .conhecimento-vazio-icone {
    margin-bottom: 10px;
    display: block;
    font-size: 36px;
}

/* Claro explícito para impedir regressões de contraste. */
html[data-tema="claro"] .pagina-conhecimento {
    color: #172033;
    background: #f4f7fb;
}

html[data-tema="claro"] .pagina-conhecimento .conhecimento-cabecalho h1,
html[data-tema="claro"] .pagina-conhecimento .conhecimento-cabecalho h2 {
    color: #172033;
    -webkit-text-fill-color: #172033;
}

html[data-tema="claro"] .pagina-conhecimento .conhecimento-cabecalho p,
html[data-tema="claro"] .pagina-conhecimento .texto-muted {
    color: #64748b;
    -webkit-text-fill-color: #64748b;
}

/* Escuro explícito. */
html[data-tema="escuro"] .pagina-conhecimento .conhecimento-card-resumo {
    border-color: var(--cor-borda);
    background: var(--cor-card);
    box-shadow: var(--sombra-suave);
}

html[data-tema="escuro"] .pagina-conhecimento .conhecimento-card-resumo strong {
    color: var(--cor-texto-forte);
    -webkit-text-fill-color: var(--cor-texto-forte);
}

html[data-tema="escuro"] .pagina-conhecimento .conhecimento-card-resumo span {
    color: var(--cor-muted);
    -webkit-text-fill-color: var(--cor-muted);
}

@media (max-width: 720px) {
    .pagina-conhecimento .conhecimento-cabecalho-acoes {
        width: 100%;
    }

    .pagina-conhecimento .conhecimento-cabecalho-acoes .btn {
        flex: 1 1 180px;
        justify-content: center;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 28 — Conhecimento: Categorias + Assistente IA
   ========================================================================= */

.pagina-conhecimento-categorias .conhecimento-cabecalho,
.pagina-conhecimento-ia .conhecimento-cabecalho {
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.pagina-conhecimento-categorias .conhecimento-cabecalho h1,
.pagina-conhecimento-ia .conhecimento-cabecalho h1 {
    margin: 0 0 6px;
    color: #172033;
    font-size: clamp(1.75rem, 2vw, 2.2rem);
    line-height: 1.15;
}

.pagina-conhecimento-categorias .conhecimento-cabecalho p,
.pagina-conhecimento-ia .conhecimento-cabecalho p {
    margin: 0;
    color: #64748b;
}

/* Categorias */
.pagina-conhecimento-categorias .conhecimento-grade {
    display: grid;
    grid-template-columns: minmax(360px, .9fr) minmax(520px, 1.45fr);
    gap: 20px;
    align-items: start;
}

.pagina-conhecimento-categorias .conhecimento-categorias-form-card,
.pagina-conhecimento-categorias .conhecimento-categorias-lista-card {
    min-width: 0;
    padding: 22px;
}

.pagina-conhecimento-categorias .conhecimento-categorias-form {
    display: grid;
    gap: 16px;
}

.pagina-conhecimento-categorias .conhecimento-categorias-form .form-group {
    margin: 0;
    display: grid;
    gap: 7px;
}

.pagina-conhecimento-categorias .conhecimento-categorias-form label {
    color: #334155;
    font-weight: 700;
}

.pagina-conhecimento-categorias .conhecimento-categorias-form input[type="text"],
.pagina-conhecimento-categorias .conhecimento-categorias-form input[type="number"],
.pagina-conhecimento-categorias .conhecimento-categorias-form select,
.pagina-conhecimento-categorias .conhecimento-categorias-form textarea {
    width: 100%;
    min-width: 0;
}

.pagina-conhecimento-categorias .conhecimento-categorias-form textarea {
    min-height: 112px;
    resize: vertical;
}

.pagina-conhecimento-categorias .form-grid-2 {
    display: grid;
    grid-template-columns: minmax(140px, .55fr) minmax(220px, 1fr);
    gap: 16px;
    align-items: end;
}

.pagina-conhecimento-categorias .conhecimento-categorias-checkbox {
    display: flex !important;
    align-items: center;
    min-height: 42px;
}

.pagina-conhecimento-categorias .conhecimento-categorias-checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.pagina-conhecimento-categorias .conhecimento-categorias-checkbox input[type="checkbox"] {
    width: 17px;
    height: 17px;
    margin: 0;
    flex: 0 0 17px;
}

.pagina-conhecimento-categorias .conhecimento-cabecalho-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pagina-conhecimento-categorias .conhecimento-vazio {
    min-height: 190px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
}

.pagina-conhecimento-categorias .conhecimento-vazio-icone {
    display: block;
    font-size: 34px;
}

.pagina-conhecimento-categorias .conhecimento-categorias-tabela {
    width: 100%;
    overflow-x: auto;
}

.pagina-conhecimento-categorias .conhecimento-categorias-tabela table {
    min-width: 680px;
    margin-bottom: 0;
}

.pagina-conhecimento-categorias .form-inline {
    display: inline-flex;
    margin: 0 0 0 6px;
}

/* Assistente IA */
.pagina-conhecimento-ia .conhecimento-ia-consulta-card {
    max-width: 980px;
    margin: 0 auto;
    padding: 24px;
}

.pagina-conhecimento-ia .conhecimento-ia-form {
    display: grid;
    gap: 16px;
}

.pagina-conhecimento-ia .conhecimento-ia-pergunta {
    margin: 0;
    display: grid;
    gap: 8px;
}

.pagina-conhecimento-ia .conhecimento-ia-pergunta label {
    color: #334155;
    font-weight: 800;
}

.pagina-conhecimento-ia #perguntaConhecimentoIa {
    width: 100%;
    min-height: 150px;
    resize: vertical;
}

.pagina-conhecimento-ia .conhecimento-ia-pergunta small {
    display: block;
    color: #64748b;
}

.pagina-conhecimento-ia .conhecimento-cabecalho-acoes,
.pagina-conhecimento-ia .conhecimento-feedback-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pagina-conhecimento-ia .conhecimento-ia-resultado {
    max-width: 980px;
    margin: 20px auto 0;
    display: grid;
    gap: 16px;
}

.pagina-conhecimento-ia .conhecimento-resultados-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.pagina-conhecimento-ia .conhecimento-resultados-topo h2 {
    margin: 0;
}

.pagina-conhecimento-ia .conhecimento-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.pagina-conhecimento-ia .conhecimento-ia-resposta {
    margin-top: 16px;
    padding: 18px;
    border: 1px solid #d7dce3;
    border-radius: 12px;
    background: #f8fafc;
    color: #172033;
    line-height: 1.7;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.pagina-conhecimento-ia .conhecimento-ia-fonte {
    padding: 14px 0;
    border-bottom: 1px solid #e2e8f0;
}

.pagina-conhecimento-ia .conhecimento-ia-fonte:last-child {
    border-bottom: 0;
}

.pagina-conhecimento-ia .conhecimento-link-titulo {
    color: var(--cor-primaria);
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
}

.pagina-conhecimento-ia .conhecimento-link-titulo:hover,
.pagina-conhecimento-ia .conhecimento-link-titulo:focus-visible {
    text-decoration: underline;
}

.pagina-conhecimento-ia .conhecimento-feedback-card {
    margin-top: 0;
}

.pagina-conhecimento-ia .conhecimento-feedback-acoes {
    margin: 12px 0;
}

.pagina-conhecimento-ia .conhecimento-feedback-detalhes {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.pagina-conhecimento-ia .conhecimento-feedback-detalhes .form-group {
    display: grid;
    gap: 7px;
    margin: 0;
}

.pagina-conhecimento-ia .conhecimento-feedback-detalhes select,
.pagina-conhecimento-ia .conhecimento-feedback-detalhes textarea {
    width: 100%;
}

@media (max-width: 1050px) {
    .pagina-conhecimento-categorias .conhecimento-grade {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .pagina-conhecimento-categorias .form-grid-2 {
        grid-template-columns: 1fr;
    }

    .pagina-conhecimento-categorias .conhecimento-cabecalho,
    .pagina-conhecimento-ia .conhecimento-cabecalho {
        align-items: stretch;
    }

    .pagina-conhecimento-categorias .conhecimento-cabecalho > .btn,
    .pagina-conhecimento-ia .conhecimento-cabecalho > .btn {
        width: 100%;
        justify-content: center;
    }

    .pagina-conhecimento-ia .conhecimento-resultados-topo {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 29
   Conhecimento — Histórico + Qualidade sem style.css
   CSS estritamente escopado às páginas
   ========================================================================= */

.pagina-conhecimento-historico .conhecimento-fila-tratamento,
.pagina-conhecimento-qualidade .conhecimento-fila-tratamento {
    display: grid;
    gap: 16px;
}

.pagina-conhecimento-historico .conhecimento-feedback-item,
.pagina-conhecimento-qualidade .conhecimento-feedback-item {
    padding: 18px;
    border: 1px solid var(--cor-borda, #d7dce3);
    border-radius: 12px;
    background: var(--cor-card, #ffffff);
}

.pagina-conhecimento-historico .conhecimento-feedback-item-topo,
.pagina-conhecimento-qualidade .conhecimento-feedback-item-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.pagina-conhecimento-historico .conhecimento-feedback-item-topo > div,
.pagina-conhecimento-qualidade .conhecimento-feedback-item-topo > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pagina-conhecimento-qualidade .conhecimento-feedback-item-dados {
    margin-bottom: 16px;
}

.pagina-conhecimento-qualidade .conhecimento-tratamento-grade {
    display: grid;
    grid-template-columns:
        minmax(180px, .8fr)
        minmax(260px, 1.6fr);
    gap: 14px;
}

.pagina-conhecimento-historico .conhecimento-historico-grade {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.pagina-conhecimento-historico .conhecimento-historico-grade > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pagina-conhecimento-historico .conhecimento-historico-grade strong {
    color: var(--cor-muted, #64748b);
    font-size: .82rem;
}

.pagina-conhecimento-qualidade .conhecimento-paginacao {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
}

/* Claro explícito */
html[data-tema="claro"] .pagina-conhecimento-historico .conhecimento-feedback-item,
html[data-tema="claro"] .pagina-conhecimento-qualidade .conhecimento-feedback-item {
    border-color: #d7dce3;
    background: #ffffff;
    color: #172033;
}

html[data-tema="claro"] .pagina-conhecimento-historico .conhecimento-historico-grade strong {
    color: #64748b;
}

/* Responsividade */
@media (max-width: 800px) {
    .pagina-conhecimento-historico .conhecimento-historico-grade {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .pagina-conhecimento-historico .conhecimento-feedback-item-topo,
    .pagina-conhecimento-qualidade .conhecimento-feedback-item-topo {
        flex-direction: column;
    }

    .pagina-conhecimento-qualidade .conhecimento-tratamento-grade {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .pagina-conhecimento-historico .conhecimento-historico-grade {
        grid-template-columns: 1fr;
    }

    .pagina-conhecimento-qualidade .conhecimento-paginacao {
        flex-direction: column;
        align-items: stretch;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 30
   Navegação interna da Base de Conhecimento + índice de históricos
   ========================================================================= */

.conhecimento-subnav {
    margin: 10px 0 16px;
}

.conhecimento-subnav-conteudo {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px;
    overflow-x: auto;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
    scrollbar-width: thin;
}

.conhecimento-subnav-item {
    min-height: 38px;
    padding: 8px 11px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #475569;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.conhecimento-subnav-item:hover,
.conhecimento-subnav-item:focus-visible {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
    text-decoration: none;
}

.conhecimento-subnav-item.ativo {
    border-color: #2563ff;
    background: #2563ff;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(37, 99, 255, .18);
}

.conhecimento-subnav-icone {
    font-size: 14px;
    line-height: 1;
}

.pagina-conhecimento-historico-lista .conhecimento-historico-lista-filtros {
    margin-bottom: 16px;
}

.pagina-conhecimento-historico-lista .conhecimento-historico-lista-filtros form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.pagina-conhecimento-historico-lista .conhecimento-historico-lista-filtros .form-group {
    margin: 0;
    display: grid;
    gap: 6px;
}

.pagina-conhecimento-historico-lista .conhecimento-historico-lista-filtros input {
    width: 100%;
}

.pagina-conhecimento-historico-lista .conhecimento-historico-lista-acoes {
    display: flex;
    gap: 8px;
}

.pagina-conhecimento-historico-lista .conhecimento-historico-lista-card {
    overflow: hidden;
}

.pagina-conhecimento-historico-lista .conhecimento-resultados-topo {
    margin-bottom: 14px;
}

.pagina-conhecimento-historico-lista .conhecimento-resultados-topo h2 {
    margin-bottom: 4px;
}

.pagina-conhecimento-historico-lista .tabela-responsiva {
    margin: 0;
}

.pagina-conhecimento-historico-lista table small {
    margin-top: 4px;
    display: block;
    color: #64748b;
}

@media (max-width: 720px) {
    .pagina-conhecimento-historico-lista .conhecimento-historico-lista-filtros form {
        grid-template-columns: 1fr;
    }

    .pagina-conhecimento-historico-lista .conhecimento-historico-lista-acoes {
        flex-wrap: wrap;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 31
   Conhecimento — Pesquisa + Visualização sem style.css
   ========================================================================= */

/* Pesquisa */
.pagina-conhecimento-busca .conhecimento-busca-linha {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(150px, 1fr));
    gap: 16px;
    align-items: end;
}

.pagina-conhecimento-busca .conhecimento-busca-texto {
    min-width: 0;
}

.pagina-conhecimento-busca .conhecimento-resultados {
    margin-top: 20px;
}

.pagina-conhecimento-busca .conhecimento-resultados-topo,
.pagina-conhecimento-busca .conhecimento-resultado-cabecalho,
.pagina-conhecimento-busca .conhecimento-resultado-rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.pagina-conhecimento-busca .conhecimento-resultado-item {
    margin-bottom: 14px;
}

.pagina-conhecimento-busca .conhecimento-resultado-metadados {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 5px;
    color: #667085;
    font-size: .9rem;
}

.pagina-conhecimento-busca .conhecimento-resultado-rodape {
    margin-top: 14px;
}

/* Visualização */
.pagina-conhecimento-visualizar .conhecimento-leitura {
    max-width: 1100px;
}

.pagina-conhecimento-visualizar .conhecimento-artigo-resumo {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--cor-borda, #d7dce3);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.65;
}

.pagina-conhecimento-visualizar .conhecimento-artigo-conteudo {
    white-space: normal;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.pagina-conhecimento-visualizar .conhecimento-fonte {
    margin-top: 18px;
}

.pagina-conhecimento-visualizar .conhecimento-fonte-grade {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}

.pagina-conhecimento-visualizar .conhecimento-fonte-grade div {
    min-width: 0;
}

.pagina-conhecimento-visualizar .conhecimento-fonte-grade dt {
    margin-bottom: 5px;
    color: #667085;
    font-size: .82rem;
    font-weight: 700;
}

.pagina-conhecimento-visualizar .conhecimento-fonte-grade dd {
    margin: 0;
    overflow-wrap: anywhere;
}

/* Claro explícito */
html[data-tema="claro"] .pagina-conhecimento-busca .conhecimento-resultado-metadados,
html[data-tema="claro"] .pagina-conhecimento-visualizar .conhecimento-fonte-grade dt {
    color: #667085;
}

/* Responsividade */
@media (max-width: 980px) {
    .pagina-conhecimento-busca .conhecimento-busca-linha {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pagina-conhecimento-visualizar .conhecimento-fonte-grade {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .pagina-conhecimento-busca .conhecimento-busca-linha,
    .pagina-conhecimento-visualizar .conhecimento-fonte-grade {
        grid-template-columns: 1fr;
    }

    .pagina-conhecimento-busca .conhecimento-resultados-topo,
    .pagina-conhecimento-busca .conhecimento-resultado-cabecalho,
    .pagina-conhecimento-busca .conhecimento-resultado-rodape {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 32
   Conhecimento — formulário de artigo sem style.css
   ========================================================================= */

.pagina-conhecimento-artigo-form .conhecimento-form-card {
    max-width: 1180px;
    margin-right: auto;
    margin-left: auto;
    padding: clamp(18px, 2.4vw, 30px);
}

.pagina-conhecimento-artigo-form .conhecimento-form {
    display: grid;
    gap: 22px;
}

.pagina-conhecimento-artigo-form .conhecimento-form .conhecimento-form-campo {
    display: grid;
    gap: 8px;
    min-width: 0;
    margin: 0;
}

.pagina-conhecimento-artigo-form .conhecimento-form .conhecimento-form-campo label {
    color: var(--cor-texto-forte);
    font-weight: 800;
}

.pagina-conhecimento-artigo-form .conhecimento-form .conhecimento-form-campo input,
.pagina-conhecimento-artigo-form .conhecimento-form .conhecimento-form-campo select,
.pagina-conhecimento-artigo-form .conhecimento-form .conhecimento-form-campo textarea {
    width: 100%;
    max-width: none;
    margin: 0;
}

.pagina-conhecimento-artigo-form .conhecimento-form-titulo input {
    font-size: 16px;
    font-weight: 700;
}

.pagina-conhecimento-artigo-form .conhecimento-form-resumo textarea {
    min-height: 110px;
    resize: vertical;
}

.pagina-conhecimento-artigo-form .conhecimento-form-conteudo textarea {
    min-height: 420px;
    resize: vertical;
    line-height: 1.6;
}

.pagina-conhecimento-artigo-form .conhecimento-form-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: #f8fafc;
}

.pagina-conhecimento-artigo-form .conhecimento-form-acoes {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 4px;
}

.pagina-conhecimento-artigo-form .conhecimento-form-acoes .btn {
    margin: 0;
}

.pagina-conhecimento-artigo-form .conhecimento-form-grid {
    align-items: start;
}

/* Tema claro explícito */
html[data-tema="claro"] .pagina-conhecimento-artigo-form .conhecimento-form-card {
    border-color: #dbe4f0;
    background: #ffffff;
}

html[data-tema="claro"] .pagina-conhecimento-artigo-form .conhecimento-form-status {
    border-color: #dbe4f0;
    background: #f8fafc;
    color: #172033;
}

@media (max-width: 700px) {
    .pagina-conhecimento-artigo-form .conhecimento-form-card {
        padding: 16px;
    }

    .pagina-conhecimento-artigo-form .conhecimento-form-conteudo textarea {
        min-height: 320px;
    }

    .pagina-conhecimento-artigo-form .conhecimento-form-acoes .btn {
        width: 100%;
        justify-content: center;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 33
   Admin — Filas de atendimento sem style.css
   ========================================================================= */

.pagina-admin-filas .filas-grid {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.pagina-admin-filas .fila-form label {
    display: grid;
    gap: 5px;
    margin-bottom: 10px;
}

.pagina-admin-filas .fila-form input,
.pagina-admin-filas .fila-form textarea,
.pagina-admin-filas .fila-form select {
    width: 100%;
}

.pagina-admin-filas .fila-card {
    margin-bottom: 12px;
    border-left: 5px solid var(--fila-cor, #2563eb);
}

.pagina-admin-filas .fila-topo {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.pagina-admin-filas .fila-meta {
    color: #64748b;
    font-size: 12px;
}

.pagina-admin-filas .fila-status-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.pagina-admin-filas .fila-membros {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin: 12px 0;
}

.pagina-admin-filas .fila-membro {
    padding: 8px;
    border: 1px solid #d8e0ea;
    border-radius: 9px;
    background: #f8fafc;
}

html[data-tema="claro"] .pagina-admin-filas .fila-card,
html[data-tema="claro"] .pagina-admin-filas .fila-form {
    background: #ffffff;
    color: #172033;
}

@media (max-width: 920px) {
    .pagina-admin-filas .filas-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pagina-admin-filas .fila-topo {
        flex-direction: column;
    }

    .pagina-admin-filas .fila-membros {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 34
   Admin — Triagem automática sem style.css
   ========================================================================= */

.pagina-admin-triagem .triagem-cabecalho-navegacao {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.pagina-admin-triagem .triagem-cabecalho-navegacao h1 {
    margin-top: 0;
    margin-bottom: 6px;
}

.pagina-admin-triagem .triagem-cabecalho-navegacao p {
    margin-bottom: 4px;
}

.pagina-admin-triagem .triagem-cabecalho-navegacao small {
    color: var(--cor-muted);
}

.pagina-admin-triagem .triagem-resumo-operacional {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.pagina-admin-triagem .triagem-resumo-operacional > div {
    padding: 12px;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #f8fafc;
}

.pagina-admin-triagem .triagem-resumo-operacional span {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 12px;
}

.pagina-admin-triagem .triagem-resumo-operacional strong {
    font-size: 16px;
}

.pagina-admin-triagem .triagem-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 16px;
    align-items: start;
}

.pagina-admin-triagem .triagem-form label {
    display: grid;
    gap: 5px;
    margin-bottom: 12px;
}

.pagina-admin-triagem .triagem-form input[type="text"],
.pagina-admin-triagem .triagem-form textarea,
.pagina-admin-triagem .triagem-form select {
    width: 100%;
}

.pagina-admin-triagem .triagem-chave {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    background: #f8fafc;
}

.pagina-admin-triagem .triagem-chave strong {
    display: block;
    margin-bottom: 3px;
}

.pagina-admin-triagem .triagem-chave small {
    color: #64748b;
}

.pagina-admin-triagem .triagem-opcao {
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #dbe3ee;
    border-left: 5px solid #2563eb;
    border-radius: 12px;
    background: #ffffff;
}

.pagina-admin-triagem .triagem-opcao-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.pagina-admin-triagem .triagem-opcao-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}

.pagina-admin-triagem .triagem-preview {
    position: sticky;
    top: 14px;
}

.pagina-admin-triagem .triagem-preview-chat {
    padding: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    background: #e7f6ec;
    white-space: pre-wrap;
}

.pagina-admin-triagem .triagem-preview-opcao {
    margin-top: 8px;
    padding: 9px 11px;
    border: 1px solid #a7d7b8;
    border-radius: 9px;
    background: #ffffff;
    font-weight: 800;
}

.pagina-admin-triagem .triagem-aviso {
    margin-top: 12px;
    padding: 11px;
    border: 1px solid #f4c56b;
    border-radius: 10px;
    background: #fff8df;
    color: #6b4b00;
    font-size: 12px;
}

@media (max-width: 900px) {
    .pagina-admin-triagem .triagem-grid,
    .pagina-admin-triagem .triagem-resumo-operacional {
        grid-template-columns: 1fr;
    }

    .pagina-admin-triagem .triagem-preview {
        position: static;
    }
}

@media (max-width: 680px) {
    .pagina-admin-triagem .triagem-cabecalho-navegacao,
    .pagina-admin-triagem .triagem-opcao-topo {
        flex-direction: column;
    }

    .pagina-admin-triagem .triagem-opcao-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 35
   Admin — WhatsApp: autenticação e controle de sessão sem style.css
   Escopo: body.whatsapp-container
   ========================================================================= */

.whatsapp-container .whatsapp-secao-controle {
    align-self: start;
}

.whatsapp-container .whatsapp-secao-header-acoes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.whatsapp-container .whatsapp-secao-descricao {
    margin: 4px 0 0;
}

.whatsapp-container .whatsapp-auth-form {
    display: grid;
    gap: 18px;
}

.whatsapp-container .whatsapp-auth-grid {
    display: grid;
    grid-template-columns: minmax(260px, .9fr) minmax(280px, 1.1fr);
    gap: 18px;
}

.whatsapp-container .whatsapp-auth-fieldset,
.whatsapp-container .whatsapp-auth-campos {
    margin: 0;
    padding: 16px;
    border: 1px solid #d8e0ec;
    border-radius: 12px;
    background: rgba(255, 255, 255, .55);
}

.whatsapp-container .whatsapp-auth-fieldset legend {
    padding: 0 6px;
    font-weight: 700;
}

.whatsapp-container .whatsapp-auth-campos {
    display: grid;
    gap: 8px;
}

.whatsapp-container .whatsapp-auth-campos input[type="text"] {
    width: 100%;
}

.whatsapp-container .whatsapp-opcao-compacta {
    margin-top: 8px;
}

.whatsapp-container .whatsapp-acoes-separadas {
    padding-top: 2px;
}

.whatsapp-container .whatsapp-controle-sessao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #d8e0ec;
}

.whatsapp-container .whatsapp-controle-sessao h3 {
    margin: 0 0 4px;
}

.whatsapp-container .whatsapp-controle-sessao .whatsapp-acoes {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.whatsapp-container .whatsapp-controle-sessao form {
    margin: 0;
}

@media (max-width: 820px) {
    .whatsapp-container .whatsapp-auth-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .whatsapp-container .whatsapp-controle-sessao {
        align-items: stretch;
    }

    .whatsapp-container .whatsapp-controle-sessao .whatsapp-acoes,
    .whatsapp-container .whatsapp-controle-sessao .whatsapp-acoes form,
    .whatsapp-container .whatsapp-controle-sessao .whatsapp-acoes .btn {
        width: 100%;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 36
   Admin — Revisão de categorias sugeridas por IA sem style.css
   ========================================================================= */

.pagina-admin-categorias-ia-revisao .categorias-ia-page {
    display: grid;
    gap: 18px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-topo h1 {
    margin: 6px 0 8px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-topo p {
    margin: 0;
    color: #64748b;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-filtros-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(160px, .7fr)) auto;
    gap: 14px;
    align-items: end;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-filtros-grid label {
    display: grid;
    gap: 7px;
    font-weight: 600;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-metricas {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-metrica {
    display: grid;
    gap: 6px;
    min-height: 112px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-metrica span,
.pagina-admin-categorias-ia-revisao .categorias-ia-metrica small {
    color: #64748b;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-metrica strong {
    font-size: 1.65rem;
    line-height: 1.1;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-temas > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-temas h2 {
    margin: 5px 0 7px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-temas p {
    margin: 0;
    color: #64748b;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-lista {
    display: grid;
    gap: 14px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-vazio {
    padding: 28px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    color: #64748b;
    text-align: center;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-tema-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid #d8e0eb;
    border-radius: 14px;
    background: #f8fafc;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-tema-resumo {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-tema-resumo h3 {
    margin: 0 0 5px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-tema-resumo p,
.pagina-admin-categorias-ia-revisao .categorias-ia-tema-resumo > span {
    margin: 0;
    color: #64748b;
    font-size: .88rem;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-exemplos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-exemplos a {
    padding: 7px 10px;
    border: 1px solid #d8e0eb;
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    font-size: .84rem;
    text-decoration: none;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-exemplos a:hover,
.pagina-admin-categorias-ia-revisao .categorias-ia-exemplos a:focus-visible {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-acoes {
    display: grid;
    gap: 10px;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-acoes form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.pagina-admin-categorias-ia-revisao .categorias-ia-acoes form:last-child {
    grid-template-columns: auto;
    justify-content: end;
}

@media (max-width: 920px) {
    .pagina-admin-categorias-ia-revisao .categorias-ia-filtros-grid,
    .pagina-admin-categorias-ia-revisao .categorias-ia-metricas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .pagina-admin-categorias-ia-revisao .categorias-ia-topo,
    .pagina-admin-categorias-ia-revisao .categorias-ia-temas > header,
    .pagina-admin-categorias-ia-revisao .categorias-ia-tema-resumo {
        align-items: stretch;
        flex-direction: column;
    }

    .pagina-admin-categorias-ia-revisao .categorias-ia-topo .btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .pagina-admin-categorias-ia-revisao .categorias-ia-filtros-grid,
    .pagina-admin-categorias-ia-revisao .categorias-ia-metricas {
        grid-template-columns: 1fr;
    }

    .pagina-admin-categorias-ia-revisao .categorias-ia-acoes form {
        grid-template-columns: 1fr;
    }

    .pagina-admin-categorias-ia-revisao .categorias-ia-acoes form:last-child {
        justify-content: stretch;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 37
   Admin — Índice executivo sem style.css
   ========================================================================= */

.pagina-admin-indice-executivo .indice-config-page {
    padding-bottom: 28px;
}

.pagina-admin-indice-executivo .indice-config-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 22px;
}

.pagina-admin-indice-executivo .indice-config-hero h1 {
    margin: 4px 0 7px;
}

.pagina-admin-indice-executivo .indice-config-hero p,
.pagina-admin-indice-executivo .indice-config-secao header p {
    margin: 0;
    color: #64748b;
}

.pagina-admin-indice-executivo .indice-config-kicker {
    color: var(--cor-primaria);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pagina-admin-indice-executivo .indice-config-acoes-topo,
.pagina-admin-indice-executivo .indice-config-rodape {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
}

.pagina-admin-indice-executivo .indice-config-secao {
    padding: 0;
    overflow: hidden;
}

.pagina-admin-indice-executivo .indice-config-secao > header {
    padding: 17px 19px;
    border-bottom: 1px solid var(--cor-borda);
}

.pagina-admin-indice-executivo .indice-config-secao > header h2 {
    margin: 0 0 5px;
}

.pagina-admin-indice-executivo .indice-presets {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 10px;
    padding: 18px;
}

.pagina-admin-indice-executivo .indice-preset {
    padding: 14px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: var(--cor-card);
    color: var(--cor-texto);
    text-align: left;
    cursor: pointer;
}

.pagina-admin-indice-executivo .indice-preset strong,
.pagina-admin-indice-executivo .indice-preset span {
    display: block;
}

.pagina-admin-indice-executivo .indice-preset span {
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.pagina-admin-indice-executivo .indice-preset:hover,
.pagina-admin-indice-executivo .indice-preset:focus-visible {
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--cor-primaria) 20%, transparent);
}

.pagina-admin-indice-executivo .indice-pesos-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 18px;
}

.pagina-admin-indice-executivo .indice-peso-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 14px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: var(--cor-card);
}

.pagina-admin-indice-executivo .indice-peso-card strong,
.pagina-admin-indice-executivo .indice-peso-card small {
    display: block;
}

.pagina-admin-indice-executivo .indice-peso-card small {
    margin-top: 5px;
    color: #64748b;
    line-height: 1.4;
}

.pagina-admin-indice-executivo .indice-peso-input {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.pagina-admin-indice-executivo .indice-peso-input input {
    width: 82px;
    margin: 0;
    text-align: right;
}

.pagina-admin-indice-executivo .indice-soma {
    margin: 0 18px 18px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #e9f9ef;
    color: #146c3b;
    font-weight: 800;
}

.pagina-admin-indice-executivo .indice-soma.invalida {
    background: #fff1f2;
    color: #b42335;
}

.pagina-admin-indice-executivo .indice-metas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
}

.pagina-admin-indice-executivo .indice-metas-grid label {
    font-weight: 700;
}

.pagina-admin-indice-executivo .indice-metas-grid input {
    width: 100%;
    margin-top: 7px;
}

.pagina-admin-indice-executivo .indice-metas-grid small {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-weight: 400;
    line-height: 1.4;
}

.pagina-admin-indice-executivo .indice-config-explicacao {
    padding: 18px 20px;
}

.pagina-admin-indice-executivo .indice-config-explicacao h2 {
    margin-top: 0;
}

.pagina-admin-indice-executivo .indice-config-explicacao p {
    color: #64748b;
}

.pagina-admin-indice-executivo .indice-config-rodape {
    margin-top: 14px;
}

@media (max-width: 1050px) {
    .pagina-admin-indice-executivo .indice-presets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .pagina-admin-indice-executivo .indice-config-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .pagina-admin-indice-executivo .indice-config-acoes-topo,
    .pagina-admin-indice-executivo .indice-config-acoes-topo .btn {
        width: 100%;
    }

    .pagina-admin-indice-executivo .indice-presets,
    .pagina-admin-indice-executivo .indice-pesos-grid,
    .pagina-admin-indice-executivo .indice-metas-grid {
        grid-template-columns: 1fr;
    }

    .pagina-admin-indice-executivo .indice-peso-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 38
   Admin — Categorias de atendimento sem style.css
   ========================================================================= */

.pagina-admin-categorias-atendimento .categorias-atendimento-page {
    display: grid;
    gap: 18px;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-cabecalho {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: start;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-cabecalho .alerta,
.pagina-admin-categorias-atendimento .categorias-atendimento-cabecalho .categorias-atendimento-empresa-form {
    grid-column: 1 / -1;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-empresa-form select {
    min-width: 320px;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-resumo {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 14px 0;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-resumo .box {
    margin: 0;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-resumo span {
    display: block;
    color: #64748b;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-resumo strong {
    display: block;
    margin-top: 6px;
    font-size: 1.55rem;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-grid {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-formulario {
    position: sticky;
    top: 14px;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-formulario form,
.pagina-admin-categorias-atendimento .categoria-atendimento-edicao {
    display: grid;
    gap: 12px;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-form-linha {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-lista {
    display: grid;
    gap: 12px;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-card {
    margin: 0;
    border-left: 5px solid var(--categoria-cor, #2563eb);
}

.pagina-admin-categorias-atendimento .categoria-atendimento-card-topo {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-card-topo h2 {
    margin: 0 0 5px;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-card-topo p {
    margin: 0;
    color: #64748b;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-card details {
    margin-top: 14px;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-card summary {
    cursor: pointer;
    font-weight: 700;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-edicao {
    margin-top: 14px;
}

.pagina-admin-categorias-atendimento .categorias-descoberta-resumo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    border: 1px solid #dbe3ee;
}

.pagina-admin-categorias-atendimento .categorias-descoberta-resumo-conteudo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex: 1;
}

.pagina-admin-categorias-atendimento .categorias-descoberta-resumo h2 {
    margin: 4px 0 8px;
}

.pagina-admin-categorias-atendimento .categorias-descoberta-indicadores {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
}

.pagina-admin-categorias-atendimento .categorias-descoberta-indicadores > span {
    min-width: 104px;
    padding: 10px 14px;
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    border: 1px solid #d8e0eb;
    border-radius: 10px;
    background: #f5f7fb;
    color: #56657a;
    white-space: nowrap;
}

.pagina-admin-categorias-atendimento .categorias-descoberta-indicadores > span strong {
    color: #172033;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
}

.pagina-admin-categorias-atendimento .categorias-ia-acesso-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pagina-admin-categorias-atendimento .categorias-ia-acesso-card h2 {
    margin: 6px 0 8px;
}

.pagina-admin-categorias-atendimento .categorias-ia-acesso-card p {
    margin: 0;
    color: #64748b;
}

@media (max-width: 900px) {
    .pagina-admin-categorias-atendimento .categorias-atendimento-cabecalho,
    .pagina-admin-categorias-atendimento .categorias-atendimento-grid {
        grid-template-columns: 1fr;
    }

    .pagina-admin-categorias-atendimento .categorias-atendimento-cabecalho > .btn {
        justify-self: start;
    }

    .pagina-admin-categorias-atendimento .categorias-atendimento-formulario {
        position: static;
    }

    .pagina-admin-categorias-atendimento .categorias-atendimento-resumo {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .pagina-admin-categorias-atendimento .categorias-atendimento-empresa-form select {
        min-width: 0;
        width: 100%;
    }

    .pagina-admin-categorias-atendimento .categorias-atendimento-form-linha {
        grid-template-columns: 1fr;
    }

    .pagina-admin-categorias-atendimento .categoria-atendimento-card-topo,
    .pagina-admin-categorias-atendimento .categorias-descoberta-resumo,
    .pagina-admin-categorias-atendimento .categorias-descoberta-resumo-conteudo,
    .pagina-admin-categorias-atendimento .categorias-ia-acesso-card {
        align-items: stretch;
        flex-direction: column;
    }

    .pagina-admin-categorias-atendimento .categoria-atendimento-badges {
        justify-content: flex-start;
    }

    .pagina-admin-categorias-atendimento .categorias-descoberta-indicadores {
        width: 100%;
    }

    .pagina-admin-categorias-atendimento .categorias-descoberta-indicadores > span {
        flex: 1 1 100px;
    }

    .pagina-admin-categorias-atendimento .categorias-ia-acesso-card .btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* =========================================================================
   Sprint 4.25 — Hotfix 38.1
   Categorias de atendimento — campos de formulário mais amplos
   ========================================================================= */

.pagina-admin-categorias-atendimento .categorias-atendimento-grid {
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
}

.pagina-admin-categorias-atendimento .categorias-atendimento-formulario label,
.pagina-admin-categorias-atendimento .categoria-atendimento-edicao label {
    display: grid;
    gap: 6px;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-formulario input:not([type="checkbox"]):not([type="color"]),
.pagina-admin-categorias-atendimento .categorias-atendimento-formulario textarea,
.pagina-admin-categorias-atendimento .categoria-atendimento-edicao input:not([type="checkbox"]):not([type="color"]),
.pagina-admin-categorias-atendimento .categoria-atendimento-edicao textarea {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-formulario textarea,
.pagina-admin-categorias-atendimento .categoria-atendimento-edicao textarea {
    min-height: 96px;
    resize: vertical;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-edicao {
    max-width: 980px;
}

.pagina-admin-categorias-atendimento .categoria-atendimento-edicao > label {
    width: 100%;
}

.pagina-admin-categorias-atendimento .categorias-atendimento-form-linha {
    grid-template-columns: minmax(120px, .45fr) minmax(180px, 1fr);
}

.pagina-admin-categorias-atendimento .categorias-atendimento-form-linha input[type="number"] {
    min-width: 0;
}

@media (max-width: 900px) {
    .pagina-admin-categorias-atendimento .categorias-atendimento-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .pagina-admin-categorias-atendimento .categorias-atendimento-form-linha {
        grid-template-columns: 1fr;
    }

    .pagina-admin-categorias-atendimento .categoria-atendimento-edicao {
        max-width: none;
    }
}

/* =========================================================================
   Sprint 4.25 — Hotfix 38.2
   Categorias de atendimento — normalização do checkbox "Categoria ativa"
   ========================================================================= */

.pagina-admin-categorias-atendimento .opcao-checkbox {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    width: auto;
    justify-self: start;
}

.pagina-admin-categorias-atendimento .opcao-checkbox input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 16px;
    accent-color: var(--cor-primaria, #2563eb);
}

/* =========================================================================
   Sprint 4.25 — Bloco 39
   Admin — Categorias históricas sem style.css
   ========================================================================= */

.pagina-admin-categorias-historicas .categorias-historicas-page {
    padding-bottom: 48px;
}

.pagina-admin-categorias-historicas .categorias-historicas-topo,
.pagina-admin-categorias-historicas .categorias-historicas-empresa,
.pagina-admin-categorias-historicas .categorias-historicas-filtros,
.pagina-admin-categorias-historicas .categoria-historica-item {
    border: 1px solid #dbe3ee;
}

.pagina-admin-categorias-historicas .categorias-historicas-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 18px;
}

.pagina-admin-categorias-historicas .categorias-historicas-topo h1,
.pagina-admin-categorias-historicas .categoria-historica-item h2 {
    margin: 4px 0 8px;
}

.pagina-admin-categorias-historicas .categorias-historicas-topo p {
    max-width: 820px;
    margin-bottom: 0;
}

.pagina-admin-categorias-historicas .categorias-historicas-empresa,
.pagina-admin-categorias-historicas .categorias-historicas-filtros {
    margin-bottom: 18px;
}

.pagina-admin-categorias-historicas .categorias-historicas-empresa form {
    max-width: 520px;
}

.pagina-admin-categorias-historicas .categorias-historicas-acoes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.pagina-admin-categorias-historicas .categorias-historicas-acao-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.pagina-admin-categorias-historicas .categorias-historicas-acao-card h2 {
    margin: 0 0 6px;
    font-size: 1.05rem;
}

.pagina-admin-categorias-historicas .categorias-historicas-acao-card p {
    margin: 0;
}

.pagina-admin-categorias-historicas .categorias-historicas-acao-card .btn {
    min-width: 190px;
    justify-content: center;
    text-align: center;
}

.pagina-admin-categorias-historicas .categorias-historicas-resumo {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.pagina-admin-categorias-historicas .categorias-historicas-resumo .box {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 1px solid #dbe3ee;
    background: #ffffff;
}

.pagina-admin-categorias-historicas .categorias-historicas-resumo .box span {
    color: #64748b;
}

.pagina-admin-categorias-historicas .categorias-historicas-resumo strong {
    font-size: 1.7rem;
}

.pagina-admin-categorias-historicas .categorias-historicas-filtros form {
    display: grid;
    grid-template-columns: minmax(180px, .35fr) minmax(260px, 1fr) auto;
    align-items: end;
    gap: 12px;
}

.pagina-admin-categorias-historicas .categorias-historicas-lista {
    display: grid;
    gap: 14px;
}

.pagina-admin-categorias-historicas .categoria-historica-item {
    position: relative;
    overflow: hidden;
}

.pagina-admin-categorias-historicas .categoria-historica-item::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--cor-primaria, #2563eb);
}

.pagina-admin-categorias-historicas .categoria-historica-item-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.pagina-admin-categorias-historicas .categoria-historica-titulo-linha {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.pagina-admin-categorias-historicas .categoria-historica-titulo-linha h2 {
    font-size: 1.08rem;
}

.pagina-admin-categorias-historicas .categoria-historica-destino {
    min-width: 210px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f1f5f9;
}

.pagina-admin-categorias-historicas .categoria-historica-destino span,
.pagina-admin-categorias-historicas .categoria-historica-destino strong {
    display: block;
}

.pagina-admin-categorias-historicas .categoria-historica-destino span {
    margin-bottom: 3px;
    font-size: .78rem;
    opacity: .75;
}

.pagina-admin-categorias-historicas .categoria-historica-exemplos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0;
    padding: 10px 12px;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #ffffff;
}

.pagina-admin-categorias-historicas .categoria-historica-exemplos a {
    font-size: .86rem;
}

.pagina-admin-categorias-historicas .categoria-historica-revisao-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(280px, 1fr) auto;
    align-items: end;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid #dbe3ee;
}

.pagina-admin-categorias-historicas .categoria-historica-form {
    display: grid;
    gap: 8px;
}

.pagina-admin-categorias-historicas .categoria-historica-form small {
    display: block;
}

.pagina-admin-categorias-historicas .categoria-historica-ignorar,
.pagina-admin-categorias-historicas .categoria-historica-reabrir {
    margin: 0;
}

.pagina-admin-categorias-historicas .btn-perigo-secundario {
    border: 1px solid #dc2626;
    background: transparent;
    color: #b91c1c;
}

.pagina-admin-categorias-historicas .btn-perigo-secundario:hover,
.pagina-admin-categorias-historicas .btn-perigo-secundario:focus-visible {
    background: rgba(220, 38, 38, .08);
}

.pagina-admin-categorias-historicas .estado-vazio-card {
    padding: 32px;
    text-align: center;
}

@media (max-width: 980px) {
    .pagina-admin-categorias-historicas .categorias-historicas-resumo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .pagina-admin-categorias-historicas .categorias-historicas-topo,
    .pagina-admin-categorias-historicas .categorias-historicas-acao-card,
    .pagina-admin-categorias-historicas .categoria-historica-item-topo {
        align-items: stretch;
        flex-direction: column;
    }

    .pagina-admin-categorias-historicas .categorias-historicas-acoes,
    .pagina-admin-categorias-historicas .categorias-historicas-filtros form,
    .pagina-admin-categorias-historicas .categoria-historica-revisao-grid {
        grid-template-columns: 1fr;
    }

    .pagina-admin-categorias-historicas .categorias-historicas-acao-card .btn {
        width: 100%;
        min-width: 0;
    }

    .pagina-admin-categorias-historicas .categoria-historica-destino {
        min-width: 0;
    }
}

@media (max-width: 520px) {
    .pagina-admin-categorias-historicas .categorias-historicas-resumo {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 40
   Admin — Segurança e acessos sem style.css
   ========================================================================= */

.pagina-admin-seguranca-acessos .seguranca-acessos-page .pagina-cabecalho {
    min-height: 0;
    padding: 20px 22px;
    align-items: center;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .pagina-cabecalho h1 {
    margin: 5px 0 6px;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .pagina-cabecalho p {
    margin: 0;
}

.pagina-admin-seguranca-acessos .bi-kicker {
    color: var(--cor-primaria);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page table small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtros {
    display: grid;
    grid-template-columns:
        minmax(180px, .8fr)
        minmax(170px, .7fr)
        minmax(180px, .7fr)
        minmax(260px, 1.4fr)
        auto;
    gap: 14px;
    align-items: end;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtro-busca {
    min-width: 0;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtro-acoes {
    display: flex;
    gap: 8px;
    align-items: center;
}

.pagina-admin-seguranca-acessos .seguranca-resumo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.pagina-admin-seguranca-acessos .seguranca-resumo-grid .card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px;
}

.pagina-admin-seguranca-acessos .seguranca-resumo-grid strong {
    font-size: 1.8rem;
}

.pagina-admin-seguranca-acessos .seguranca-sessao-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.pagina-admin-seguranca-acessos .seguranca-sessao-grid > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
}

.pagina-admin-seguranca-acessos .seguranca-sessao-grid span,
.pagina-admin-seguranca-acessos .seguranca-resumo-grid span {
    color: #64748b;
    font-size: .82rem;
}

.pagina-admin-seguranca-acessos .seguranca-sessao-ua {
    grid-column: 1 / -1;
}

.pagina-admin-seguranca-acessos .seguranca-ua-coluna {
    max-width: 360px;
    overflow-wrap: anywhere;
    font-size: .78rem;
}

.pagina-admin-seguranca-acessos .seguranca-evento-detalhe {
    display: block;
    margin-top: .35rem;
    color: #64748b;
    overflow-wrap: anywhere;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-aviso-sessoes {
    margin: 0 0 18px;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .alerta-info,
.pagina-admin-seguranca-acessos .seguranca-acessos-page .alerta-atencao {
    margin: 0 0 1rem;
    padding: .9rem 1rem;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
}

.pagina-admin-seguranca-acessos .seguranca-acessos-page .alerta-atencao {
    border-color: #f0c36b;
    background: #fff8df;
    color: #6b4b00;
}

.pagina-admin-seguranca-acessos .alerta-sucesso {
    border: 1px solid #86d9b1;
    background: #ecfdf5;
    color: #166534;
}

.pagina-admin-seguranca-acessos .alerta-erro {
    border: 1px solid #f0a7ae;
    background: #fff1f2;
    color: #b42335;
}

@media (max-width: 1080px) {
    .pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtros,
    .pagina-admin-seguranca-acessos .seguranca-resumo-grid,
    .pagina-admin-seguranca-acessos .seguranca-sessao-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtro-busca {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtros,
    .pagina-admin-seguranca-acessos .seguranca-resumo-grid,
    .pagina-admin-seguranca-acessos .seguranca-sessao-grid {
        grid-template-columns: 1fr;
    }

    .pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtro-busca {
        grid-column: auto;
    }

    .pagina-admin-seguranca-acessos .seguranca-acessos-page .seguranca-filtro-acoes {
        flex-wrap: wrap;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 41
   Admin — Preferências de IA sem style.css
   ========================================================================= */

.pagina-admin-preferencias-ia .ia-preferencias-pagina {
    width: min(1180px, calc(100% - 24px));
    margin: 24px auto 40px;
    display: grid;
    gap: 20px;
}

.pagina-admin-preferencias-ia .ia-preferencias-pagina > .box,
.pagina-admin-preferencias-ia .ia-preferencias-pagina .ia-preferencias-form > .box {
    margin: 0;
    padding: 24px;
    border: 1px solid var(--cor-borda);
    border-radius: var(--radius-lg);
    background: var(--cor-card);
    box-shadow: var(--sombra-suave);
}

.pagina-admin-preferencias-ia .ia-preferencias-form {
    display: grid;
    gap: 20px;
}

.pagina-admin-preferencias-ia .ia-preferencias-cabecalho {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
}

.pagina-admin-preferencias-ia .ia-preferencias-cabecalho h1,
.pagina-admin-preferencias-ia .ia-preferencias-identidade h2,
.pagina-admin-preferencias-ia .ia-preferencias-secao h2,
.pagina-admin-preferencias-ia .ia-assistente-prompt-card h2,
.pagina-admin-preferencias-ia .ia-historico-card h2 {
    margin: 4px 0 8px;
}

.pagina-admin-preferencias-ia .ia-preferencias-cabecalho h1 {
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.1;
}

.pagina-admin-preferencias-ia .ia-preferencias-cabecalho p,
.pagina-admin-preferencias-ia .ia-preferencias-secao p,
.pagina-admin-preferencias-ia .ia-assistente-prompt-card p,
.pagina-admin-preferencias-ia .ia-historico-card p {
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

.pagina-admin-preferencias-ia .ia-preferencias-empresa-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(280px, 520px);
    align-items: center;
    gap: 20px;
}

.pagina-admin-preferencias-ia .ia-preferencias-empresa-form > div,
.pagina-admin-preferencias-ia .ia-preferencias-acoes > div:first-child {
    display: grid;
    gap: 4px;
}

.pagina-admin-preferencias-ia .ia-preferencias-empresa-form small,
.pagina-admin-preferencias-ia .ia-preferencias-campo small,
.pagina-admin-preferencias-ia .ia-opcao-card small,
.pagina-admin-preferencias-ia .ia-preferencias-acoes small {
    display: block;
    color: #64748b;
    line-height: 1.4;
}

.pagina-admin-preferencias-ia .ia-preferencias-identidade,
.pagina-admin-preferencias-ia .ia-preferencias-secao-cabecalho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.pagina-admin-preferencias-ia .ia-preferencias-identidade h2 {
    margin: 5px 0 0;
    font-size: 24px;
}

.pagina-admin-preferencias-ia .ia-preferencias-identidade-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.pagina-admin-preferencias-ia .ia-preferencias-secao {
    display: grid;
    gap: 20px;
}

.pagina-admin-preferencias-ia .ia-preferencias-secao-cabecalho {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--cor-borda);
}

.pagina-admin-preferencias-ia .ia-preferencias-contexto-grid {
    display: grid;
    grid-template-columns: minmax(300px, .75fr) minmax(460px, 1.55fr);
    gap: 18px;
    align-items: stretch;
}

.pagina-admin-preferencias-ia .ia-preferencias-opcoes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 2px;
}

.pagina-admin-preferencias-ia .ia-opcao-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 104px;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: color-mix(in srgb, var(--cor-card) 92%, var(--cor-primaria) 8%);
    cursor: pointer;
}

.pagina-admin-preferencias-ia .ia-opcao-card:hover {
    border-color: var(--cor-primaria);
}

.pagina-admin-preferencias-ia .ia-opcao-card input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 auto;
}

.pagina-admin-preferencias-ia .ia-opcao-card span {
    display: grid;
    gap: 5px;
}

.pagina-admin-preferencias-ia .ia-opcao-card strong {
    color: var(--cor-texto-forte);
    font-size: 15px;
}

.pagina-admin-preferencias-ia .ia-preferencias-campo {
    display: grid;
    gap: 7px;
}

.pagina-admin-preferencias-ia .ia-preferencias-campo > label {
    margin: 0;
    color: var(--cor-texto-forte);
    font-weight: 700;
}

.pagina-admin-preferencias-ia textarea,
.pagina-admin-preferencias-ia select {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--cor-borda-forte);
    border-radius: var(--radius);
    color: var(--cor-texto);
    background: var(--cor-card);
    font: inherit;
    box-sizing: border-box;
}

.pagina-admin-preferencias-ia textarea {
    resize: vertical;
    min-height: 130px;
    line-height: 1.5;
}

.pagina-admin-preferencias-ia textarea:focus,
.pagina-admin-preferencias-ia select:focus {
    outline: 3px solid color-mix(in srgb, var(--cor-primaria) 22%, transparent);
    border-color: var(--cor-primaria);
}

.pagina-admin-preferencias-ia .ia-preferencias-campo-destaque textarea {
    min-height: 340px;
}

.pagina-admin-preferencias-ia .ia-preferencias-fallback {
    max-width: 620px;
}

.pagina-admin-preferencias-ia .ia-assistente-prompt-card,
.pagina-admin-preferencias-ia .ia-historico-card {
    display: grid;
    gap: 20px;
}

.pagina-admin-preferencias-ia .ia-assistente-prompt-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    border-left: 4px solid var(--cor-primaria);
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--cor-card) 94%, var(--cor-primaria) 6%),
        var(--cor-card)
    );
}

.pagina-admin-preferencias-ia .ia-assistente-prompt-conteudo {
    display: grid;
    gap: 7px;
}

.pagina-admin-preferencias-ia .ia-assistente-prompt-aviso {
    margin-top: 6px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(245, 158, 11, .12);
    color: var(--cor-texto);
    font-size: .9rem;
}

.pagina-admin-preferencias-ia .ia-assistente-prompt-acoes {
    display: grid;
    justify-items: end;
    gap: 10px;
    min-width: 230px;
}

.pagina-admin-preferencias-ia .ia-status-prompt {
    min-height: 20px;
    max-width: 320px;
    font-size: .88rem;
    text-align: right;
}

.pagina-admin-preferencias-ia .ia-status-prompt.sucesso {
    color: var(--cor-sucesso, #15803d);
}

.pagina-admin-preferencias-ia .ia-status-prompt.erro {
    color: var(--cor-erro, #dc2626);
}

.pagina-admin-preferencias-ia .ia-status-prompt.carregando {
    color: #64748b;
}

.pagina-admin-preferencias-ia .ia-preferencias-acoes {
    position: sticky;
    bottom: 10px;
    z-index: 5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    background: var(--cor-card);
    box-shadow: 0 12px 32px rgba(15, 23, 42, .16);
}

.pagina-admin-preferencias-ia .ia-preferencias-acoes-botoes {
    display: flex;
    gap: 10px;
}

.pagina-admin-preferencias-ia .ia-historico-tabela td,
.pagina-admin-preferencias-ia .ia-historico-tabela th {
    vertical-align: top;
}

.pagina-admin-preferencias-ia .texto-direita {
    text-align: right;
}

@media (max-width: 900px) {
    .pagina-admin-preferencias-ia .ia-preferencias-cabecalho,
    .pagina-admin-preferencias-ia .ia-preferencias-contexto-grid,
    .pagina-admin-preferencias-ia .ia-preferencias-opcoes-grid,
    .pagina-admin-preferencias-ia .ia-preferencias-empresa-form,
    .pagina-admin-preferencias-ia .ia-assistente-prompt-card {
        grid-template-columns: 1fr;
    }

    .pagina-admin-preferencias-ia .ia-preferencias-identidade,
    .pagina-admin-preferencias-ia .ia-preferencias-acoes {
        align-items: stretch;
        flex-direction: column;
    }

    .pagina-admin-preferencias-ia .ia-assistente-prompt-acoes {
        justify-items: stretch;
        min-width: 0;
    }

    .pagina-admin-preferencias-ia .ia-status-prompt {
        max-width: none;
        text-align: left;
    }
}

@media (max-width: 620px) {
    .pagina-admin-preferencias-ia .ia-preferencias-pagina {
        width: min(100% - 16px, 1180px);
        margin-top: 12px;
    }

    .pagina-admin-preferencias-ia .ia-preferencias-pagina > .box,
    .pagina-admin-preferencias-ia .ia-preferencias-pagina .ia-preferencias-form > .box {
        padding: 18px;
    }

    .pagina-admin-preferencias-ia .ia-preferencias-opcoes-grid {
        grid-template-columns: 1fr;
    }

    .pagina-admin-preferencias-ia .ia-preferencias-acoes {
        position: static;
    }

    .pagina-admin-preferencias-ia .ia-preferencias-acoes-botoes {
        width: 100%;
    }

    .pagina-admin-preferencias-ia .ia-preferencias-acoes-botoes .btn {
        flex: 1;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 42
   Admin — Auditoria sem style.css
   Escopo existente: body.pagina-auditoria
   ========================================================================= */

.pagina-auditoria .auditoria-cabecalho {
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pagina-auditoria .auditoria-cabecalho-principal {
    min-width: 0;
}

.pagina-auditoria .auditoria-cabecalho h2 {
    margin-bottom: 7px;
    font-size: 25px;
}

.pagina-auditoria .auditoria-cabecalho p {
    margin: 0;
    color: var(--cor-muted);
}

.pagina-auditoria .auditoria-cabecalho-acoes {
    flex: 0 0 auto;
}

.pagina-auditoria .auditoria-cabecalho-acoes .btn {
    margin: 0;
}

.pagina-auditoria .auditoria-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: var(--cor-primaria);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pagina-auditoria .auditoria-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #7c3aed;
    box-shadow: 0 0 0 5px rgba(124, 58, 237, .11);
}

.pagina-auditoria .auditoria-contexto {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pagina-auditoria .auditoria-filtros-box,
.pagina-auditoria .auditoria-tabela-box {
    padding: 0;
    overflow: hidden;
}

.pagina-auditoria .auditoria-filtros-header,
.pagina-auditoria .auditoria-tabela-header {
    padding: 15px 17px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg, #ffffff, #f8fafc);
}

.pagina-auditoria .auditoria-tabela-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.pagina-auditoria .auditoria-filtros-header h2,
.pagina-auditoria .auditoria-tabela-header h2 {
    margin: 0;
    font-size: 17px;
}

.pagina-auditoria .auditoria-filtros-conteudo {
    padding: 18px;
}

.pagina-auditoria .auditoria-periodos-rapidos {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.pagina-auditoria .auditoria-periodos-rapidos .btn {
    margin: 0;
}

.pagina-auditoria .auditoria-filtros {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 16px;
}

.pagina-auditoria .auditoria-filtros input,
.pagina-auditoria .auditoria-filtros select {
    width: 100%;
    margin-top: 6px;
}

.pagina-auditoria .auditoria-filtros-acoes {
    margin-top: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pagina-auditoria .auditoria-filtros-acoes .btn {
    margin: 0;
}

.pagina-auditoria .auditoria-resumo {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.pagina-auditoria .auditoria-resumo-item {
    padding: 15px 16px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: #f8fafc;
}

.pagina-auditoria .auditoria-resumo-item span {
    display: block;
    margin-bottom: 5px;
    color: var(--cor-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.pagina-auditoria .auditoria-resumo-item strong {
    color: var(--cor-texto-forte);
    font-size: 18px;
}

.pagina-auditoria .auditoria-resumo-item--seguranca {
    border-left: 4px solid #d97706;
}

.pagina-auditoria .auditoria-resumo-item--sistema {
    border-left: 4px solid #7c3aed;
}

.pagina-auditoria .auditoria-resumo-item--usuarios {
    border-left: 4px solid #2563eb;
}

.pagina-auditoria .auditoria-tabela {
    overflow-x: auto;
}

.pagina-auditoria .auditoria-tabela table {
    min-width: 1280px;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.pagina-auditoria .auditoria-tabela th,
.pagina-auditoria .auditoria-tabela td {
    padding: 11px 10px;
    vertical-align: top;
}

.pagina-auditoria .auditoria-badge-acao {
    white-space: nowrap;
}

.pagina-auditoria .auditoria-vazio {
    padding: 26px !important;
    color: var(--cor-muted);
    text-align: center;
}

.pagina-auditoria .auditoria-paginacao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.pagina-auditoria .auditoria-paginacao-links {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pagina-auditoria .auditoria-paginacao-links .btn {
    margin: 0;
}

.pagina-auditoria .auditoria-paginacao--oculta {
    display: none;
}

@media (max-width: 1180px) {
    .pagina-auditoria .auditoria-filtros {
        grid-template-columns: repeat(3, minmax(180px, 1fr));
    }

    .pagina-auditoria .auditoria-resumo {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .pagina-auditoria .auditoria-cabecalho {
        align-items: flex-start;
        flex-direction: column;
    }

    .pagina-auditoria .auditoria-filtros {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 620px) {
    .pagina-auditoria .auditoria-cabecalho {
        padding: 17px;
    }

    .pagina-auditoria .auditoria-cabecalho h2 {
        font-size: 22px;
    }

    .pagina-auditoria .auditoria-cabecalho-acoes,
    .pagina-auditoria .auditoria-cabecalho-acoes .btn {
        width: 100%;
    }

    .pagina-auditoria .auditoria-filtros,
    .pagina-auditoria .auditoria-resumo {
        grid-template-columns: 1fr;
    }

    .pagina-auditoria .auditoria-filtros-acoes,
    .pagina-auditoria .auditoria-paginacao-links {
        flex-direction: column;
        align-items: stretch;
    }

    .pagina-auditoria .auditoria-filtros-acoes .btn,
    .pagina-auditoria .auditoria-paginacao-links .btn {
        width: 100%;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 43
   Admin — Configurações operacionais sem style.css
   ========================================================================= */

.pagina-admin-configuracoes-operacionais .operacional-cabecalho {
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pagina-admin-configuracoes-operacionais .operacional-cabecalho-principal {
    min-width: 0;
}

.pagina-admin-configuracoes-operacionais .operacional-cabecalho h2 {
    margin-bottom: 7px;
    font-size: 25px;
}

.pagina-admin-configuracoes-operacionais .operacional-cabecalho p {
    margin: 0;
    color: var(--cor-muted);
}

.pagina-admin-configuracoes-operacionais .operacional-cabecalho-acoes {
    flex: 0 0 auto;
}

.pagina-admin-configuracoes-operacionais .operacional-cabecalho-acoes .btn,
.pagina-admin-configuracoes-operacionais .operacional-acoes .btn {
    margin: 0;
}

.pagina-admin-configuracoes-operacionais .operacional-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: var(--cor-primaria);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pagina-admin-configuracoes-operacionais .operacional-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cor-secundaria);
    box-shadow: 0 0 0 5px rgba(16,185,129,.11);
}

.pagina-admin-configuracoes-operacionais .operacional-contexto {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pagina-admin-configuracoes-operacionais .operacional-feedback {
    padding: 14px 16px;
    border-left-width: 5px;
    border-left-style: solid;
}

.pagina-admin-configuracoes-operacionais .operacional-feedback-sucesso {
    border-left-color: #22c55e;
    background: #f0fdf4;
}

.pagina-admin-configuracoes-operacionais .operacional-feedback-erro {
    border-left-color: #ef4444;
    background: #fff1f2;
}

.pagina-admin-configuracoes-operacionais .operacional-filtro {
    display: flex;
    align-items: end;
    gap: 14px;
    flex-wrap: wrap;
}

.pagina-admin-configuracoes-operacionais .operacional-filtro-campo {
    min-width: 280px;
}

.pagina-admin-configuracoes-operacionais .operacional-filtro select {
    width: 100%;
    margin-top: 6px;
}

.pagina-admin-configuracoes-operacionais .operacional-resumo {
    margin-bottom: 18px;
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-header h2 {
    margin: 4px 0 0;
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-header > small {
    color: var(--cor-texto-secundario);
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-item {
    padding: 14px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: var(--cor-fundo-secundario, #f7f9fc);
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-item span,
.pagina-admin-configuracoes-operacionais .operacional-resumo-item small {
    display: block;
    color: var(--cor-texto-secundario);
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-item strong {
    display: block;
    margin: 5px 0;
    font-size: 1.05rem;
}

.pagina-admin-configuracoes-operacionais .operacional-resumo-alerta {
    margin-top: 12px;
    padding: 12px 14px;
    border-left: 4px solid #2563eb;
    border-radius: 10px;
    background: rgba(37, 99, 235, .08);
    line-height: 1.5;
}

.pagina-admin-configuracoes-operacionais .operacional-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.pagina-admin-configuracoes-operacionais .operacional-secao {
    padding: 0;
    overflow: hidden;
}

.pagina-admin-configuracoes-operacionais .operacional-secao-header {
    padding: 15px 17px;
    border-bottom: 1px solid var(--cor-borda);
    background: linear-gradient(135deg, #fff, #f8fafc);
}

.pagina-admin-configuracoes-operacionais .operacional-secao-header h2 {
    margin: 0;
    font-size: 17px;
}

.pagina-admin-configuracoes-operacionais .operacional-secao-conteudo {
    padding: 18px;
}

.pagina-admin-configuracoes-operacionais .operacional-campos-duplos,
.pagina-admin-configuracoes-operacionais .operacional-tempos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pagina-admin-configuracoes-operacionais .operacional-tempos {
    gap: 12px;
}

.pagina-admin-configuracoes-operacionais .operacional-campo {
    margin-bottom: 15px;
}

.pagina-admin-configuracoes-operacionais .operacional-campo:last-child {
    margin-bottom: 0;
}

.pagina-admin-configuracoes-operacionais .operacional-campo input[type="text"],
.pagina-admin-configuracoes-operacionais .operacional-campo input[type="time"],
.pagina-admin-configuracoes-operacionais .operacional-campo input[type="number"],
.pagina-admin-configuracoes-operacionais .operacional-campo textarea,
.pagina-admin-configuracoes-operacionais .operacional-campo select {
    width: 100%;
    margin-top: 6px;
    box-sizing: border-box;
}

.pagina-admin-configuracoes-operacionais .operacional-campo small {
    display: block;
    margin-top: 6px;
    color: var(--cor-muted);
    font-size: 11px;
    line-height: 1.5;
}

.pagina-admin-configuracoes-operacionais .operacional-dias {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 10px;
}

.pagina-admin-configuracoes-operacionais .operacional-dia {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    background: #f8fafc;
}

.pagina-admin-configuracoes-operacionais .operacional-dia input {
    margin: 0;
}

.pagina-admin-configuracoes-operacionais .operacional-switch {
    padding: 13px 14px;
    border: 1px solid var(--cor-borda);
    border-radius: 11px;
    background: #f8fafc;
}

.pagina-admin-configuracoes-operacionais .operacional-switch + .operacional-switch {
    margin-top: 10px;
}

.pagina-admin-configuracoes-operacionais .operacional-switch label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0;
}

.pagina-admin-configuracoes-operacionais .operacional-switch input {
    margin-top: 2px;
}

.pagina-admin-configuracoes-operacionais .operacional-tempo-card {
    padding: 13px;
    border: 1px solid var(--cor-borda);
    border-radius: 11px;
    background: #f8fafc;
}

.pagina-admin-configuracoes-operacionais .operacional-tempo-card input {
    width: 100%;
    margin-top: 7px;
}

.pagina-admin-configuracoes-operacionais .operacional-unidade {
    display: block;
    margin-top: 5px;
    color: var(--cor-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pagina-admin-configuracoes-operacionais .operacional-nota {
    padding: 12px 13px;
    border: 1px solid rgba(37,99,235,.15);
    border-radius: 10px;
    background: #f8fbff;
    color: #475569;
    font-size: 11px;
    line-height: 1.5;
}

.pagina-admin-configuracoes-operacionais .operacional-margem-topo {
    margin-top: 15px;
}

.pagina-admin-configuracoes-operacionais .operacional-acoes {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 980px) {
    .pagina-admin-configuracoes-operacionais .operacional-resumo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pagina-admin-configuracoes-operacionais .operacional-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .pagina-admin-configuracoes-operacionais .operacional-cabecalho {
        align-items: flex-start;
        flex-direction: column;
    }

    .pagina-admin-configuracoes-operacionais .operacional-campos-duplos,
    .pagina-admin-configuracoes-operacionais .operacional-tempos,
    .pagina-admin-configuracoes-operacionais .operacional-dias,
    .pagina-admin-configuracoes-operacionais .operacional-resumo-grid {
        grid-template-columns: 1fr;
    }

    .pagina-admin-configuracoes-operacionais .operacional-resumo-header {
        display: block;
    }

    .pagina-admin-configuracoes-operacionais .operacional-resumo-header > small {
        display: block;
        margin-top: 8px;
    }
}

@media (max-width: 560px) {
    .pagina-admin-configuracoes-operacionais .operacional-cabecalho {
        padding: 17px;
    }

    .pagina-admin-configuracoes-operacionais .operacional-cabecalho h2 {
        font-size: 22px;
    }

    .pagina-admin-configuracoes-operacionais .operacional-cabecalho-acoes,
    .pagina-admin-configuracoes-operacionais .operacional-cabecalho-acoes .btn,
    .pagina-admin-configuracoes-operacionais .operacional-filtro-campo {
        width: 100%;
        min-width: 0;
    }

    .pagina-admin-configuracoes-operacionais .operacional-acoes {
        flex-direction: column;
        align-items: stretch;
    }

    .pagina-admin-configuracoes-operacionais .operacional-acoes .btn {
        width: 100%;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 44 Revisado
   Central de Conversas sem style.css — preserva visual homologado
   ========================================================================= */

/* Estrutura da central */
body.central-atendimento-page {
    height: auto;
    overflow: auto;
}

body.central-atendimento-page > header,
body.central-atendimento-page > nav,
body.central-atendimento-page .topo,
body.central-atendimento-page .menu-principal {
    flex: 0 0 auto;
}

body.central-atendimento-page .central-atendimento-layout {
    height: calc(100vh - 270px);
    min-height: 520px;
    overflow: hidden;
}

body.central-atendimento-page .central-conversas-coluna,
body.central-atendimento-page .central-conversa-principal,
body.central-atendimento-page .detalhes-coluna-lateral {
    min-height: 0;
    height: 100%;
}

body.central-atendimento-page .central-conversas-coluna {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.central-atendimento-page .central-conversas-lista {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

body.central-atendimento-page .central-conversa-principal {
    min-width: 0;
    overflow: hidden;
}

body.central-atendimento-page .central-chat-box {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

body.central-atendimento-page .central-chat-box .atendimento-header {
    flex: 0 0 auto;
    position: relative;
    z-index: 4;
    margin: 0;
    padding: 10px 12px;
    border-bottom: 1px solid var(--cor-borda);
    background: var(--cor-card);
}

body.central-atendimento-page .central-chat-box .timeline-mensagens {
    order: 2;
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 18px 18px 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    background-color: #efeae2;
    background-image:
        radial-gradient(circle at 20px 20px, rgba(0,0,0,.025) 1px, transparent 1px),
        radial-gradient(circle at 55px 55px, rgba(0,0,0,.02) 1px, transparent 1px);
    background-size: 72px 72px;
}

body.central-atendimento-page .central-chat-box .caixa-resposta {
    order: 3;
    flex: 0 0 auto;
    position: relative;
    z-index: 5;
    margin: 0;
    padding: 9px 10px 10px;
    border-top: 1px solid var(--cor-borda);
    background: var(--cor-card);
    box-shadow: 0 -8px 20px rgba(15,23,42,.08);
}

body.central-atendimento-page .central-chat-box .resposta-rapida {
    display: none;
}

body.central-atendimento-page .central-chat-box #mensagem {
    min-height: 48px;
    max-height: 130px;
    resize: vertical;
}

body.central-atendimento-page .central-chat-box .preferencia-enter {
    margin: 5px 0;
}

body.central-atendimento-page .central-chat-box .acoes-resposta {
    margin-top: 5px;
}

body.central-atendimento-page .detalhes-coluna-lateral {
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 3px;
}

/* Lista lateral */
body.central-atendimento-page .central-conversas-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px;
    border-bottom: 1px solid var(--cor-borda);
}

body.central-atendimento-page .central-conversas-cabecalho div {
    display: grid;
    gap: 2px;
}

body.central-atendimento-page .central-conversas-cabecalho span {
    color: var(--cor-muted);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

body.central-atendimento-page .central-conversas-cabecalho strong {
    color: var(--cor-texto);
    font-size: 17px;
}

body.central-atendimento-page .central-conversas-nova {
    min-height: 32px;
    padding: 6px 10px;
}

body.central-atendimento-page .central-conversas-busca {
    padding: 9px 10px;
    border-bottom: 1px solid var(--cor-borda);
}

body.central-atendimento-page .central-conversas-busca input {
    width: 100%;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    background: var(--cor-card);
    color: var(--cor-texto);
    box-sizing: border-box;
}

body.central-atendimento-page .central-conversa-item {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    gap: 9px;
    padding: 10px;
    border-bottom: 1px solid var(--cor-borda);
    color: var(--cor-texto);
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease;
}

body.central-atendimento-page .central-conversa-item:hover,
body.central-atendimento-page .central-conversa-item:focus-visible {
    background: rgba(37,99,235,.08);
}

body.central-atendimento-page .central-conversa-item.esta-ativa {
    border-left: 4px solid var(--cor-primaria);
    background: rgba(37,99,235,.13);
}

body.central-atendimento-page .central-conversa-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--cor-primaria);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}

body.central-atendimento-page .central-conversa-corpo,
body.central-atendimento-page .central-conversa-linha {
    min-width: 0;
}

body.central-atendimento-page .central-conversa-linha {
    display: flex;
    justify-content: space-between;
    gap: 7px;
}

body.central-atendimento-page .central-conversa-linha strong,
body.central-atendimento-page .central-conversa-previa {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.central-atendimento-page .central-conversa-linha strong {
    font-size: 12px;
}

body.central-atendimento-page .central-conversa-linha small {
    flex: 0 0 auto;
    color: var(--cor-muted);
    font-size: 9px;
}

body.central-atendimento-page .central-conversa-previa {
    display: block;
    margin-top: 3px;
    color: var(--cor-muted);
    font-size: 10px;
}

/* Badges dos estados — preserva a hierarquia visual homologada */
body.central-atendimento-page .central-conversa-estado {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    width: fit-content;
    max-width: 100%;
    margin-top: 4px;
    padding: 3px 7px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
}

body.central-atendimento-page .central-conversa-estado strong,
body.central-atendimento-page .central-conversa-estado small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.central-atendimento-page .central-conversa-estado small {
    opacity: .82;
    font-size: 7px;
    font-weight: 700;
}

body.central-atendimento-page .central-conversa-estado.estado-aguardando-cliente {
    background: #875400 !important;
    border: 1px solid #f2c14e !important;
    color: #ffffff !important;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.15;
    padding: 3px 8px;
    text-shadow: 0 1px 1px rgba(0,0,0,.42);
}

body.central-atendimento-page .estado-aguardando-tecnico {
    background: #7f1d1d !important;
    border-color: #ef4444 !important;
    color: #fff !important;
}

body.central-atendimento-page .estado-em-progresso {
    background: #1d4ed8 !important;
    border-color: #60a5fa !important;
    color: #fff !important;
}

body.central-atendimento-page .estado-em-encerramento {
    background: #6d28d9 !important;
    border-color: #a78bfa !important;
    color: #fff !important;
}

body.central-atendimento-page .estado-cliente-respondeu {
    background: #b91c1c !important;
    border-color: #facc15 !important;
    color: #fff !important;
    box-shadow: 0 0 0 2px rgba(250,204,21,.25);
}

body.central-atendimento-page .estado-encerrado,
body.central-atendimento-page .estado-resolvido {
    background: #166534 !important;
    border-color: #4ade80 !important;
    color: #fff !important;
}

/* Mensagens: comportamento visual tipo WhatsApp */
body.central-atendimento-page .timeline-mensagens .mensagem {
    width: fit-content;
    max-width: min(76%, 720px);
    margin-bottom: 8px;
    padding: 13px 14px;
    border-radius: 10px;
    color: var(--cor-texto);
    font-size: 14px;
    box-shadow: 0 1px 1px rgba(15,23,42,.12);
}

body.central-atendimento-page .timeline-mensagens .mensagem.cliente {
    margin-right: auto;
    margin-left: 0;
    border-left: 4px solid #94a3b8;
    border-radius: 4px 12px 12px 12px;
    background: #ffffff;
}

body.central-atendimento-page .timeline-mensagens .mensagem.tecnico {
    margin-right: 0;
    margin-left: auto;
    border-left: 4px solid var(--cor-primaria);
    border-radius: 12px 4px 12px 12px;
    background: #d9fdd3;
}

/* Operação lateral */
body.central-atendimento-page .status-fila-lateral-conteudo,
body.central-atendimento-page .operacao-lateral-conteudo {
    display: grid;
    gap: 10px;
}

body.central-atendimento-page .status-fila-lateral-form,
body.central-atendimento-page .operacao-lateral-form {
    display: grid;
    gap: 6px;
    margin: 0;
}

body.central-atendimento-page .status-fila-lateral-form .operacao-controle-linha,
body.central-atendimento-page .operacao-lateral-form .operacao-controle-linha {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 6px;
}

body.central-atendimento-page .status-fila-lateral-form select,
body.central-atendimento-page .status-fila-lateral-form .btn,
body.central-atendimento-page .operacao-lateral-form select,
body.central-atendimento-page .operacao-lateral-form .btn {
    min-height: 36px;
}

body.central-atendimento-page .operacao-lateral-atual {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    background: var(--cor-card);
}

body.central-atendimento-page .operacao-lateral-atual span,
body.central-atendimento-page .operacao-lateral-form label {
    color: var(--cor-muted);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

body.central-atendimento-page .operacao-lateral-atual strong {
    color: var(--cor-texto);
    font-size: 12px;
}

body.central-atendimento-page .operacao-lateral-assumir .btn {
    width: 100%;
}

/* Histórico operacional */
body.central-atendimento-page .historico-operacional-item {
    padding: 12px 0;
    border-bottom: 1px solid var(--cor-borda);
}

body.central-atendimento-page .historico-operacional-item:last-child {
    border-bottom: 0;
}

body.central-atendimento-page .meta {
    margin-bottom: 6px;
    color: var(--cor-muted);
    font-size: 11px;
    font-weight: 700;
}

/* AI Advisor */
body.central-atendimento-page .ai-advisor-feedback {
    margin: 18px 0;
    padding: 14px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    color: var(--cor-texto);
    background: transparent;
}

body.central-atendimento-page .ai-advisor-feedback-detalhes {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

body.central-atendimento-page .ai-advisor-sugestao-resposta,
body.central-atendimento-page .ai-advisor-feedback select,
body.central-atendimento-page .ai-advisor-feedback textarea {
    width: 100%;
    box-sizing: border-box;
    color: var(--cor-texto);
    background: var(--cor-card);
    border: 1px solid var(--cor-borda-forte);
}

body.central-atendimento-page .ai-advisor-sugestao-resposta::placeholder,
body.central-atendimento-page .ai-advisor-feedback textarea::placeholder {
    color: var(--cor-muted);
    opacity: 1;
}

body.central-atendimento-page .ai-advisor-fontes {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    color: var(--cor-texto);
    background: transparent;
}

body.central-atendimento-page .ai-advisor-fonte-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 0;
    border-bottom: 1px solid var(--cor-borda);
    color: var(--cor-texto);
    background: transparent;
}

body.central-atendimento-page .ai-advisor-fonte-item:last-child {
    border-bottom: 0;
}

body.central-atendimento-page .ai-advisor-fonte-item a {
    color: var(--cor-primaria);
    font-weight: 700;
    text-decoration: none;
}

body.central-atendimento-page .ai-advisor-fonte-item a:hover,
body.central-atendimento-page .ai-advisor-fonte-item a:focus {
    text-decoration: underline;
}

body.central-atendimento-page .ai-advisor-fonte-item span,
body.central-atendimento-page .mensagemFeedbackAdvisor {
    color: var(--cor-muted);
}

/* Categoria sugerida pela IA */
body.central-atendimento-page .ai-categoria-sugestao {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    background: #f7f9fc;
}

body.central-atendimento-page .ai-categoria-sugestao-topo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

body.central-atendimento-page .ai-categoria-cor {
    width: 14px;
    height: 36px;
    flex: 0 0 14px;
    border-radius: 8px;
    background: var(--categoria-cor, #2563eb);
    box-shadow: 0 0 0 1px rgba(0,0,0,.12);
}

body.central-atendimento-page .ai-categoria-sem-correspondencia {
    border-style: dashed;
    border-color: #d8a62a;
}

@media (max-width: 680px) {
    body.central-atendimento-page .status-fila-lateral-form .operacao-controle-linha,
    body.central-atendimento-page .operacao-lateral-form .operacao-controle-linha {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   Sprint 4.25 — Bloco 45
   Indicadores / BI sem style.css
   Migração seletiva e escopada dos componentes BI ainda exclusivos do legado.
   ========================================================================= */

body.pagina-indicadores .bi-filtros-box {margin-bottom: 14px; padding: 0; overflow: hidden;}

body.pagina-indicadores .bi-filtros-header {display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px 18px; border-bottom:1px solid var(--cor-borda);}

body.pagina-indicadores .bi-filtros-header h2,
body.pagina-indicadores .bi-fundacao-secao h2,
body.pagina-indicadores .bi-legado-separador h2 {margin:0;}

body.pagina-indicadores .bi-filtros-header p,
body.pagina-indicadores .bi-legado-separador p {margin:5px 0 0; color:var(--cor-muted);}

body.pagina-indicadores .bi-filtros-form {display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:10px; align-items:end; padding:14px 18px;}

body.pagina-indicadores .bi-filtros-form label {display:grid; gap:5px; min-width:0;}

body.pagina-indicadores .bi-filtros-form label > span {color:var(--cor-muted); font-size:10px; font-weight:800; text-transform:uppercase;}

body.pagina-indicadores .bi-filtros-form input,
body.pagina-indicadores .bi-filtros-form select {min-width:0; width:100%;}

body.pagina-indicadores .bi-filtros-acoes {display:flex; gap:8px; align-items:center; flex-wrap:wrap; grid-column:1 / -1;}

body.pagina-indicadores .bi-filtros-exportacao {display:flex; gap:6px; align-items:center; flex-wrap:wrap;}

body.pagina-indicadores .bi-resumo-periodo {display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:14px;}

body.pagina-indicadores .bi-resumo-card {display:grid; gap:7px; min-height:105px;}

body.pagina-indicadores .bi-resumo-card span {color:var(--cor-muted); font-size:11px; font-weight:800; text-transform:uppercase;}

body.pagina-indicadores .bi-resumo-card strong {font-size:28px; line-height:1;}

body.pagina-indicadores .bi-resumo-card small {color:var(--cor-muted);}

body.pagina-indicadores .bi-fundacao-grade {grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:14px;}

body.pagina-indicadores .bi-fundacao-secao {padding:0; overflow:hidden;}

body.pagina-indicadores .bi-fundacao-secao > header {display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 15px; border-bottom:1px solid var(--cor-borda);}

body.pagina-indicadores .bi-fundacao-secao > header span {color:var(--cor-muted); font-size:10px;}

body.pagina-indicadores .bi-tabela-scroll {max-height:310px; overflow:auto;}

body.pagina-indicadores .bi-fundacao-secao table {margin:0; border:0; box-shadow:none;}

body.pagina-indicadores .bi-legado-separador {margin:16px 0 12px;}

@media (max-width:1200px) {
body.pagina-indicadores .bi-filtros-form {grid-template-columns:repeat(3,minmax(0,1fr));}

body.pagina-indicadores .bi-resumo-periodo {grid-template-columns:repeat(3,minmax(0,1fr));}

body.pagina-indicadores .bi-fundacao-grade {grid-template-columns:1fr;}
}

@media (max-width:700px) {
body.pagina-indicadores .bi-filtros-form {grid-template-columns:1fr;}

body.pagina-indicadores .bi-filtros-acoes {flex-wrap:wrap;}

body.pagina-indicadores .bi-resumo-periodo {grid-template-columns:1fr 1fr;}
}

body.pagina-indicadores .bi-sla-box {margin-top: 14px;
    overflow: hidden;}

body.pagina-indicadores .bi-sla-header {padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--cor-borda);}

body.pagina-indicadores .bi-sla-header h2 {margin: 3px 0 4px;}

body.pagina-indicadores .bi-sla-header p {margin: 0; color: var(--cor-muted);}

body.pagina-indicadores .bi-sla-cards {padding: 14px;
    display: grid;
    grid-template-columns: repeat(6, minmax(145px, 1fr));
    gap: 12px;}

body.pagina-indicadores .bi-sla-card {min-width: 0;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    background: var(--cor-card);}

body.pagina-indicadores .bi-sla-card span {color: var(--cor-muted); font-size: 11px; font-weight: 800;}

body.pagina-indicadores .bi-sla-card strong {color: var(--cor-texto-forte); font-size: 22px; line-height: 1.1;}

body.pagina-indicadores .bi-sla-card small {color: var(--cor-muted); font-size: 10px;}

body.pagina-indicadores .bi-sla-card.bi-sla-atencao {border-color: #f59e0b;}

html[data-tema="escuro"] body.pagina-indicadores .bi-sla-card {background: var(--cor-fundo-suave);}

@media (max-width: 1280px) {
body.pagina-indicadores .bi-sla-cards {grid-template-columns: repeat(3, minmax(160px, 1fr));}
}

@media (max-width: 700px) {
body.pagina-indicadores .bi-sla-header {align-items: flex-start; flex-direction: column;}

body.pagina-indicadores .bi-sla-cards {grid-template-columns: 1fr;}
}

body.pagina-indicadores .bi-produtividade-box {margin-top: 14px;
    overflow: hidden;}

body.pagina-indicadores .bi-produtividade-header {padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--cor-borda);}

body.pagina-indicadores .bi-produtividade-header h2 {margin: 3px 0 4px;}

body.pagina-indicadores .bi-produtividade-header p {margin: 0; color: var(--cor-muted);}

body.pagina-indicadores .bi-produtividade-tabela {max-height: 520px;}

body.pagina-indicadores .bi-produtividade-tabela table {min-width: 1120px;}

body.pagina-indicadores .bi-produtividade-tabela thead th {position: sticky;
    top: 0;
    z-index: 2;
    background: var(--cor-card);}

body.pagina-indicadores .bi-ranking-posicao {display: inline-flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--cor-fundo-suave);
    font-weight: 800;}

body.pagina-indicadores .bi-valor-neutro {color: var(--cor-muted);}

body.pagina-indicadores .bi-produtividade-nota {margin: 0;
    padding: 10px 18px 14px;
    color: var(--cor-muted);
    font-size: 11px;
    border-top: 1px solid var(--cor-borda);}

html[data-tema="escuro"] body.pagina-indicadores .bi-produtividade-tabela thead th {background: var(--cor-card);}

@media (max-width: 700px) {
body.pagina-indicadores .bi-produtividade-header {align-items: flex-start;
        flex-direction: column;}
}

body.pagina-indicadores .bi-gargalos-box {margin-top: 14px; overflow: hidden;}

body.pagina-indicadores .bi-gargalos-header {padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--cor-borda);}

body.pagina-indicadores .bi-gargalos-header h2 {margin: 3px 0 4px;}

body.pagina-indicadores .bi-gargalos-header p {margin: 0; color: var(--cor-muted);}

body.pagina-indicadores .bi-gargalos-tabela {max-height: 560px;}

body.pagina-indicadores .bi-gargalos-tabela table {min-width: 1260px;}

body.pagina-indicadores .bi-gargalos-tabela thead th {position: sticky;
    top: 0;
    z-index: 2;
    background: var(--cor-card);}

body.pagina-indicadores .bi-gargalos-nota {margin: 0;
    padding: 10px 18px 14px;
    color: var(--cor-muted);
    font-size: 11px;
    border-top: 1px solid var(--cor-borda);}

html[data-tema="escuro"] body.pagina-indicadores .bi-gargalos-tabela thead th {background: var(--cor-card);}

@media (max-width: 700px) {
body.pagina-indicadores .bi-gargalos-header {align-items: flex-start; flex-direction: column;}
}

body.pagina-indicadores .bi-categorias-box {margin-top: 14px; overflow: hidden;}

body.pagina-indicadores .bi-categorias-header {padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--cor-borda);}

body.pagina-indicadores .bi-categorias-header h2 {margin: 3px 0 4px;}

body.pagina-indicadores .bi-categorias-header p {margin: 0; color: var(--cor-muted);}

body.pagina-indicadores .bi-categorias-resumo {display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end;}

body.pagina-indicadores .bi-categorias-tabela {max-height: 580px;}

body.pagina-indicadores .bi-categorias-tabela table {min-width: 1280px;}

body.pagina-indicadores .bi-categorias-tabela thead th {position: sticky;
    top: 0;
    z-index: 2;
    background: var(--cor-card);}

body.pagina-indicadores .bi-categorias-nota {margin: 0;
    padding: 10px 18px 14px;
    color: var(--cor-muted);
    font-size: 11px;
    border-top: 1px solid var(--cor-borda);}

html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-tabela thead th {background: var(--cor-card);}

@media (max-width: 700px) {
body.pagina-indicadores .bi-categorias-header {align-items: flex-start; flex-direction: column;}

body.pagina-indicadores .bi-categorias-resumo {justify-content: flex-start;}
}

body.pagina-indicadores .bi-qualidade-box {margin-top: 14px; overflow: hidden;}

body.pagina-indicadores .bi-qualidade-header {display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px; border-bottom:1px solid var(--cor-borda);}

body.pagina-indicadores .bi-qualidade-header h2 {margin:4px 0 6px;}

body.pagina-indicadores .bi-qualidade-header p {margin:0; color:var(--cor-muted);}

body.pagina-indicadores .bi-qualidade-cards {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:16px;}

body.pagina-indicadores .bi-qualidade-card {border:1px solid var(--cor-borda); border-radius:12px; padding:14px; background:var(--cor-superficie, #fff);}

body.pagina-indicadores .bi-qualidade-card span,
body.pagina-indicadores .bi-qualidade-card small {display:block; color:var(--cor-muted);}

body.pagina-indicadores .bi-qualidade-card strong {display:block; margin:7px 0 4px; font-size:25px;}

body.pagina-indicadores .bi-qualidade-nota {margin:0; padding:0 16px 16px; color:var(--cor-muted); font-size:12px;}

@media (max-width:1100px) {
body.pagina-indicadores .bi-qualidade-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:680px) {
body.pagina-indicadores .bi-qualidade-header {display:block}

body.pagina-indicadores .bi-qualidade-header .badge {margin-top:10px}

body.pagina-indicadores .bi-qualidade-cards {grid-template-columns:1fr;}
}

body.pagina-indicadores .bi-ia-box {margin-top: 18px;}

body.pagina-indicadores .bi-ia-header {display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px;}

body.pagina-indicadores .bi-ia-header h2 {margin:4px 0 5px;}

body.pagina-indicadores .bi-ia-header p {margin:0; color:var(--cor-muted);}

body.pagina-indicadores .bi-ia-cards {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;}

body.pagina-indicadores .bi-ia-card {border:1px solid var(--cor-borda); border-radius:12px; padding:14px; background:var(--cor-card); display:flex; flex-direction:column; gap:5px;}

body.pagina-indicadores .bi-ia-card span,
body.pagina-indicadores .bi-ia-card small {color:var(--cor-muted);}

body.pagina-indicadores .bi-ia-card strong {font-size:21px; line-height:1.1;}

body.pagina-indicadores .bi-ia-grids {display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px;}

body.pagina-indicadores .bi-ia-nota {margin:12px 0 0; color:var(--cor-muted); font-size:12px;}

body.pagina-indicadores .badge-roxo {background:rgba(124,58,237,.12); color:#7c3aed; border:1px solid rgba(124,58,237,.22);}

@media (max-width:1100px) {
body.pagina-indicadores .bi-ia-cards {grid-template-columns:repeat(2,minmax(0,1fr));}

body.pagina-indicadores .bi-ia-grids {grid-template-columns:1fr;}
}

@media (max-width:620px) {
body.pagina-indicadores .bi-ia-header {flex-direction:column;}

body.pagina-indicadores .bi-ia-cards {grid-template-columns:1fr;}
}

body.pagina-indicadores .bi-executivo-box {margin-top: 14px; overflow: hidden;}

body.pagina-indicadores .bi-executivo-header {display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border-bottom: 1px solid var(--cor-borda);}

body.pagina-indicadores .bi-executivo-header h2 {margin: 4px 0 6px;}

body.pagina-indicadores .bi-executivo-header p {margin: 0; color: var(--cor-muted);}

body.pagina-indicadores .bi-executivo-grid {display: grid;
    grid-template-columns: minmax(250px, .8fr) minmax(0, 2fr);
    gap: 14px;
    padding: 16px;}

body.pagina-indicadores .bi-executivo-score,
body.pagina-indicadores .bi-executivo-kpis article {border: 1px solid var(--cor-borda);
    border-radius: 14px;
    background: var(--cor-card);}

body.pagina-indicadores .bi-executivo-score {padding: 18px; display: flex; flex-direction: column;}

body.pagina-indicadores .bi-executivo-score > span,
body.pagina-indicadores .bi-executivo-score > small,
body.pagina-indicadores .bi-executivo-kpis span,
body.pagina-indicadores .bi-executivo-kpis small {color: var(--cor-muted);}

body.pagina-indicadores .bi-executivo-score strong {margin: 8px 0 5px; font-size: 38px; line-height: 1;}

body.pagina-indicadores .bi-executivo-barra {height: 9px;
    margin-top: auto;
    padding-top: 18px;
    box-sizing: content-box;
    overflow: hidden;}

body.pagina-indicadores .bi-executivo-barra::before {content: "";
    display: block;
    height: 9px;
    border-radius: 999px;
    background: rgba(100,116,139,.17);}

body.pagina-indicadores .bi-executivo-barra i {display: block;
    height: 9px;
    margin-top: -9px;
    border-radius: 999px;
    background: var(--cor-primaria);}

body.pagina-indicadores .bi-executivo-kpis {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px;}

body.pagina-indicadores .bi-executivo-kpis article {padding: 14px;}

body.pagina-indicadores .bi-executivo-kpis span,
body.pagina-indicadores .bi-executivo-kpis small {display: block;}

body.pagina-indicadores .bi-executivo-kpis strong {display: block; margin: 7px 0 4px; font-size: 24px;}

body.pagina-indicadores .bi-executivo-prioridades {padding: 0 16px 16px;}

body.pagina-indicadores .bi-executivo-prioridades h3 {margin: 2px 0 10px; font-size: 15px;}

body.pagina-indicadores .bi-executivo-prioridades article {display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 12px;
    align-items: flex-start;
    padding: 11px 0;
    border-top: 1px solid var(--cor-borda);}

body.pagina-indicadores .bi-executivo-prioridades article strong {display: block;}

body.pagina-indicadores .bi-executivo-prioridades article p {margin: 3px 0 0; color: var(--cor-muted); font-size: 12px;}

body.pagina-indicadores .bi-executivo-vazio {padding: 14px; border: 1px dashed var(--cor-borda); border-radius: 12px; color: var(--cor-muted);}

@media (max-width: 980px) {
body.pagina-indicadores .bi-executivo-grid {grid-template-columns: 1fr;}
}

@media (max-width: 680px) {
body.pagina-indicadores .bi-executivo-header {flex-direction: column;}

body.pagina-indicadores .bi-executivo-kpis {grid-template-columns: 1fr;}
}

body.pagina-indicadores .bi-categorias-diagnostico {display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
    margin: 14px 0;}

body.pagina-indicadores .bi-categorias-diagnostico > div {border: 1px solid var(--border-color, #d9dee7);
    border-radius: 10px;
    padding: 12px;
    background: var(--card-bg, #fff);}

body.pagina-indicadores .bi-categorias-diagnostico strong,
body.pagina-indicadores .bi-categorias-diagnostico span {display: block;}

body.pagina-indicadores .bi-categorias-diagnostico span {margin-top: 5px;
    font-size: .86rem;
    line-height: 1.4;
    opacity: .82;}

body.pagina-indicadores .bi-categorias-diagnostico code {font-size: .82rem;}

body.pagina-indicadores .bi-categorias-diagnostico .bi-categorias-alerta {border-color: #d9a400;}

body.pagina-indicadores .bi-auditoria-grid {display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 16px;}

body.pagina-indicadores .bi-legado-detalhes {margin-top: 18px;
    padding: 0;
    overflow: hidden;}

body.pagina-indicadores .bi-legado-detalhes > summary {cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    font-weight: 700;}

body.pagina-indicadores .bi-legado-detalhes > summary::-webkit-details-marker {display: none;}

body.pagina-indicadores .bi-legado-detalhes > summary::after {content: "+";
    font-size: 1.35rem;
    line-height: 1;
    opacity: .8;}

body.pagina-indicadores .bi-legado-detalhes[open] > summary::after {content: "−";}

body.pagina-indicadores .bi-legado-detalhes > summary small {margin-left: auto;
    font-weight: 400;
    opacity: .72;}

body.pagina-indicadores .bi-legado-detalhes[open] > summary {border-bottom: 1px solid var(--border-color, #2b405d);}

body.pagina-indicadores .bi-legado-detalhes > section,
body.pagina-indicadores .bi-legado-detalhes > .cards,
body.pagina-indicadores .bi-legado-detalhes > .indicadores-grid,
body.pagina-indicadores .bi-legado-detalhes > .indicadores-bloco {margin-left: 16px;
    margin-right: 16px;}

@media (max-width: 760px) {
body.pagina-indicadores .bi-legado-detalhes > summary {align-items: flex-start; flex-direction: column;}

body.pagina-indicadores .bi-legado-detalhes > summary small {margin-left: 0;}
}

body.pagina-indicadores .bi-complementares-sob-demanda {display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;}

body.pagina-indicadores .bi-complementares-sob-demanda h2 {margin: 0 0 6px;}

body.pagina-indicadores .bi-complementares-sob-demanda p {margin: 0; opacity: .78;}

body.pagina-indicadores .bi-complementares-acoes {display: flex;
    justify-content: flex-end;
    margin: 18px 0 10px;}

@media (max-width: 760px) {
body.pagina-indicadores .bi-complementares-sob-demanda {align-items: stretch; flex-direction: column;}

body.pagina-indicadores .bi-complementares-sob-demanda .btn {width: 100%; text-align: center;}
}

body.pagina-indicadores .bi-navegacao-box {display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;}

body.pagina-indicadores .bi-navegacao-box > div {display: grid;
    gap: 3px;
    flex: 0 0 auto;}

body.pagina-indicadores .bi-navegacao-links {display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;}

body.pagina-indicadores .bi-navegacao-links a {display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid var(--cor-borda);
    border-radius: 999px;
    background: var(--cor-fundo-secundario);
    color: var(--cor-texto);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;}

body.pagina-indicadores .bi-navegacao-links a:hover,
body.pagina-indicadores .bi-navegacao-links a:focus-visible {border-color: var(--cor-primaria);
    color: var(--cor-primaria);
    outline: none;}

@media (max-width: 820px) {
body.pagina-indicadores .bi-navegacao-box {align-items: flex-start;
        flex-direction: column;}

body.pagina-indicadores .bi-navegacao-links {justify-content: flex-start;}
}

body.pagina-indicadores .bi-navegacao-box {position: sticky;
    top: 8px;
    z-index: 20;
    flex-wrap: wrap;
    border-color: color-mix(in srgb, var(--cor-primaria) 35%, var(--cor-borda));
    box-shadow: 0 8px 22px rgba(15, 23, 42, .10);}

body.pagina-indicadores .bi-navegacao-ajuda {flex: 1 0 100%;
    margin: 2px 0 0;
    color: var(--cor-texto-secundario);
    font-size: 12px;}

body.pagina-indicadores .bi-executivo-box,
body.pagina-indicadores .bi-sla-box,
body.pagina-indicadores .bi-produtividade-box,
body.pagina-indicadores .bi-gargalos-box,
body.pagina-indicadores .bi-categorias-box,
body.pagina-indicadores .bi-qualidade-box,
body.pagina-indicadores .bi-ia-box,
body.pagina-indicadores .bi-auditoria-box,
body.pagina-indicadores .bi-complementares-sob-demanda,
body.pagina-indicadores .bi-legado-separador {border-top: 3px solid color-mix(in srgb, var(--cor-primaria) 45%, transparent);}

@media (max-width: 820px) {
body.pagina-indicadores .bi-navegacao-box {position: static;}
}

body.pagina-indicadores .bi-formula-link {border:0; padding:0; background:transparent; color:var(--cor-primaria); font:inherit; cursor:pointer; text-decoration:underline;}

body.pagina-indicadores .bi-formula-detalhes {grid-column:1/-1; margin:0 0 12px; border:1px solid var(--cor-borda); border-radius:12px; background:var(--cor-card);}

body.pagina-indicadores .bi-formula-detalhes summary {padding:12px 14px; cursor:pointer; font-weight:800;}

body.pagina-indicadores .bi-formula-conteudo {padding:0 14px 14px;}

body.pagina-indicadores .bi-formula-grid {display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:8px;}

body.pagina-indicadores .bi-formula-grid article {padding:11px; border:1px solid var(--cor-borda); border-radius:10px;}

body.pagina-indicadores .bi-formula-grid span,
body.pagina-indicadores .bi-formula-grid strong,
body.pagina-indicadores .bi-formula-grid small {display:block;}

body.pagina-indicadores .bi-formula-grid strong {margin:5px 0; font-size:19px;}

body.pagina-indicadores .bi-formula-grid small {color:var(--cor-muted);}

body.pagina-indicadores .bi-formula-aviso {padding:10px 12px; border-radius:9px; background:#fff7d6; color:#6c5200;}

html[data-tema="escuro"] body.pagina-indicadores .bi-formula-detalhes,
html[data-tema="escuro"] body.pagina-indicadores .bi-formula-grid article {background:#132238; border-color:#304660; color:#eef5ff;}

html[data-tema="escuro"] body.pagina-indicadores .bi-formula-aviso {background:#3a3015; color:#ffe6a3;}

@media (max-width:1100px) {
body.pagina-indicadores .bi-formula-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:760px) {
body.pagina-indicadores .bi-formula-grid {grid-template-columns:1fr}
}

body.pagina-indicadores .bi-calculo-explicacao {margin: 14px 18px 18px; border: 1px solid var(--borda, #2b405f); border-radius: 12px; background: rgba(255,255,255,.025);}

body.pagina-indicadores .bi-calculo-explicacao > summary {cursor: pointer; padding: 12px 14px; font-weight: 800;}

body.pagina-indicadores .bi-calculo-explicacao-corpo {padding: 0 14px 14px; color: var(--texto-secundario, #afbdd0);}

body.pagina-indicadores .bi-formula-grade {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0;}

body.pagina-indicadores .bi-formula-grade > div {display:flex; flex-direction:column; gap:5px; padding:12px; border:1px solid var(--borda, #2b405f); border-radius:10px; background:rgba(255,255,255,.025);}

body.pagina-indicadores .bi-gargalo-detalhe {margin-top:7px; font-size:.78rem;}

body.pagina-indicadores .bi-gargalo-detalhe summary {cursor:pointer; color:var(--cor-primaria, #4d9cff); font-weight:700;}

body.pagina-indicadores .bi-gargalo-detalhe div {display:flex; flex-direction:column; gap:3px; margin-top:6px; white-space:nowrap;}

@media (max-width:1000px) {
body.pagina-indicadores .bi-formula-grade {grid-template-columns:1fr 1fr}
}

@media (max-width:650px) {
body.pagina-indicadores .bi-formula-grade {grid-template-columns:1fr}
}

html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-diagnostico > div {background: #132238;
    border-color: #304660;
    color: #eef5ff;}

html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-diagnostico > div strong {color: #f4f8ff;}

html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-diagnostico > div span {color: #b7c6d9;
    opacity: 1;}

html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-diagnostico code {background: #0d1a2c;
    color: #dce9f9;
    border: 1px solid #304660;
    border-radius: 4px;
    padding: 1px 4px;}

html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-diagnostico .bi-categorias-alerta {background: #332b12;
    border-color: #d9a400;}

html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-diagnostico .bi-categorias-alerta strong {color: #ffe395;}

body.pagina-indicadores .bi-categoria-identidade {display:inline-flex; align-items:center; gap:.65rem; min-width:180px;}

body.pagina-indicadores .bi-categoria-identidade > i {width:.72rem; height:2.15rem; flex:0 0 .72rem; border-radius:999px; background:var(--categoria-cor,#64748b); box-shadow:0 0 0 1px rgba(15,23,42,.18);}

body.pagina-indicadores .bi-categoria-identidade > span {display:flex; flex-direction:column; gap:.1rem;}

body.pagina-indicadores .bi-categoria-identidade small,
body.pagina-indicadores .bi-categorias-tabela td small {color:var(--texto-secundario,#64748b); font-size:.72rem; white-space:nowrap;}

html[data-tema="escuro"] body.pagina-indicadores .bi-categoria-identidade small,
html[data-tema="escuro"] body.pagina-indicadores .bi-categorias-tabela td small {color:#aab7c8;}

body.pagina-indicadores .bi-categorizacao-ia-grid {display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-top:16px;}

body.pagina-indicadores .bi-categorizacao-ia-grid article {border:1px solid var(--borda, #29405f); border-radius:12px; padding:14px; background:var(--superficie-secundaria, #0d1b2f); display:grid; gap:5px;}

body.pagina-indicadores .bi-categorizacao-ia-grid span,
body.pagina-indicadores .bi-categorizacao-ia-grid small {color:var(--texto-secundario, #9fb0c8);}

body.pagina-indicadores .bi-categorizacao-ia-grid strong {font-size:1.35rem;}

body.pagina-indicadores .bi-categorizacao-ia-grid .bi-categorizacao-alerta {border-color:#b7791f;}

html[data-tema="claro"] body.pagina-indicadores .bi-categorizacao-ia-grid article {background:#f7f9fc; border-color:#d8e0eb;}

@media (max-width:1100px) {
body.pagina-indicadores .bi-categorizacao-ia-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:700px) {
body.pagina-indicadores .bi-categorizacao-ia-grid {grid-template-columns:1fr}
}


/* =========================================================================
   Sprint 4.28 — Bloco 1
   Central de Conversas — preview de anexo selecionado
   ========================================================================= */

body.central-atendimento-page .gw-anexo-preview {
    width: 100%;
    min-width: 0;
    margin: 7px 0 2px;
    padding: 8px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 32px;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--cor-borda);
    border-radius: var(--radius);
    background: var(--cor-fundo);
    color: var(--cor-texto);
}

body.central-atendimento-page .gw-anexo-preview-visual {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid var(--cor-borda);
    border-radius: 9px;
    background: var(--cor-card);
}

body.central-atendimento-page .gw-anexo-preview-imagem {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.central-atendimento-page .gw-anexo-preview-icone {
    font-size: 22px;
    line-height: 1;
}

body.central-atendimento-page .gw-anexo-preview-conteudo {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.central-atendimento-page .gw-anexo-preview-conteudo strong {
    overflow: hidden;
    color: var(--cor-texto-forte);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.central-atendimento-page .gw-anexo-preview-conteudo span {
    color: var(--cor-muted);
    font-size: 10px;
    line-height: 1.25;
}

body.central-atendimento-page button.gw-anexo-preview-remover {
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--cor-borda);
    border-radius: 50%;
    background: var(--cor-card);
    color: var(--cor-muted);
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
}

body.central-atendimento-page button.gw-anexo-preview-remover:hover,
body.central-atendimento-page button.gw-anexo-preview-remover:focus-visible {
    border-color: var(--cor-perigo);
    background: color-mix(in srgb, var(--cor-perigo) 8%, var(--cor-card));
    color: var(--cor-perigo);
    transform: none;
    box-shadow: none;
}

@supports not (background: color-mix(in srgb, #000 10%, #fff)) {
    body.central-atendimento-page button.gw-anexo-preview-remover:hover,
    body.central-atendimento-page button.gw-anexo-preview-remover:focus-visible {
        background: var(--cor-card);
    }
}

@media (max-width: 680px) {
    body.central-atendimento-page .gw-anexo-preview {
        grid-template-columns: 42px minmax(0, 1fr) 32px;
    }

    body.central-atendimento-page .gw-anexo-preview-visual {
        width: 42px;
        height: 42px;
    }
}

/* =========================================================================
   Sprint 4.28 — Bloco 1.1 Hotfix
   Central de Conversas — contenção rígida da miniatura de anexo
   Motivo: garantir que regras legadas/globais de imagem não permitam que a
   prévia use as dimensões naturais do arquivo selecionado.
   ========================================================================= */

.gw-anexo-preview .gw-anexo-preview-visual,
body.central-atendimento-page .gw-anexo-preview .gw-anexo-preview-visual {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    flex: 0 0 48px !important;
    overflow: hidden !important;
    position: relative !important;
}

.gw-anexo-preview .gw-anexo-preview-visual > img.gw-anexo-preview-imagem,
body.central-atendimento-page .gw-anexo-preview .gw-anexo-preview-visual > img.gw-anexo-preview-imagem {
    display: block !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 680px) {
    .gw-anexo-preview .gw-anexo-preview-visual,
    body.central-atendimento-page .gw-anexo-preview .gw-anexo-preview-visual {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        flex-basis: 42px !important;
    }

    .gw-anexo-preview .gw-anexo-preview-visual > img.gw-anexo-preview-imagem,
    body.central-atendimento-page .gw-anexo-preview .gw-anexo-preview-visual > img.gw-anexo-preview-imagem {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }
}


/*
 * A4-R4Y2 - visualizador de imagens da Central
 */
.gw-anexo-lightbox {
    width: min(94vw, 1200px);
    max-width: 1200px;
    max-height: 92vh;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    overflow: visible;
}

.gw-anexo-lightbox::backdrop {
    background: rgba(0, 0, 0, 0.88);
}

.gw-anexo-lightbox-conteudo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 92vh;
}

.gw-anexo-lightbox-imagem {
    display: block;
    max-width: 94vw;
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
}

.gw-anexo-lightbox-fechar {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

.gw-anexo-lightbox-fechar:hover,
.gw-anexo-lightbox-fechar:focus-visible {
    background: rgba(0, 0, 0, 0.9);
    outline: 2px solid #fff;
    outline-offset: 2px;
}


/*
|--------------------------------------------------------------------------
| Sprint 4.36 — Cliente 360 na lateral da Central
|--------------------------------------------------------------------------
*/

body.central-atendimento-page .cliente360-lateral-box {
    display: grid;
    gap: 12px;
    padding: 14px;
}

body.central-atendimento-page .cliente360-lateral-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

body.central-atendimento-page .cliente360-lateral-header > div {
    min-width: 0;
}

body.central-atendimento-page .cliente360-lateral-kicker {
    display: block;
    margin-bottom: 4px;
    color: var(--cor-muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

body.central-atendimento-page .cliente360-lateral-nome {
    display: block;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.central-atendimento-page .cliente360-lateral-contagem {
    flex: 0 0 auto;
    padding: 4px 7px;
    border: 1px solid var(--cor-borda);
    border-radius: 999px;
    color: var(--cor-muted);
    font-size: 9px;
    font-weight: 800;
}

body.central-atendimento-page .cliente360-lateral-dados {
    display: grid;
    gap: 8px;
}

body.central-atendimento-page .cliente360-lateral-dado,
body.central-atendimento-page .cliente360-lateral-observacao {
    min-width: 0;
}

body.central-atendimento-page .cliente360-lateral-dado > span,
body.central-atendimento-page .cliente360-lateral-observacao > span {
    display: block;
    margin-bottom: 2px;
    color: var(--cor-muted);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

body.central-atendimento-page .cliente360-lateral-dado > strong {
    display: block;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.central-atendimento-page .cliente360-lateral-observacao p {
    max-height: 72px;
    margin: 0;
    overflow-y: auto;
    font-size: 10px;
    line-height: 1.45;
}

body.central-atendimento-page .cliente360-historico-details {
    border-top: 1px solid var(--cor-borda);
    padding-top: 10px;
}

body.central-atendimento-page .cliente360-historico-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
}

body.central-atendimento-page .cliente360-historico-details > summary > span {
    color: var(--cor-muted);
    font-size: 9px;
}

body.central-atendimento-page .cliente360-busca-wrap {
    margin-top: 10px;
}

body.central-atendimento-page .cliente360-busca-wrap input {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}

body.central-atendimento-page .cliente360-busca-wrap small {
    display: block;
    margin-top: 5px;
    color: var(--cor-muted);
    font-size: 8px;
    line-height: 1.35;
}

body.central-atendimento-page .cliente360-historico-lista {
    display: grid;
    gap: 7px;
    max-height: 310px;
    margin-top: 9px;
    padding-right: 4px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

body.central-atendimento-page .cliente360-historico-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
}

body.central-atendimento-page .cliente360-historico-item-corpo {
    min-width: 0;
}

body.central-atendimento-page .cliente360-historico-item-corpo > strong {
    font-size: 10px;
}

body.central-atendimento-page .cliente360-historico-meta,
body.central-atendimento-page .cliente360-historico-detalhe {
    margin-top: 3px;
    color: var(--cor-muted);
    font-size: 8px;
    line-height: 1.35;
}

body.central-atendimento-page .cliente360-historico-trecho {
    margin-top: 5px;
    font-size: 9px;
    font-style: italic;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

body.central-atendimento-page .cliente360-historico-abrir {
    flex: 0 0 auto;
    padding: 5px 7px !important;
    font-size: 8px !important;
    white-space: nowrap;
}

body.central-atendimento-page .cliente360-historico-limite,
body.central-atendimento-page .cliente360-historico-vazio {
    display: block;
    margin-top: 8px;
    color: var(--cor-muted);
    font-size: 8px;
}


/*
|--------------------------------------------------------------------------
| Sprint 4.36B — Simplificação da lateral
|--------------------------------------------------------------------------
*/

body.central-atendimento-page
.trava-conversa-box:not(.aberto) {
    flex: 0 0 auto !important;
}

body.central-atendimento-page
.trava-conversa-box:not(.aberto)
> .trava-conversa-rotulo {
    border-bottom: 0 !important;
}

body.central-atendimento-page
.lateral-subgrupo {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

body.central-atendimento-page
.lateral-subgrupo
> .lateral-secundario {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    box-sizing: border-box;
    box-shadow: none !important;
}

body.central-atendimento-page
.lateral-subgrupo
.lateral-secundario-header {
    min-height: 38px;
    padding: 8px 10px !important;
}

body.central-atendimento-page
.lateral-subgrupo
.lateral-box-header h2 {
    font-size: 10px !important;
}

body.central-atendimento-page
.lateral-subgrupo
.lateral-box-conteudo {
    width: 100%;
    min-width: 0;
    padding: 10px !important;
    box-sizing: border-box;
}

body.central-atendimento-page
.lateral-subgrupo
.lateral-secundario:not(.aberto)
> .lateral-box-conteudo {
    display: none !important;
}

body.central-atendimento-page
.trava-conversa-box
> .lateral-subgrupo-atendimento {
    padding-top: 8px;
    border-top: 1px solid var(--cor-borda);
}

body.central-atendimento-page
.mais-controles-conteudo {
    padding: 8px !important;
}

body.central-atendimento-page
.mais-controles-conteudo
.lateral-subgrupo {
    margin-top: 0;
}


/*
|--------------------------------------------------------------------------
| Sprint 4.36C — Refinamento Cliente 360
|--------------------------------------------------------------------------
*/

body.central-atendimento-page
.cliente360-lateral-box {
    padding: 0 !important;
    overflow: hidden;
}

body.central-atendimento-page
.cliente360-lateral-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 12px 10px !important;
    border-bottom: 1px solid var(--cor-borda);
}

body.central-atendimento-page
.cliente360-lateral-identidade {
    min-width: 0;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 4px !important;
}

body.central-atendimento-page
.cliente360-lateral-kicker {
    display: block !important;
    margin: 0 !important;
    color: var(--cor-muted) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .06em;
}

body.central-atendimento-page
.cliente360-lateral-nome {
    display: block !important;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    overflow: hidden;
    color: var(--cor-texto-forte) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.central-atendimento-page
.cliente360-lateral-contagem {
    min-width: 28px;
    height: 24px;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 999px !important;
    background: var(--cor-fundo-suave) !important;
    color: var(--cor-texto-forte) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.central-atendimento-page
.cliente360-lateral-dados {
    display: grid !important;
    gap: 0 !important;
    padding: 4px 12px !important;
}

body.central-atendimento-page
.cliente360-lateral-dado {
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
    padding: 5px 0 !important;
}

body.central-atendimento-page
.cliente360-lateral-dado
+ .cliente360-lateral-dado {
    border-top: 1px solid
        color-mix(
            in srgb,
            var(--cor-borda) 60%,
            transparent
        );
}

body.central-atendimento-page
.cliente360-lateral-dado > span,
body.central-atendimento-page
.cliente360-lateral-observacao > span {
    margin: 0 !important;
    color: var(--cor-muted) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

body.central-atendimento-page
.cliente360-lateral-dado > strong {
    min-width: 0;
    color: var(--cor-texto-forte) !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
}

body.central-atendimento-page
.cliente360-lateral-observacao {
    padding: 7px 0 !important;
}

body.central-atendimento-page
.cliente360-lateral-observacao p {
    margin: 4px 0 0 !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

body.central-atendimento-page
.cliente360-historico-details {
    margin: 0 !important;
    border-top: 1px solid var(--cor-borda) !important;
}

body.central-atendimento-page
.cliente360-historico-details > summary {
    min-height: 39px;
    padding: 8px 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    color: var(--cor-texto-forte) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    list-style: none;
}

body.central-atendimento-page
.cliente360-historico-details
> summary::-webkit-details-marker {
    display: none;
}

body.central-atendimento-page
.cliente360-historico-details
> summary::after {
    content: "+";
    display: grid;
    place-items: center;
    color: var(--cor-muted);
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

body.central-atendimento-page
.cliente360-historico-details[open]
> summary::after {
    content: "−";
}

body.central-atendimento-page
.cliente360-historico-details
> summary
> span {
    min-width: 24px;
    height: 20px;
    padding: 0 6px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    border-radius: 999px !important;
    background: var(--cor-fundo-suave) !important;
    color: var(--cor-muted) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

/*
 * Fila e estado agora pertence ao primeiro nível.
 */
body.central-atendimento-page
.detalhes-coluna-lateral
> .status-fila-lateral-box {
    width: 100%;
    min-width: 0;
}


/*
|--------------------------------------------------------------------------
| Sprint 4.36D — Cliente 360 compacto
|--------------------------------------------------------------------------
| Somente refinamento visual do Cliente 360.
*/

body.central-atendimento-page
.cliente360-lateral-box {
    padding: 0 !important;
    overflow: hidden;
}

body.central-atendimento-page
.cliente360-lateral-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 13px 8px !important;
    border-bottom: 0 !important;
}

body.central-atendimento-page
.cliente360-lateral-identidade {
    display: block !important;
    min-width: 0;
}

body.central-atendimento-page
.cliente360-lateral-nome {
    display: block !important;
    min-width: 0;
    margin: 0 !important;
    overflow: hidden;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.central-atendimento-page
.cliente360-lateral-contagem {
    min-width: 30px !important;
    height: 24px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 999px !important;
    background: var(--cor-fundo-suave) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.central-atendimento-page
.cliente360-lateral-dados {
    display: grid !important;
    gap: 3px !important;
    padding: 0 13px 10px !important;
}

body.central-atendimento-page
.cliente360-lateral-dado {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
}

body.central-atendimento-page
.cliente360-lateral-dado
+ .cliente360-lateral-dado {
    border: 0 !important;
}

body.central-atendimento-page
.cliente360-lateral-empresa > span,
body.central-atendimento-page
.cliente360-lateral-canal > span {
    display: none !important;
}

body.central-atendimento-page
.cliente360-lateral-empresa > strong {
    display: block !important;
    margin: 0 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

body.central-atendimento-page
.cliente360-lateral-canal > strong {
    display: block !important;
    margin: 0 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    opacity: .82;
}

body.central-atendimento-page
.cliente360-lateral-canal > strong::before {
    content: "💬 ";
}

body.central-atendimento-page
.cliente360-lateral-observacao {
    margin-top: 4px !important;
    padding: 6px 0 0 !important;
    border-top: 1px solid var(--cor-borda) !important;
}

body.central-atendimento-page
.cliente360-historico-details {
    margin: 0 !important;
    border-top: 1px solid var(--cor-borda) !important;
}

body.central-atendimento-page
.cliente360-historico-details > summary {
    min-height: 39px !important;
    padding: 8px 13px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    list-style: none !important;
    cursor: pointer;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

body.central-atendimento-page
.cliente360-historico-details
> summary::-webkit-details-marker {
    display: none;
}

body.central-atendimento-page
.cliente360-historico-details
> summary::after {
    content: "+";
    display: block;
    margin-left: auto;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

body.central-atendimento-page
.cliente360-historico-details[open]
> summary::after {
    content: "−";
}

/* Segurança contra regras anteriores do contador no summary. */
body.central-atendimento-page
.cliente360-historico-details
> summary
> span {
    display: none !important;
}
/* ==========================================================================
   Sprint 4.37 — Colaboradores no atendimento
   ========================================================================== */

.colaboradores-lateral {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--cor-borda);
}

.colaboradores-lateral-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 7px;
}

.colaboradores-lateral-cabecalho > span {
    font-size: 11px;
    font-weight: 800;
    color: var(--cor-texto);
}

.colaboradores-lateral-cabecalho > small {
    min-width: 20px;
    padding: 2px 6px;
    border: 1px solid var(--cor-borda);
    border-radius: 999px;
    text-align: center;
    font-size: 9px;
    font-weight: 800;
    color: var(--cor-muted);
}

.colaboradores-lateral-lista {
    display: grid;
    gap: 5px;
    margin-bottom: 8px;
}

.colaboradores-lateral-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    padding: 5px 6px;
    border: 1px solid var(--cor-borda);
    border-radius: 7px;
    background: rgba(148, 163, 184, .06);
}

.colaboradores-lateral-identidade {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.colaboradores-lateral-identidade strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    line-height: 1.25;
}

.colaboradores-lateral-identidade small {
    font-size: 8px;
    line-height: 1.2;
    color: var(--cor-muted);
    text-transform: capitalize;
}

.colaboradores-lateral-remover {
    margin: 0;
    flex: 0 0 auto;
}

.colaboradores-lateral-remover-btn {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.colaboradores-lateral-vazio,
.colaboradores-lateral-sem-disponiveis {
    display: block;
    margin: 3px 0 7px;
    font-size: 9px;
    line-height: 1.35;
    color: var(--cor-muted);
}

.colaboradores-lateral-adicionar {
    margin-top: 7px;
}

.colaboradores-lateral-adicionar label {
    font-size: 9px;
}

.colaboradores-lateral-adicionar select {
    min-width: 0;
}

.colaboradores-lateral-adicionar button {
    white-space: nowrap;
}

html[data-tema="escuro"] .colaboradores-lateral-item {
    background: rgba(148, 163, 184, .08);
}



/* =========================================================
   Sprint 4.37 — Nota de Sistema na timeline
   ========================================================= */

body.central-atendimento-page .timeline-sistema {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 0;
}

body.central-atendimento-page .timeline-sistema-linha {
    flex: 1 1 auto;
    height: 1px;
    background: rgba(100,116,139,.28);
}

body.central-atendimento-page .timeline-sistema-conteudo {
    flex: 0 1 auto;
    min-width: 0;
    max-width: min(78%, 760px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 10px;
    text-align: center;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

body.central-atendimento-page .timeline-sistema-conteudo strong {
    color: #475569;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

body.central-atendimento-page .timeline-sistema-conteudo span {
    color: #475569;
    font-size: 12px;
}

body.central-atendimento-page .timeline-sistema-conteudo small {
    color: #94a3b8;
    font-size: 10px;
}

html[data-tema="escuro"] body.central-atendimento-page .timeline-sistema-linha {
    background: rgba(148,163,184,.25);
}

html[data-tema="escuro"] body.central-atendimento-page .timeline-sistema-conteudo,
html[data-tema="escuro"] body.central-atendimento-page .timeline-sistema-conteudo span {
    color: #cbd5e1;
}

html[data-tema="escuro"] body.central-atendimento-page .timeline-sistema-conteudo strong {
    color: #e2e8f0;
}

html[data-tema="escuro"] body.central-atendimento-page .timeline-sistema-conteudo small {
    color: #94a3b8;
}

/* =========================================================================
   Sprint 4.38 — Identificação complementar do cliente
   ========================================================================= */

.pagina-admin-identificacao .identificacao-cabecalho-navegacao {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.pagina-admin-identificacao .identificacao-cabecalho-navegacao h1 {
    margin-top: 0;
    margin-bottom: 6px;
}

.pagina-admin-identificacao .identificacao-cabecalho-navegacao p {
    margin-bottom: 4px;
}

.pagina-admin-identificacao .identificacao-cabecalho-navegacao small {
    color: var(--cor-muted);
}

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

.pagina-admin-identificacao .identificacao-resumo > div {
    padding: 12px;
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #f8fafc;
}

.pagina-admin-identificacao .identificacao-resumo span {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 12px;
}

.pagina-admin-identificacao .identificacao-resumo strong {
    font-size: 16px;
}

.pagina-admin-identificacao .identificacao-form label {
    display: grid;
    gap: 5px;
    margin-bottom: 12px;
}

.pagina-admin-identificacao .identificacao-form textarea,
.pagina-admin-identificacao .identificacao-form select {
    width: 100%;
}

.pagina-admin-identificacao .identificacao-chave {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    background: #f8fafc;
}

.pagina-admin-identificacao .identificacao-chave strong {
    display: block;
    margin-bottom: 3px;
}

.pagina-admin-identificacao .identificacao-chave small {
    color: #64748b;
}

.pagina-admin-identificacao .identificacao-aviso {
    margin-top: 12px;
    padding: 11px;
    border: 1px solid #f4c56b;
    border-radius: 10px;
    background: #fff8df;
    color: #6b4b00;
    font-size: 12px;
}

.pagina-admin-identificacao .identificacao-grupo {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #dbe3ee;
    border-left: 5px solid #2563eb;
    border-radius: 12px;
    background: #ffffff;
}

.pagina-admin-identificacao .identificacao-grupo h2,
.pagina-admin-identificacao .identificacao-variaveis h2 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 17px;
}

.pagina-admin-identificacao .identificacao-check {
    display: block;
}

.pagina-admin-identificacao .identificacao-check span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.pagina-admin-identificacao .identificacao-observacao {
    display: block;
    color: #64748b;
    line-height: 1.45;
}

.pagina-admin-identificacao .identificacao-variaveis {
    margin: 16px 0;
    padding: 14px;
    border: 1px dashed #94a3b8;
    border-radius: 12px;
    background: #f8fafc;
}

.pagina-admin-identificacao .identificacao-variaveis code {
    display: inline-block;
    margin: 3px 5px 3px 0;
    padding: 4px 7px;
    border-radius: 6px;
    background: #e2e8f0;
    font-size: 12px;
}

@media (max-width: 900px) {
    .pagina-admin-identificacao .identificacao-resumo {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .pagina-admin-identificacao .identificacao-cabecalho-navegacao,
    .pagina-admin-identificacao .identificacao-chave {
        flex-direction: column;
        align-items: stretch;
    }
}


/*
|--------------------------------------------------------------------------
| Sprint 4.38 — Estado operacional na barra superior
|--------------------------------------------------------------------------
| - Move o seletor de estado da lateral para o cabeçalho da conversa.
| - Mantém o fluxo POST/CSRF e o handler alterar_estado existentes.
| - Preserva o botão Encerrar e o tempo do estado.
| - O seletor acompanha mudanças por polling quando não há edição local.
|--------------------------------------------------------------------------
*/

.central-estado-form {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}

.central-estado-select {
    width: auto;
    min-width: 142px;
    max-width: 190px;
    min-height: 30px;
    margin: 0;
    padding: 4px 25px 4px 8px;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    background: var(--cor-card);
    color: var(--cor-texto-forte);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
}

.central-estado-salvar {
    min-height: 30px;
    margin: 0;
    padding: 5px 8px;
    white-space: nowrap;
}

#avisoClienteRespondeuEncerramento {
    flex: 0 0 auto;
}

@media (max-width: 1180px) {
    .central-estado-form {
        flex: 1 1 auto;
    }

    .central-estado-select {
        flex: 1 1 140px;
        max-width: 190px;
    }
}

@media (max-width: 720px) {
    .central-chat-status-acoes {
        width: 100%;
        justify-content: flex-start;
    }

    .central-estado-form {
        width: 100%;
    }

    .central-estado-select {
        flex: 1 1 auto;
        max-width: none;
    }
}


/*
|--------------------------------------------------------------------------
| Sprint 4.39 - 1E-V
| Agenda Comercial no Dashboard
|--------------------------------------------------------------------------
*/

.dashboard-agenda-comercial {
    margin-top: 14px;
}

.dashboard-agenda-comercial-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.dashboard-agenda-comercial-topo h2 {
    margin: 3px 0 4px;
    font-size: 18px;
}

.dashboard-agenda-comercial-topo p {
    margin: 0;
    color: var(--cor-muted);
    font-size: 12px;
}

.dashboard-agenda-comercial-abrir {
    flex: 0 0 auto;
    margin: 0;
}

.dashboard-agenda-comercial-cards {
    grid-template-columns:
        repeat(3, minmax(170px, 1fr));
}

.dashboard-agenda-comercial-cards .dashboard-card {
    min-height: 112px;
}

@media (max-width: 760px) {

    .dashboard-agenda-comercial-topo {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-agenda-comercial-abrir {
        width: 100%;
    }

    .dashboard-agenda-comercial-cards {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Cliente 360 — histórico completo do cliente
   ========================================================================== */

body.central-atendimento-page
.cliente360-historico-completo {
    min-height: 39px;
    box-sizing: border-box;
    padding: 8px 13px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-top: 1px solid var(--cor-borda) !important;
    color: var(--cor-texto-forte) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    cursor: pointer;
}

body.central-atendimento-page
.cliente360-historico-completo::after {
    content: "+";
    display: block;
    margin-left: auto;
    color: var(--cor-muted);
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

body.central-atendimento-page
.cliente360-historico-completo:hover {
    color: var(--cor-texto-forte) !important;
    text-decoration: none !important;
}


/* ==========================================================================
   Cliente 360 — compactacao das linhas de historico
   ========================================================================== */

body.central-atendimento-page
.cliente360-historico-details > summary,
body.central-atendimento-page
.cliente360-historico-completo {
    min-height: 34px !important;
    padding: 6px 12px !important;
    gap: 6px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
}

body.central-atendimento-page
.cliente360-historico-details > summary::after,
body.central-atendimento-page
.cliente360-historico-completo::after {
    font-size: 15px !important;
    line-height: 1 !important;
}

body.central-atendimento-page
.cliente360-historico-completo {
    border-top: 1px solid var(--cor-borda) !important;
    color: var(--cor-texto-forte) !important;
    text-decoration: none !important;
}

body.central-atendimento-page
.cliente360-historico-completo:hover {
    color: var(--cor-texto-forte) !important;
    text-decoration: none !important;
}

/* ==========================================================================
   Cliente 360 — card recolhivel e compactacao geral
   ========================================================================== */

body.central-atendimento-page
.cliente360-card-details {
    padding: 0 !important;
    overflow: hidden;
}

body.central-atendimento-page
.cliente360-card-details
> .cliente360-lateral-header {
    min-height: 46px !important;
    box-sizing: border-box;
    padding: 7px 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 16px !important;
    align-items: center !important;
    gap: 7px !important;
    border-bottom: 0 !important;
    cursor: pointer;
    list-style: none !important;
}

body.central-atendimento-page
.cliente360-card-details
> .cliente360-lateral-header::-webkit-details-marker {
    display: none;
}

body.central-atendimento-page
.cliente360-card-details
> .cliente360-lateral-header::after {
    content: "+";
    display: block;
    color: var(--cor-muted);
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}

body.central-atendimento-page
.cliente360-card-details[open]
> .cliente360-lateral-header::after {
    content: "−";
}

body.central-atendimento-page
.cliente360-card-details[open]
> .cliente360-lateral-header {
    border-bottom: 1px solid var(--cor-borda) !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-kicker {
    font-size: 8px !important;
    line-height: 1.05 !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-nome {
    margin-top: 1px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-contagem {
    min-width: 26px !important;
    height: 22px !important;
    padding: 0 7px !important;
    font-size: 9px !important;
}

body.central-atendimento-page
.cliente360-card-conteudo {
    min-width: 0;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-dados {
    gap: 2px !important;
    padding: 6px 11px 7px !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-dado {
    line-height: 1.1 !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-dado > span,
body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-observacao > span {
    font-size: 8px !important;
    line-height: 1.05 !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-dado > strong {
    margin-top: 1px !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-canal > strong {
    margin-top: 1px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-observacao {
    margin-top: 3px !important;
    padding-top: 4px !important;
}

body.central-atendimento-page
.cliente360-card-details
.cliente360-lateral-observacao p {
    margin-top: 3px !important;
    font-size: 9px !important;
    line-height: 1.3 !important;
}
