/**
 * Luuvi SaaS — Modern Engine (SaaS 2.0)
 * Motor Visual Global Padronizado para Componentes, Listas, Datagrids, Cadastros, Modais e Alertas.
 * 
 * Ativado quando theme_mode = "moderno" no application.ini.
 * Utiliza variáveis semânticas do tema ativo (var(--main-color), etc.) para total harmonia de cores.
 */

/* ==========================================================================
   1. RESET & FUNDAÇÃO GLOBAL
   ========================================================================== */
body.theme-mode-modern {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    color: #334155 !important;
    background-color: var(--live-background-color, #f1f5f9) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.theme-mode-modern #adianti_div_content {
    padding: 18px 22px !important;
}

/* ==========================================================================
   2. CABEÇALHOS E TÍTULOS DE PAINÉIS COM FUNDO CINZA CLARO (DELIMITAÇÃO NÍTIDA)
   ========================================================================== */
/* Ocultação global de cabeçalhos vazios ou sem título (inline display:none, .panel-header-hidden ou :empty) */
body.theme-mode-modern .card-header[style*="display:none" i],
body.theme-mode-modern .card-header[style*="display: none" i],
body.theme-mode-modern .panel-heading[style*="display:none" i],
body.theme-mode-modern .panel-heading[style*="display: none" i],
body.theme-mode-modern .card.panel > .card-header[style*="display:none" i],
body.theme-mode-modern .card.panel > .card-header[style*="display: none" i],
body.theme-mode-modern .card.panel > .panel-heading[style*="display:none" i],
body.theme-mode-modern .card.panel > .panel-heading[style*="display: none" i],
body.theme-mode-modern div[widget="bootstrapformbuilder"] > .card-header[style*="display:none" i],
body.theme-mode-modern div[widget="bootstrapformbuilder"] > .card-header[style*="display: none" i],
body.theme-mode-modern div[widget="bootstrapformbuilder"] > .panel-heading[style*="display:none" i],
body.theme-mode-modern div[widget="bootstrapformbuilder"] > .panel-heading[style*="display: none" i],
body.theme-mode-modern .card-header.panel-header-hidden,
body.theme-mode-modern .panel-heading.panel-header-hidden,
body.theme-mode-modern .card.panel > .card-header.panel-header-hidden,
body.theme-mode-modern .card.panel > .panel-heading.panel-header-hidden,
body.theme-mode-modern div[widget="bootstrapformbuilder"] > .card-header.panel-header-hidden,
body.theme-mode-modern div[widget="bootstrapformbuilder"] > .panel-heading.panel-header-hidden,
body.theme-mode-modern .card-header:empty,
body.theme-mode-modern .panel-heading:empty,
body.theme-mode-modern .card.panel > .card-header:empty,
body.theme-mode-modern .card.panel > .panel-heading:empty {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    visibility: hidden !important;
}

/* Exibição estilizada apenas quando houver título ou conteúdo visível */
body.theme-mode-modern .card.panel>.card-header.panel-heading:not([style*="display:none" i]):not([style*="display: none" i]):not(.panel-header-hidden):not(:empty),
body.theme-mode-modern div[widget="bootstrapformbuilder"]>.card-header.panel-heading:not([style*="display:none" i]):not([style*="display: none" i]):not(.panel-header-hidden):not(:empty),
body.theme-mode-modern div[widget="bootstrapformbuilder"]>.panel-heading:not([style*="display:none" i]):not([style*="display: none" i]):not(.panel-header-hidden):not(:empty),
body.theme-mode-modern .card.panel.panel-default>.card-header:not([style*="display:none" i]):not([style*="display: none" i]):not(.panel-header-hidden):not(:empty),
body.theme-mode-modern .panel.panel-default>.panel-heading:not([style*="display:none" i]):not([style*="display: none" i]):not(.panel-header-hidden):not(:empty),
body.theme-mode-modern .card-header:not([style*="display:none" i]):not([style*="display: none" i]):not(.panel-header-hidden):not(:empty),
body.theme-mode-modern .panel-heading:not([style*="display:none" i]):not([style*="display: none" i]):not(.panel-header-hidden):not(:empty) {
    background: #f8fafc !important;
    background-color: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    padding: 12px 18px !important;
    border-radius: 14px 14px 0 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 48px !important;
}

/* Tipografia limpa e elegante em Sentence case nos títulos */
body.theme-mode-modern .card.panel>.card-header.panel-heading .panel-title,
body.theme-mode-modern .card.panel>.card-header.panel-heading .card-title,
body.theme-mode-modern div[widget="bootstrapformbuilder"]>.panel-heading .panel-title,
body.theme-mode-modern div[widget="bootstrapformbuilder"]>.panel-heading .card-title,
body.theme-mode-modern .card-title,
body.theme-mode-modern .panel-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
}

/* Cabeçalho específico do Importador de Dados para Cobrança e Redistribuição */
body.theme-mode-modern #form_ImportarCSVCobranca .import-header-title-text h2,
body.theme-mode-modern #form_CobrancaRedistribuicao .redis-header-title-text h2 {
    color: #0f172a !important;
}

body.theme-mode-modern #form_ImportarCSVCobranca .import-header-title-text span,
body.theme-mode-modern #form_CobrancaRedistribuicao .redis-header-title-text span {
    color: #64748b !important;
}

body.theme-mode-modern #form_CobrancaRedistribuicao .redis-header-icon-box {
    background: #e0f2fe !important;
    border: 1px solid #bae6fd !important;
    color: #0284c7 !important;
}

body.theme-mode-modern #form_CobrancaRedistribuicao .redis-header-icon-box i {
    color: #0284c7 !important;
}

body.theme-mode-modern .card-header .panel-title i,
body.theme-mode-modern .panel-heading .panel-title i,
body.theme-mode-modern .card-title i {
    color: var(--main-color, #0284c7) !important;
    font-size: 15px !important;
}

/* Painéis de Filtro, Formulários e Cards */
body.theme-mode-modern div[widget="bootstrapformbuilder"].panel,
body.theme-mode-modern .card.panel.panel-default,
body.theme-mode-modern .card.panel,
body.theme-mode-modern .panel {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important;
    margin-bottom: 18px !important;
    overflow: hidden !important;
}

/* Agrupamentos internos (Fieldsets / BContainer) com títulos destacados (ex: Mapeamento de colunas) */
body.theme-mode-modern .bContainer-fieldset,
body.theme-mode-modern div[widget="bootstrapformbuilder"].bContainer-fieldset,
body.theme-mode-modern .card.panel.panel-default.bContainer-fieldset {
    overflow: visible !important;
    position: relative !important;
    margin-top: 24px !important;
    margin-bottom: 18px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03) !important;
    padding-top: 6px !important;
}

body.theme-mode-modern .bContainer-fieldset .bContainer-title {
    position: absolute !important;
    top: -13px !important;
    left: 16px !important;
    margin: 0 !important;
    padding: 3px 12px !important;
    background-color: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    z-index: 2 !important;
    line-height: 1.3 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

body.theme-mode-modern .bContainer-fieldset .panel-body,
body.theme-mode-modern div[widget="bootstrapformbuilder"].bContainer-fieldset > form > .panel-body,
body.theme-mode-modern div[widget="bootstrapformbuilder"].bContainer-fieldset > .panel-body {
    padding: 16px 16px 12px !important;
    background: transparent !important;
    overflow: visible !important;
}

body.theme-mode-modern div[widget="bootstrapformbuilder"].panel>form>.panel-body,
body.theme-mode-modern .card.panel.panel-default>.card-body.panel-body,
body.theme-mode-modern .card.panel>.card-body.panel-body,
body.theme-mode-modern .card.panel>.panel-body {
    padding: 16px 20px !important;
    background: #ffffff !important;
}

/* ==========================================================================
   3. BOTÕES DO SISTEMA (CABEÇALHOS, AÇÕES, SALVAR, FECHAR, NOVO, ATUALIZAR)
   ========================================================================== */
/* Container de ações no cabeçalho */
body.theme-mode-modern .card-header .pull-right,
body.theme-mode-modern .panel-heading .pull-right,
body.theme-mode-modern .card-header-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    float: none !important;
}

/* ==========================================================================
   PRESERVAÇÃO ESTRITA DE ELEMENTOS OCULTOS NO TEMA MODERNO (DISPLAY: NONE)
   Garante que qualquer elemento ou botão ocultado via inline style
   (ex: onView -> btn_onsave->style = 'display:none'), jQuery (.hide()),
   atributo hidden ou classes utilitárias nunca seja forçado visível por regras modernas.
   ========================================================================== */
body.theme-mode-modern [style*="display:none" i],
body.theme-mode-modern [style*="display: none" i],
body.theme-mode-modern [style*="display :none" i],
body.theme-mode-modern [style*="display : none" i],
body.theme-mode-modern button[style*="display:none" i],
body.theme-mode-modern button[style*="display: none" i],
body.theme-mode-modern button[style*="display :none" i],
body.theme-mode-modern button[style*="display : none" i],
body.theme-mode-modern button[name*="btn_onsave"][style*="display:none" i],
body.theme-mode-modern button[name*="btn_onsave"][style*="display: none" i],
body.theme-mode-modern button[name*="salvar"][style*="display:none" i],
body.theme-mode-modern button[name*="salvar"][style*="display: none" i],
body.theme-mode-modern button[name*="save"][style*="display:none" i],
body.theme-mode-modern button[name*="save"][style*="display: none" i],
body.theme-mode-modern .card-header [style*="display:none" i],
body.theme-mode-modern .card-header [style*="display: none" i],
body.theme-mode-modern .panel-heading [style*="display:none" i],
body.theme-mode-modern .panel-heading [style*="display: none" i],
body.theme-mode-modern .card-header button[style*="display:none" i],
body.theme-mode-modern .card-header button[style*="display: none" i],
body.theme-mode-modern .panel-heading button[style*="display:none" i],
body.theme-mode-modern .panel-heading button[style*="display: none" i],
body.theme-mode-modern .card-footer [style*="display:none" i],
body.theme-mode-modern .card-footer [style*="display: none" i],
body.theme-mode-modern .panel-footer [style*="display:none" i],
body.theme-mode-modern .panel-footer [style*="display: none" i],
body.theme-mode-modern .card-footer button[style*="display:none" i],
body.theme-mode-modern .card-footer button[style*="display: none" i],
body.theme-mode-modern .panel-footer button[style*="display:none" i],
body.theme-mode-modern .panel-footer button[style*="display: none" i],
body.theme-mode-modern a[style*="display:none" i],
body.theme-mode-modern a[style*="display: none" i],
body.theme-mode-modern div[style*="display:none" i],
body.theme-mode-modern div[style*="display: none" i],
body.theme-mode-modern span[style*="display:none" i],
body.theme-mode-modern span[style*="display: none" i],
body.theme-mode-modern li[style*="display:none" i],
body.theme-mode-modern li[style*="display: none" i],
body.theme-mode-modern tr[style*="display:none" i],
body.theme-mode-modern tr[style*="display: none" i],
body.theme-mode-modern .hidden,
body.theme-mode-modern [hidden],
body.theme-mode-modern .d-none {
    display: none !important;
}

body.theme-mode-modern [style*="visibility:hidden" i],
body.theme-mode-modern [style*="visibility: hidden" i] {
    visibility: hidden !important;
}

/* Botão Salvar Principal (No Cabeçalho ou Rodapé) */
body.theme-mode-modern button[name*="btn_onsave"]:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern button[name*="save"]:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern button[name*="salvar"]:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern .card-header .btn-primary:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern .panel-heading .btn-primary:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]) {
    background: linear-gradient(135deg, var(--main-color, #0284c7) 0%, color-mix(in srgb, var(--main-color, #0284c7) 78%, #000) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 2px 6px color-mix(in srgb, var(--main-color, #0284c7) 28%, transparent) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
}

body.theme-mode-modern button[name*="btn_onsave"]:hover,
body.theme-mode-modern button[name*="save"]:hover,
body.theme-mode-modern button[name*="salvar"]:hover,
body.theme-mode-modern .card-header .btn-primary:hover,
body.theme-mode-modern .panel-heading .btn-primary:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--main-color, #0284c7) 38%, transparent) !important;
}

body.theme-mode-modern button[name*="btn_onsave"] i,
body.theme-mode-modern .card-header .btn-primary i {
    color: #ffffff !important;
    font-size: 12px !important;
}

/* Botão Fechar / Voltar / Cancelar (No Cabeçalho ou Rodapé) */
body.theme-mode-modern button[name="closeCurtain"]:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern button[name*="fechar" i]:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern button[name*="voltar" i]:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern button[name*="cancelar" i]:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern .card-header .btn-default:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]),
body.theme-mode-modern .panel-heading .btn-default:not([style*="display:none" i]):not([style*="display: none" i]):not(.hidden):not([hidden]) {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

body.theme-mode-modern button[name="closeCurtain"]:hover,
body.theme-mode-modern button[name*="fechar" i]:hover,
body.theme-mode-modern button[name*="voltar" i]:hover,
body.theme-mode-modern button[name*="cancelar" i]:hover,
body.theme-mode-modern .card-header .btn-default:hover,
body.theme-mode-modern .panel-heading .btn-default:hover {
    background: #f8fafc !important;
    color: #1e293b !important;
    border-color: #94a3b8 !important;
    transform: translateY(-1px) !important;
}

body.theme-mode-modern button[name="closeCurtain"] i,
body.theme-mode-modern button[name*="fechar" i]:not(.btn-danger) i,
body.theme-mode-modern button:not(.btn-danger):has(i[class*="fa-times"]) i {
    color: #ffffff !important;
    font-size: 12px !important;
}

body.theme-mode-modern button.btn-danger:not(.btn-outline-danger) i,
body.theme-mode-modern a.btn-danger:not(.btn-outline-danger) i,
body.theme-mode-modern .btn-danger:not(.btn-outline-danger) i {
    color: #ffffff !important;
}

body.theme-mode-modern button[name*="voltar" i] i,
body.theme-mode-modern button:has(i[class*="fa-arrow-left"]) i,
body.theme-mode-modern button:has(i[class*="fa-chevron-left"]) i,
body.theme-mode-modern button:has(i[class*="fa-undo"]) i {
    color: #64748b !important;
    font-size: 12px !important;
}

/* Botão Cadastrar / Novo (Verde Esmeralda) */
body.theme-mode-modern button.btn-success,
body.theme-mode-modern a.btn-success,
body.theme-mode-modern a[generator="adianti"]:has(i.fa-plus),
body.theme-mode-modern button:has(i.fa-plus),
body.theme-mode-modern .btn-novo-modern {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.25) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body.theme-mode-modern button.btn-success:hover,
body.theme-mode-modern a.btn-success:hover,
body.theme-mode-modern a[generator="adianti"]:has(i.fa-plus):hover,
body.theme-mode-modern button:has(i.fa-plus):hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35) !important;
}

body.theme-mode-modern button.btn-success i,
body.theme-mode-modern a.btn-success i,
body.theme-mode-modern button:has(i.fa-plus) i {
    color: #ffffff !important;
    font-size: 12px !important;
}

/* Botão Atualizar / Recarregar / Sincronizar (No Cabeçalho ou Painéis) */
/* Botão Atualizar / Recarregar / Sincronizar (No Cabeçalho ou Painéis) */
body.theme-mode-modern button:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button[name*="refresh" i]:not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button[name*="reload" i]:not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button[name*="atualizar" i]:not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn[name*="refresh" i]:not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn[name*="reload" i]:not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn[name*="atualizar" i]:not(.dropdown-menu *):not(.dropdown-item) {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    color: #0284c7 !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body.theme-mode-modern button:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item):hover,
body.theme-mode-modern button:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item):hover,
body.theme-mode-modern a.btn:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item):hover,
body.theme-mode-modern a.btn:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item):hover,
body.theme-mode-modern button[name*="refresh" i]:not(.dropdown-menu *):not(.dropdown-item):hover,
body.theme-mode-modern button[name*="reload" i]:not(.dropdown-menu *):not(.dropdown-item):hover,
body.theme-mode-modern button[name*="atualizar" i]:not(.dropdown-menu *):not(.dropdown-item):hover {
    background: #f0f9ff !important;
    border-color: #7dd3fc !important;
    color: #0369a1 !important;
    transform: translateY(-1px) !important;
}

body.theme-mode-modern button:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern button:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern a.btn:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern a.btn:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern button[name*="refresh" i]:not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern button[name*="reload" i]:not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern button[name*="atualizar" i]:not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern a.btn[name*="refresh" i]:not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern a.btn[name*="reload" i]:not(.dropdown-menu *):not(.dropdown-item) i,
body.theme-mode-modern a.btn[name*="atualizar" i]:not(.dropdown-menu *):not(.dropdown-item) i {
    color: #0284c7 !important;
    font-size: 12px !important;
}

body.theme-mode-modern button:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item):hover i,
body.theme-mode-modern button:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item):hover i,
body.theme-mode-modern a.btn:has(i[class*="fa-sync"]):not(.dropdown-menu *):not(.dropdown-item):hover i,
body.theme-mode-modern a.btn:has(i[class*="fa-redo"]):not(.dropdown-menu *):not(.dropdown-item):hover i,
body.theme-mode-modern button[name*="refresh" i]:not(.dropdown-menu *):not(.dropdown-item):hover i,
body.theme-mode-modern button[name*="reload" i]:not(.dropdown-menu *):not(.dropdown-item):hover i,
body.theme-mode-modern button[name*="atualizar" i]:not(.dropdown-menu *):not(.dropdown-item):hover i {
    color: #0369a1 !important;
}

/* Botões de Importar (XLSX, CSV, Upload) sem fundo sólido */
body.theme-mode-modern button[name*="import" i]:not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-file-import"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-file-excel"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-file-csv"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-upload"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn:has(i[class*="fa-file-import"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn:has(i[class*="fa-file-excel"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn[name*="import" i]:not(.btn-primary):not(.btn-success):not(.dropdown-menu *):not(.dropdown-item) {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body.theme-mode-modern button[name*="import" i]:not(.btn-primary):not(.btn-success):not(.dropdown-menu *):hover,
body.theme-mode-modern button:has(i[class*="fa-file-import"]):not(.dropdown-menu *):hover,
body.theme-mode-modern button:has(i[class*="fa-file-excel"]):not(.dropdown-menu *):hover,
body.theme-mode-modern button:has(i[class*="fa-file-csv"]):not(.dropdown-menu *):hover,
body.theme-mode-modern a.btn:has(i[class*="fa-file-import"]):not(.dropdown-menu *):hover,
body.theme-mode-modern a.btn:has(i[class*="fa-file-excel"]):not(.dropdown-menu *):hover {
    background: #f0fdf4 !important;
    border-color: #a7f3d0 !important;
    color: #065f46 !important;
    transform: translateY(-1px) !important;
}

body.theme-mode-modern button[name*="import" i]:not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern button:has(i[class*="fa-file-import"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern button:has(i[class*="fa-file-excel"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern button:has(i[class*="fa-file-csv"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern button:has(i[class*="fa-upload"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern a.btn:has(i[class*="fa-file-import"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern a.btn:has(i[class*="fa-file-excel"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern a.btn[name*="import" i]:not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i {
    color: #059669 !important;
    font-size: 12.5px !important;
}

body.theme-mode-modern button[name*="import" i]:not(.btn-primary):not(.btn-success):not(.dropdown-menu *):hover i,
body.theme-mode-modern button:has(i[class*="fa-file-import"]):not(.dropdown-menu *):hover i,
body.theme-mode-modern button:has(i[class*="fa-file-excel"]):not(.dropdown-menu *):hover i,
body.theme-mode-modern button:has(i[class*="fa-file-csv"]):not(.dropdown-menu *):hover i {
    color: #059669 !important;
}

/* Botões de Exportar / PDF / Download sem fundo sólido */
body.theme-mode-modern button[name*="export" i]:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-documento-pdf):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button[name*="pdf" i]:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-documento-pdf):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-file-pdf"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-documento-pdf):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-file-export"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern button:has(i[class*="fa-download"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn:has(i[class*="fa-file-pdf"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-documento-pdf):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn:has(i[class*="fa-file-export"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.dropdown-menu *):not(.dropdown-item),
body.theme-mode-modern a.btn:has(i[class*="fa-download"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.dropdown-menu *):not(.dropdown-item) {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body.theme-mode-modern button:has(i[class*="fa-file-pdf"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-documento-pdf):not(.dropdown-menu *) i,
body.theme-mode-modern a.btn:has(i[class*="fa-file-pdf"]):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-documento-pdf):not(.dropdown-menu *) i {
    color: #ef4444 !important;
    font-size: 12.5px !important;
}

/* Ícones em botões de perigo / Documento PDF sólido devem ser sempre brancos */
body.theme-mode-modern .btn-danger i,
body.theme-mode-modern button.btn-danger i,
body.theme-mode-modern a.btn-danger i,
body.theme-mode-modern .btn-documento-pdf i,
body.theme-mode-modern button.btn-danger:has(i[class*="fa-file-pdf"]) i,
body.theme-mode-modern a.btn-danger:has(i[class*="fa-file-pdf"]) i,
body.theme-mode-modern button:has(i[class*="fa-file-pdf"]).btn-documento-pdf i {
    color: #ffffff !important;
}

body.theme-mode-modern button[name*="export" i]:not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern button:has(i[class*="fa-file-export"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern button:has(i[class*="fa-download"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern a.btn:has(i[class*="fa-file-export"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern a.btn:has(i[class*="fa-download"]):not(.btn-primary):not(.btn-success):not(.dropdown-menu *) i,
body.theme-mode-modern .dropdown-toggle:has(i[class*="fa-file-export"]) i {
    color: var(--main-color, #0284c7) !important;
    font-size: 12.5px !important;
}

/* ==========================================================================
   DROPDOWN MENUS (EXPORTAÇÃO, AÇÕES DE LISTAGEM E SUBMENUS)
   Garante visual limpo e sem bordas de botões nos links internos
   ========================================================================== */
body.theme-mode-modern .dropdown-menu {
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05) !important;
    padding: 6px !important;
    background: #ffffff !important;
    min-width: 140px !important;
}

body.theme-mode-modern .dropdown-menu > li {
    margin: 0 !important;
    padding: 0 !important;
}

body.theme-mode-modern .dropdown-menu > li > a,
body.theme-mode-modern .dropdown-menu .dropdown-item {
    border: none !important;
    box-shadow: none !important;
    border-radius: 6px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    transition: all 0.15s ease !important;
    height: auto !important;
    text-decoration: none !important;
}

body.theme-mode-modern .dropdown-menu > li > a:hover,
body.theme-mode-modern .dropdown-menu .dropdown-item:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    transform: none !important;
}

body.theme-mode-modern .dropdown-menu i[class*="fa-file-csv"] {
    color: #059669 !important;
    font-size: 14px !important;
}

body.theme-mode-modern .dropdown-menu i[class*="fa-file-excel"] {
    color: #10b981 !important;
    font-size: 14px !important;
}

body.theme-mode-modern .dropdown-menu i[class*="fa-file-pdf"] {
    color: #ef4444 !important;
    font-size: 14px !important;
}

/* Botões de Acompanhamento, Notificação, Consulta e Finanças sem fundo sólido */
body.theme-mode-modern button:has(i[class*="fa-bell"]):not(.btn-primary):not(.btn-success) i {
    color: #f59e0b !important;
}

body.theme-mode-modern button:has(i[class*="fa-bell-slash"]):not(.btn-primary):not(.btn-success) i {
    color: #94a3b8 !important;
}

body.theme-mode-modern button:has(i[class*="fa-search"]):not(.btn-primary):not(.btn-success):not(#btnBuscar) i,
body.theme-mode-modern button:has(i[class*="fa-external-link"]):not(.btn-primary):not(.btn-success) i {
    color: #0284c7 !important;
}

body.theme-mode-modern button:has(i[class*="fa-dollar"]):not(.btn-primary):not(.btn-success):not(.btn-default):not(.btn-light):not(#tbutton_button_Pendente):not(#tbutton_button_Quitado):not(#tbutton_button_Atrasado):not(#tbutton_button_pendente):not(#tbutton_button_quitado):not(#tbutton_button_atrasado):not([name="button_Pendente"]):not([name="button_Quitado"]):not([name="button_Atrasado"]):not([name="button_pendente"]):not([name="button_quitado"]):not([name="button_atrasado"]):not(#button_btnGerarLancamentoMassa):not([name="button_btnGerarLancamentoMassa"]):not(#btn_gerar_lancamentos_capturar):not(#tbutton_button_button_gerar_lancamentos):not([name="button_button_gerar_lancamentos"]) i,
body.theme-mode-modern button:has(i[class*="fa-money"]):not(.btn-primary):not(.btn-success):not(.btn-default):not(.btn-light):not(#tbutton_button_Pendente):not(#tbutton_button_Quitado):not(#tbutton_button_Atrasado):not(#tbutton_button_pendente):not(#tbutton_button_quitado):not(#tbutton_button_atrasado):not([name="button_Pendente"]):not([name="button_Quitado"]):not([name="button_Atrasado"]):not([name="button_pendente"]):not([name="button_quitado"]):not([name="button_atrasado"]):not(#btnGeradorFolhaPagamento):not([name="btnGeradorFolhaPagamento"]):not(#button_btnGerarCobrancaLote):not([name="button_btnGerarCobrancaLote"]):not(#btnGerarCobrancaLote):not([name="btnGerarCobrancaLote"]) i {
    color: #ffffff !important;
}

/* Correções pontuais para botões com ícones específicos em fundo claro */
body.theme-mode-modern #btnGeradorFolhaPagamento i,
body.theme-mode-modern button[name="btnGeradorFolhaPagamento"] i {
    color: #4CAF50 !important;
}
body.theme-mode-modern #button_btnGerarLancamentoMassa i,
body.theme-mode-modern button[name="button_btnGerarLancamentoMassa"] i,
body.theme-mode-modern #btn_gerar_lancamentos_capturar i,
body.theme-mode-modern #tbutton_button_button_gerar_lancamentos i,
body.theme-mode-modern button[name="button_button_gerar_lancamentos"] i,
body.theme-mode-modern a[generator="adianti"][href*="onGerarFinanceiro"] i,
body.theme-mode-modern button[onclick*="onGerarFinanceiro"] i {
    color: #009688 !important;
}
body.theme-mode-modern #button_btnGerarCobrancaLote i,
body.theme-mode-modern button[name="button_btnGerarCobrancaLote"] i,
body.theme-mode-modern #btnGerarCobrancaLote i,
body.theme-mode-modern button[name="btnGerarCobrancaLote"] i {
    color: #F44336 !important;
}

/* Botões com classe .btnPendente (evita ícone branco contra fundo claro/outline) */
body.theme-mode-modern .btnPendente i,
body.theme-mode-modern .card-header .btnPendente i,
body.theme-mode-modern .panel-heading .btnPendente i,
body.theme-mode-modern button.btnPendente i,
body.theme-mode-modern a.btnPendente i {
    color: currentColor !important;
}

/* ==========================================================================
   REGRA MESTRA: NENHUM ÍCONE EM BOTÃO SEM FUNDO PREENCHIDO PODE SER BRANCO
   ========================================================================== */
body.theme-mode-modern .card-header button:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(#btnBuscar):not(#novoEventoPro):not(#btn_salvar_lead_form) i,
body.theme-mode-modern .panel-heading button:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(#btnBuscar):not(#novoEventoPro):not(#btn_salvar_lead_form) i,
body.theme-mode-modern .card-header a:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info) i,
body.theme-mode-modern .panel-heading a:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info) i,
body.theme-mode-modern button.btn-default i,
body.theme-mode-modern a.btn-default i,
body.theme-mode-modern button.btn-light i,
body.theme-mode-modern a.btn-light i,
body.theme-mode-modern button.btn-secondary i,
body.theme-mode-modern a.btn-secondary i,
body.theme-mode-modern button[class*="btn-outline-"] i,
body.theme-mode-modern a[class*="btn-outline-"] i,
body.theme-mode-modern .btn-toolbar button.btn-default i,
body.theme-mode-modern .panel-footer button.btn-default i,
body.theme-mode-modern .card-footer button.btn-default i {
    color: currentColor !important;
}

/* Botão de Busca nos Filtros */
body.theme-mode-modern .btn-search-actions-wrap button[name="btn_onsearch"],
body.theme-mode-modern button.btn-search-modern {
    background: linear-gradient(135deg, var(--main-color, #0284c7) 0%, color-mix(in srgb, var(--main-color, #0284c7) 78%, #000) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    height: 38px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--main-color, #0284c7) 32%, transparent) !important;
    transition: all 0.2s ease !important;
}

body.theme-mode-modern .btn-search-actions-wrap button[name="btn_onsearch"]:hover,
body.theme-mode-modern button.btn-search-modern:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.06) !important;
}

/* ==========================================================================
   4. ABAS DO SISTEMA (PADRÃO CANÔNICO DA REFERÊNCIA — BORDA INFERIOR NA ATIVA)
   ========================================================================== */
/* Container da barra de abas: linear, sem caixa cinza envolvente */
/* Container da barra de abas: linear, sem caixa cinza envolvente, espaçamento lateral compacto e sem quebra */
body.theme-mode-modern .nav.nav-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    align-items: flex-end !important;
    gap: 3px !important;
    padding: 0 4px !important;
    background: transparent !important;
    border-bottom: 1.5px solid #e2e8f0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    margin: 8px 0 16px 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.theme-mode-modern .nav.nav-tabs::-webkit-scrollbar {
    display: none !important;
}

body.theme-mode-modern .nav.nav-tabs>li {
    margin: 0 !important;
    border: none !important;
    float: none !important;
    display: inline-flex;
    margin-bottom: -1.5px !important;
    flex-shrink: 0 !important;
}

body.theme-mode-modern .nav.nav-tabs>li.d-none,
body.theme-mode-modern .nav.nav-tabs>li.tab-oculta-modulo,
body.theme-mode-modern .nav.nav-tabs>li.hidden,
body.theme-mode-modern .nav.nav-tabs>li[style*="display: none"],
body.theme-mode-modern .nav.nav-tabs>li[style*="display:none"],
body.theme-mode-modern .nav.nav-tabs>li:has(a[style*="display: none"]),
body.theme-mode-modern .nav.nav-tabs>li:has(a[style*="display:none"]) {
    display: none !important;
}

/* Links das Abas (Inativas) */
body.theme-mode-modern .nav.nav-tabs>li>a,
body.theme-mode-modern .nav.nav-tabs .nav-link {
    border: none !important;
    border-bottom: 2.5px solid transparent !important;
    border-radius: 0 !important;
    padding: 7px 9px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    background: transparent !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    transition: all 0.18s ease !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

body.theme-mode-modern .nav.nav-tabs>li>a:hover,
body.theme-mode-modern .nav.nav-tabs .nav-link:hover {
    background: transparent !important;
    color: #1e293b !important;
    border-bottom-color: #cbd5e1 !important;
    box-shadow: none !important;
}

body.theme-mode-modern .nav.nav-tabs>li>a i,
body.theme-mode-modern .nav.nav-tabs .nav-link i {
    color: #64748b !important;
    font-size: 12px !important;
    transition: color 0.18s ease !important;
}

/* ABA ATIVA (Borda Inferior com a Cor do Tema + Texto Destacado) */
body.theme-mode-modern .nav.nav-tabs>li.active>a,
body.theme-mode-modern .nav.nav-tabs>li>a.active,
body.theme-mode-modern .nav.nav-tabs .nav-link.active,
body.theme-mode-modern .nav.nav-tabs>li.active>a:hover,
body.theme-mode-modern .nav.nav-tabs>li.active>a:focus,
body.theme-mode-modern .nav.nav-tabs .nav-link.active:hover {
    background: transparent !important;
    color: var(--main-color, #10b981) !important;
    font-weight: 700 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 2.5px solid var(--main-color, #10b981) !important;
    box-shadow: none !important;
}

body.theme-mode-modern .nav.nav-tabs>li.active>a span.tab-name,
body.theme-mode-modern .nav.nav-tabs .nav-link.active span.tab-name,
body.theme-mode-modern .nav.nav-tabs>li.active>a i,
body.theme-mode-modern .nav.nav-tabs .nav-link.active i {
    color: var(--main-color, #10b981) !important;
    font-weight: 700 !important;
}

/* Badges / Contadores dentro das Abas */
body.theme-mode-modern .nav.nav-tabs .badge,
body.theme-mode-modern .nav.nav-tabs .label {
    background: #f1f5f9 !important;
    color: #64748b !important;
    border-radius: 10px !important;
    padding: 2px 7px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    margin-left: 4px !important;
    transition: all 0.18s ease !important;
}

body.theme-mode-modern .nav.nav-tabs>li.active .badge,
body.theme-mode-modern .nav.nav-tabs .nav-link.active .badge {
    background: color-mix(in srgb, var(--main-color, #10b981) 12%, #ffffff) !important;
    color: var(--main-color, #10b981) !important;
}

/* ==========================================================================
   BADGES E LABELS MODERNOS NAS LISTAGENS E TABELAS (TRANSFORMAÇÕES DO ADIANTI)
   Melhoria no estilo, bordas arredondadas e tipografia mantendo as cores semânticas/originais
   ========================================================================== */
body.theme-mode-modern .table td .label,
body.theme-mode-modern .table td .badge,
body.theme-mode-modern .datagrid .label,
body.theme-mode-modern .datagrid .badge,
body.theme-mode-modern .tdatagrid_cell .label,
body.theme-mode-modern .tdatagrid_cell .badge,
body.theme-mode-modern span.label,
body.theme-mode-modern span.badge {
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.25px !important;
    padding: 3px 8px !important;
    line-height: 1.35 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    vertical-align: middle !important;
    transition: all 0.15s ease !important;
}

body.theme-mode-modern .table td .label:hover,
body.theme-mode-modern .table td .badge:hover {
    filter: brightness(0.96);
}

/* ==========================================================================
   5. AÇÕES DE LINHA NAS DATAGRIDS (QUADRADOS SUAVES COM CORES SEMÂNTICAS)
   Apenas botões de ação direta na célula; NUNCA links dentro de .dropdown-menu
   ========================================================================== */
body.theme-mode-modern .table td.action>a:not(.dropdown-toggle),
body.theme-mode-modern .table td.tdatagrid_action>a:not(.dropdown-toggle),
body.theme-mode-modern .table td.tdatagrid_cell.action>a:not(.dropdown-toggle),
body.theme-mode-modern .table td>a[generator="adianti"]:not(.dropdown-toggle),
body.theme-mode-modern .table td>a:has(i):not(.dropdown-toggle),
body.theme-mode-modern .table td a.btn-action-grid {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    margin: 2px 2px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.18s ease !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid #cbd5e1 !important;
    background: #f8fafc !important;
    color: #475569 !important;
    line-height: 1 !important;
}

body.theme-mode-modern .table td.action>a:not(.dropdown-toggle):hover,
body.theme-mode-modern .table td.tdatagrid_action>a:not(.dropdown-toggle):hover,
body.theme-mode-modern .table td.tdatagrid_cell.action>a:not(.dropdown-toggle):hover,
body.theme-mode-modern .table td>a[generator="adianti"]:not(.dropdown-toggle):hover,
body.theme-mode-modern .table td a.btn-action-grid:hover {
    transform: translateY(-1.5px) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.09) !important;
}

body.theme-mode-modern .table td>a[generator="adianti"]:not(.dropdown-toggle) i,
body.theme-mode-modern .table td.action>a:not(.dropdown-toggle) i,
body.theme-mode-modern .table td.tdatagrid_cell.action>a:not(.dropdown-toggle) i,
body.theme-mode-modern .table td a.btn-action-grid i {
    font-size: 12px !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* Elimina casca dupla (duas bordas) quando ações da datagrid usam wrapper interno span/btn */
body.theme-mode-modern .table td.action>a>span.btn,
body.theme-mode-modern .table td.tdatagrid_action>a>span.btn,
body.theme-mode-modern .table td.tdatagrid_cell.action>a>span.btn,
body.theme-mode-modern .table td>a>span.btn,
body.theme-mode-modern .table td.action>a>span,
body.theme-mode-modern .table td.tdatagrid_cell.action>a>span {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: unset !important;
    height: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
}

/* Quando a ação da grid possuir texto legível (ex: View, SQL, Transferir), flexibiliza a largura mantendo o visual moderno */
body.theme-mode-modern .table td.action>a.btn-action-has-text,
body.theme-mode-modern .table td.tdatagrid_action>a.btn-action-has-text,
body.theme-mode-modern .table td.tdatagrid_cell.action>a.btn-action-has-text,
body.theme-mode-modern .table td>a[generator="adianti"].btn-action-has-text,
body.theme-mode-modern .table td.action>a:has(span.btn:not(:empty)),
body.theme-mode-modern .table td.tdatagrid_action>a:has(span.btn:not(:empty)),
body.theme-mode-modern .table td.tdatagrid_cell.action>a:has(span.btn:not(:empty)),
body.theme-mode-modern .table td>a[generator="adianti"]:has(span.btn:not(:empty)) {
    width: auto !important;
    min-width: 28px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
    gap: 5px !important;
}

body.theme-mode-modern .table td.action>a.btn-action-has-text>span,
body.theme-mode-modern .table td.action>a.btn-action-has-text>span.btn,
body.theme-mode-modern .table td.tdatagrid_action>a.btn-action-has-text>span,
body.theme-mode-modern .table td.tdatagrid_cell.action>a.btn-action-has-text>span,
body.theme-mode-modern .table td.action>a:has(span.btn:not(:empty))>span.btn,
body.theme-mode-modern .table td.tdatagrid_action>a:has(span.btn:not(:empty))>span.btn,
body.theme-mode-modern .table td.tdatagrid_cell.action>a:has(span.btn:not(:empty))>span.btn,
body.theme-mode-modern .table td>a[generator="adianti"]:has(span.btn:not(:empty))>span.btn {
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: inherit !important;
}

body.theme-mode-modern .table td.action>a.btn-action-has-text i,
body.theme-mode-modern .table td.tdatagrid_action>a.btn-action-has-text i,
body.theme-mode-modern .table td.tdatagrid_cell.action>a.btn-action-has-text i,
body.theme-mode-modern .table td>a[generator="adianti"]:has(span.btn:not(:empty)) i {
    margin-right: 4px !important;
    font-size: 12px !important;
}

/* 1. Visualizar / Ver / Lupa (Azul Suave) */
body.theme-mode-modern .table td>a:has(i[title*="Visualizar"]),
body.theme-mode-modern .table td>a:has(i[title*="Ver"]),
body.theme-mode-modern .table td>a:has(i[title*="Consultar"]),
body.theme-mode-modern .table td>a[title*="Visualizar"],
body.theme-mode-modern .table td>a:has(i.fa-search),
body.theme-mode-modern .table td>a:has(i.fa-eye),
body.theme-mode-modern .table td a.btn-action-view {
    background: #f0f7ff !important;
    border-color: #bae6fd !important;
    color: #0284c7 !important;
}

body.theme-mode-modern .table td>a:has(i[title*="Visualizar"]) i,
body.theme-mode-modern .table td>a:has(i.fa-search) i,
body.theme-mode-modern .table td>a:has(i.fa-eye) i,
body.theme-mode-modern .table td a.btn-action-view i {
    color: #0284c7 !important;
}

body.theme-mode-modern .table td>a:has(i[title*="Visualizar"]):hover,
body.theme-mode-modern .table td>a:has(i.fa-search):hover,
body.theme-mode-modern .table td>a:has(i.fa-eye):hover {
    background: #e0f2fe !important;
    border-color: #7dd3fc !important;
}

/* 2. Editar / Alterar / Lápis (Slate Suave) */
body.theme-mode-modern .table td>a:has(i[title*="Editar"]),
body.theme-mode-modern .table td>a:has(i[title*="Alterar"]),
body.theme-mode-modern .table td>a[title*="Editar"],
body.theme-mode-modern .table td>a:has(i.fa-edit),
body.theme-mode-modern .table td>a:has(i.fa-pencil-alt),
body.theme-mode-modern .table td>a:has(i.fa-pen),
body.theme-mode-modern .table td a.btn-action-edit {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #475569 !important;
}

body.theme-mode-modern .table td>a:has(i[title*="Editar"]) i,
body.theme-mode-modern .table td>a:has(i.fa-edit) i,
body.theme-mode-modern .table td a.btn-action-edit i {
    color: #475569 !important;
}

body.theme-mode-modern .table td>a:has(i[title*="Editar"]):hover,
body.theme-mode-modern .table td>a:has(i.fa-edit):hover {
    background: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    color: #1e293b !important;
}

/* 3. Excluir / Deletar / Lixeira (Vermelho Suave) */
body.theme-mode-modern .table td>a:has(i[title*="Excluir"]),
body.theme-mode-modern .table td>a:has(i[title*="Deletar"]),
body.theme-mode-modern .table td>a[title*="Excluir"],
body.theme-mode-modern .table td>a:has(i.fa-trash),
body.theme-mode-modern .table td>a:has(i.fa-trash-alt),
body.theme-mode-modern .table td a.btn-action-delete {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #ef4444 !important;
}

body.theme-mode-modern .table td>a:has(i[title*="Excluir"]) i,
body.theme-mode-modern .table td>a:has(i.fa-trash) i,
body.theme-mode-modern .table td>a:has(i.fa-trash-alt) i,
body.theme-mode-modern .table td a.btn-action-delete i {
    color: #ef4444 !important;
}

body.theme-mode-modern .table td>a:has(i[title*="Excluir"]):hover,
body.theme-mode-modern .table td>a:has(i.fa-trash):hover {
    background: #fee2e2 !important;
    border-color: #fca5a5 !important;
}

/* 4. Escopo / Diagrama / Rota / Fork (Violeta Suave) */
body.theme-mode-modern .table td>a:has(i[title*="escopo" i]),
body.theme-mode-modern .table td>a:has(i.fa-project-diagram),
body.theme-mode-modern .table td>a:has(i.fa-random),
body.theme-mode-modern .table td>a:has(i.fa-code-branch),
body.theme-mode-modern .table td>a:has(i.fa-share),
body.theme-mode-modern .table td a.btn-action-transfer {
    background: #f5f3ff !important;
    border-color: #ddd6fe !important;
    color: #7c3aed !important;
}

body.theme-mode-modern .table td>a:has(i[title*="escopo" i]) i,
body.theme-mode-modern .table td>a:has(i.fa-project-diagram) i,
body.theme-mode-modern .table td a.btn-action-transfer i {
    color: #7c3aed !important;
}

body.theme-mode-modern .table td>a:has(i[title*="escopo" i]):hover,
body.theme-mode-modern .table td>a:has(i.fa-project-diagram):hover {
    background: #ede9fe !important;
    border-color: #c4b5fd !important;
}

/* 5. Principal / Desktop (Verde Esmeralda Suave) */
body.theme-mode-modern .table td>a:has(i[title*="principal" i]),
body.theme-mode-modern .table td>a:has(i.fa-desktop) {
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
    color: #16a34a !important;
}

body.theme-mode-modern .table td>a:has(i[title*="principal" i]) i,
body.theme-mode-modern .table td>a:has(i.fa-desktop) i {
    color: #16a34a !important;
}

/* ==========================================================================
   5.1. AÇÕES AGRUPADAS NAS DATAGRIDS (TDataGridActionGroup / TDropDown)
   Menu dropdown limpo, moderno, vertical, sem caixas individuais arredondadas
   ========================================================================== */
body.theme-mode-modern .table td .btn-group,
body.theme-mode-modern .table td .dropdown,
body.theme-mode-modern .btn-group:has(.dropdown-menu),
body.theme-mode-modern .btn-group.dropdown,
body.theme-mode-modern .dropdown {
    overflow: visible !important;
    display: inline-block !important;
    position: relative !important;
}

/* Botão principal do agrupador de ações (ex: 'Opções ▾') */
body.theme-mode-modern .table td .btn-group>.btn.dropdown-toggle,
body.theme-mode-modern .table td .btn-default.dropdown-toggle,
body.theme-mode-modern .table td button.dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    color: #334155 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    line-height: normal !important;
}

body.theme-mode-modern .table td .btn-group>.btn.dropdown-toggle:hover,
body.theme-mode-modern .table td .btn-group.open>.btn.dropdown-toggle,
body.theme-mode-modern .table td .btn-group.show>.btn.dropdown-toggle,
body.theme-mode-modern .table td button.dropdown-toggle:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
}

body.theme-mode-modern .table td .btn-group>.btn.dropdown-toggle i,
body.theme-mode-modern .table td button.dropdown-toggle i {
    font-size: 13px !important;
    color: #475569 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

body.theme-mode-modern .table td .btn-group>.btn.dropdown-toggle .caret,
body.theme-mode-modern .table td .btn-group>.btn.dropdown-toggle .fa-chevron-down,
body.theme-mode-modern .table td button.dropdown-toggle .caret,
body.theme-mode-modern .table td button.dropdown-toggle .fa-chevron-down {
    margin-left: 4px !important;
    font-size: 10px !important;
    color: #64748b !important;
}

/* Card do Menu Dropdown Flutuante */
body.theme-mode-modern .dropdown-menu,
body.theme-mode-modern .table td .dropdown-menu,
body.theme-mode-modern ul[widget="tdropdown"] {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.12), 0 8px 10px -6px rgba(15, 23, 42, 0.08) !important;
    padding: 6px 0 !important;
    min-width: 190px !important;
    margin-top: 4px !important;
    z-index: 1050 !important;
    list-style: none !important;
}

body.theme-mode-modern .dropdown-menu>li,
body.theme-mode-modern ul[widget="tdropdown"]>li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Itens da lista suspensa (links limpos em linha inteira, sem caixa quadrada 28px) */
body.theme-mode-modern .dropdown-menu>li>a,
body.theme-mode-modern .dropdown-menu .dropdown-item,
body.theme-mode-modern .table td .dropdown-menu a,
body.theme-mode-modern ul[widget="tdropdown"] a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 32px !important;
    padding: 7px 16px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

/* Hover nos itens da lista suspensa */
body.theme-mode-modern .dropdown-menu>li>a:hover,
body.theme-mode-modern .dropdown-menu .dropdown-item:hover,
body.theme-mode-modern .table td .dropdown-menu a:hover,
body.theme-mode-modern ul[widget="tdropdown"] a:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Ícones nos itens da lista suspensa (preserva cores semânticas inline de Adianti) */
body.theme-mode-modern .dropdown-menu>li>a i,
body.theme-mode-modern .dropdown-menu .dropdown-item i,
body.theme-mode-modern .table td .dropdown-menu a i,
body.theme-mode-modern ul[widget="tdropdown"] a i {
    width: 18px !important;
    min-width: 18px !important;
    font-size: 13px !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

/* Rótulo de texto nos itens da lista suspensa */
body.theme-mode-modern .dropdown-menu>li>a span,
body.theme-mode-modern .dropdown-menu .dropdown-item span,
body.theme-mode-modern .table td .dropdown-menu a span,
body.theme-mode-modern ul[widget="tdropdown"] a span {
    display: inline-block !important;
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: normal !important;
    text-align: left !important;
    white-space: nowrap !important;
}

/* Separadores e cabeçalhos */
body.theme-mode-modern .dropdown-menu .divider,
body.theme-mode-modern .dropdown-menu hr {
    height: 1px !important;
    margin: 4px 0 !important;
    overflow: hidden !important;
    background-color: #e2e8f0 !important;
    border: none !important;
}

body.theme-mode-modern .dropdown-menu .dropdown-header {
    padding: 6px 16px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;
}

/* ==========================================================================
   6. DATAGRIDS E TABELAS MODERNAS
   ========================================================================== */
body.theme-mode-modern table.table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    overflow: visible !important;
    background: #ffffff !important;
    margin-top: 12px !important;
    margin-bottom: 14px !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03) !important;
}

body.theme-mode-modern table.table thead tr:first-child th:first-child {
    border-top-left-radius: 13px !important;
}
body.theme-mode-modern table.table thead tr:first-child th:last-child {
    border-top-right-radius: 13px !important;
}
body.theme-mode-modern table.table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 13px !important;
}
body.theme-mode-modern table.table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 13px !important;
}

body.theme-mode-modern .table-responsive {
    overflow-y: visible !important;
}

/* Cabeçalho da Datagrid */
body.theme-mode-modern table.table thead th {
    background: #f8fafc !important;
    color: #334155 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    white-space: nowrap !important;
}

body.theme-mode-modern table.table thead th a {
    color: #334155 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Células do Corpo */
body.theme-mode-modern table.table tbody td {
    /*padding: 10px 14px !important; as listas estão com muito espaçamento removi temporariamente não reverter ok */
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #334155 !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

body.theme-mode-modern table.table-striped tbody tr:nth-of-type(odd) td {
    background-color: #ffffff !important;
}

body.theme-mode-modern table.table-striped tbody tr:nth-of-type(even) td {
    background-color: #fafbfd !important;
}

body.theme-mode-modern table.table-hover tbody tr:hover td {
    background-color: #f1f5f9 !important;
}

/* ==========================================================================
   7. PAGINAÇÃO E RODAPÉ CENTRALIZADO DAS LISTAS
   ========================================================================== */
body.theme-mode-modern .tpagestab,
body.theme-mode-modern .tpagenavigation,
body.theme-mode-modern div[widget="datagrid_wrapper"]+.card-footer,
body.theme-mode-modern .panel-footer:has(.tpagenavigation),
body.theme-mode-modern .card-footer:has(.tpagenavigation),
body.theme-mode-modern .panel-footer:has(ul.pagination),
body.theme-mode-modern .card-footer:has(ul.pagination) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    padding: 12px 16px !important;
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
}

body.theme-mode-modern .tpagenavigation {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
    margin: 4px auto !important;
}

body.theme-mode-modern ul.pagination {
    display: inline-flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 4px !important;
}

body.theme-mode-modern ul.pagination>li {
    margin: 0 !important;
}

body.theme-mode-modern ul.pagination>li>a,
body.theme-mode-modern ul.pagination>li>span {
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    color: #64748b !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    padding: 6px 12px !important;
    background: #ffffff !important;
    transition: all 0.15s ease !important;
    text-decoration: none !important;
}

body.theme-mode-modern ul.pagination>li>a:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

body.theme-mode-modern ul.pagination>li.active>a,
body.theme-mode-modern ul.pagination>li.active>span,
body.theme-mode-modern ul.pagination>li.active>a:hover {
    background: var(--main-color, #6366f1) !important;
    border-color: var(--main-color, #6366f1) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px color-mix(in srgb, var(--main-color, #6366f1) 35%, transparent) !important;
}

body.theme-mode-modern .tpagenavigation_resume {
    text-align: center !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    width: 100% !important;
}

/* ==========================================================================
   8. INPUTS, SELECTS, TEXTAREAS E SEPARADORES
   ========================================================================== */
body.theme-mode-modern .form-control:not([style*="height"]),
body.theme-mode-modern input.tfield:not([style*="height"]),
body.theme-mode-modern select.tcombo:not([style*="height"]) {
    height: 38px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    color: #1e293b !important;
    padding: 8px 12px !important;
    background: #ffffff !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

body.theme-mode-modern .form-control:focus,
body.theme-mode-modern input.tfield:focus,
body.theme-mode-modern select.tcombo:focus {
    border-color: var(--main-color, #0284c7) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color, #0284c7) 20%, transparent) !important;
    outline: none !important;
}

body.theme-mode-modern label.control-label,
body.theme-mode-modern label.col-form-label,
body.theme-mode-modern .tformrow label {
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin-bottom: 5px !important;
}

/* 8.1 Normalização de rótulos com cor inline e Marcador (*) vermelho para campos obrigatórios */
body.theme-mode-modern label[style*="#ff0000" i],
body.theme-mode-modern label[style*="#FF0000" i],
body.theme-mode-modern label[style*="rgb(255, 0, 0)" i],
body.theme-mode-modern label[style*="color: red" i],
body.theme-mode-modern label[style*="color:red" i] {
    color: #475569 !important;
}

body.theme-mode-modern label:not(.btn):not(.btn-group label):not(.checklist-label):not(.custom-control-label)[style*="#ff0000" i]::after,
body.theme-mode-modern label:not(.btn):not(.btn-group label):not(.checklist-label):not(.custom-control-label)[style*="#FF0000" i]::after,
body.theme-mode-modern label:not(.btn):not(.btn-group label):not(.checklist-label):not(.custom-control-label)[style*="rgb(255, 0, 0)" i]::after,
body.theme-mode-modern label:not(.btn):not(.btn-group label):not(.checklist-label):not(.custom-control-label)[style*="color: red" i]::after,
body.theme-mode-modern label:not(.btn):not(.btn-group label):not(.checklist-label):not(.custom-control-label)[style*="color:red" i]::after,
body.theme-mode-modern label.is-required-label::after,
body.theme-mode-modern .fb-field-container:has([aria-required="true"]) > .fb-inline-field-container:first-child > label:not(.btn):not(.btn-group label):not(.has-no-asterisk)::after,
body.theme-mode-modern .fb-field-container:has([required]:not([required="false"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"])) > .fb-inline-field-container:first-child > label:not(.btn):not(.btn-group label):not(.has-no-asterisk)::after,
body.theme-mode-modern .form-group:has([aria-required="true"]) > label.control-label:not(.has-no-asterisk)::after,
body.theme-mode-modern .form-group:has([aria-required="true"]) > label.col-form-label:not(.has-no-asterisk)::after,
body.theme-mode-modern .form-group:has([required]:not([required="false"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"])) > label.control-label:not(.has-no-asterisk)::after,
body.theme-mode-modern .form-group:has([required]:not([required="false"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"])) > label.col-form-label:not(.has-no-asterisk)::after {
    content: " *" !important;
    color: #ef4444 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
    display: inline-block !important;
    line-height: 1 !important;
}

body.theme-mode-modern label.has-no-asterisk::after {
    display: none !important;
}

/* Separadores de Seção */
body.theme-mode-modern .tformseparator {
    border-bottom: none !important;
    margin: 14px 0 10px 0 !important;
}

body.theme-mode-modern .tformseparator h4.tseparator {
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    margin-bottom: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body.theme-mode-modern .tformseparator hr.tseparator-divisor {
    border: none !important;
    border-top: 1px solid #e2e8f0 !important;
    margin: 8px 0 14px 0 !important;
    opacity: 0.9 !important;
}

/* ==========================================================================
   9. MODAIS, DIÁLOGOS, AVISOS E NOTIFICAÇÕES GLOBAIS
   ========================================================================== */
body.theme-mode-modern .ui-dialog {
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 25px 70px rgba(15, 23, 42, 0.35) !important;
    overflow: hidden !important;
    z-index: 2000050;
    background: #ffffff !important;
}

body.theme-mode-modern .ui-widget-overlay {
    z-index: 2000040;
}

/* Datepickers, Timepickers e DateTimePickers sempre acima de janelas e modais flutuantes */
body.theme-mode-modern .datetimepicker,
body.theme-mode-modern .datepicker,
body.theme-mode-modern .datetimepicker.dropdown-menu,
body.theme-mode-modern .datepicker.dropdown-menu,
body.theme-mode-modern .bootstrap-datetimepicker-widget,
body.theme-mode-modern .xdsoft_datetimepicker,
body.theme-mode-modern .datetimepicker,
.datepicker,
.datetimepicker.dropdown-menu,
.datepicker.dropdown-menu,
.bootstrap-datetimepicker-widget,
.xdsoft_datetimepicker,
.ui-datepicker,
.pcr-app {
    z-index: 2999900 !important;
}

.pcr-app,
.pcr-app.visible {
    z-index: 999999999 !important;
}

#toast-container,
#toast-container > div,
.toast {
    z-index: 2999999 !important;
}

.sweet-alert,
.sweet-overlay {
    z-index: 2999998 !important;
}

body.theme-mode-modern .ui-dialog .ui-dialog-titlebar {
    background: linear-gradient(135deg, var(--main-color, #6366f1) 0%, color-mix(in srgb, var(--main-color, #6366f1) 80%, #000) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 20px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border-radius: 16px 16px 0 0 !important;
}

/* Neutraliza qualquer ícone fantasma gerado pelo template antigo na barra de título */
body.theme-mode-modern .ui-dialog-titlebar::before,
body.theme-mode-modern .ui-dialog>.ui-dialog-titlebar::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
}

/* Botão Fechar Modal: Bolinha translúcida elegante com X centralizado e SEM texto 'Fechar' */
body.theme-mode-modern .ui-dialog .ui-dialog-titlebar-close {
    position: absolute !important;
    background: rgba(255, 255, 255, 0.22) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -99999px !important;
    overflow: hidden !important;
    outline: none !important;
}

body.theme-mode-modern .ui-dialog .ui-dialog-titlebar-close:hover {
    background: rgba(255, 255, 255, 0.38) !important;
    transform: translateY(-50%) scale(1.06) !important;
}

/* Oculta qualquer texto residual ("Fechar", "Close") ou nós de texto do jQuery UI */
body.theme-mode-modern .ui-dialog .ui-dialog-titlebar-close .ui-button-text,
body.theme-mode-modern .ui-dialog .ui-dialog-titlebar-close .ui-button-icon-space {
    display: none !important;
    visibility: hidden !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* Oculta ícones nativos do jQuery UI para não duplicar */
body.theme-mode-modern .ui-dialog .ui-dialog-titlebar-close .ui-icon,
body.theme-mode-modern .ui-dialog .ui-dialog-titlebar-close .ui-button-icon {
    display: none !important;
}

/* Renderiza exclusivamente o X branco perfeitamente centralizado na bolinha */
body.theme-mode-modern .ui-dialog .ui-dialog-titlebar-close::after {
    content: "\f00d" !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    color: #ffffff !important;
    line-height: 28px !important;
    display: block !important;
    text-align: center !important;
    width: 28px !important;
    height: 28px !important;
    text-indent: 0 !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    pointer-events: none !important;
}

body.theme-mode-modern .ui-dialog .ui-dialog-content {
    background: #ffffff !important;
    padding: 20px !important;
    color: #334155 !important;
}

body.theme-mode-modern .ui-dialog .ui-dialog-buttonpane {
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
    padding: 12px 20px !important;
}

body.theme-mode-modern .ui-widget-overlay {
    background: rgba(15, 23, 42, 0.58) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    z-index: 2000040 !important;
}

/* ==========================================================================
   10. TOOLTIPS / LEGENDAS (BG ESCURO COM TEXTO BRANCO NÍTIDO)
   ========================================================================== */
body.theme-mode-modern .tooltip,
.tooltip {
    opacity: 1 !important;
    z-index: 2000080 !important;
}

body.theme-mode-modern .tooltip-inner,
.tooltip-inner {
    background-color: #0f172a !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28) !important;
    text-align: center !important;
    line-height: 1.4 !important;
}

body.theme-mode-modern .tooltip.top .tooltip-arrow,
.tooltip.top .tooltip-arrow {
    border-top-color: #0f172a !important;
}

body.theme-mode-modern .tooltip.bottom .tooltip-arrow,
.tooltip.bottom .tooltip-arrow {
    border-bottom-color: #0f172a !important;
}

body.theme-mode-modern .tooltip.left .tooltip-arrow,
.tooltip.left .tooltip-arrow {
    border-left-color: #0f172a !important;
}

body.theme-mode-modern .tooltip.right .tooltip-arrow,
.tooltip.right .tooltip-arrow {
    border-right-color: #0f172a !important;
}

/* ==========================================================================
   11. PRESERVAÇÃO E PROTEÇÃO DAS REFERÊNCIAS CANÔNICAS (LEAD, COBRANÇA, NEGOCIAÇÃO)
   ========================================================================== */
#lead-form-modal-container button:not(.leadform-tab-pill)[onclick*="LeadForm_comunicacao("] {
    background: #10b981 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.25) !important;
    height: auto !important;
    padding: 7px 16px !important;
}

#lead-form-modal-container button:not(.leadform-tab-pill)[onclick*="LeadForm_documentoPdf("] {
    background: #ef4444 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.25) !important;
    height: auto !important;
    padding: 7px 16px !important;
}

#lead-form-modal-container button:not(.leadform-tab-pill)[onclick*="LeadForm_converterLead("] {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 4px rgba(245, 158, 11, 0.2) !important;
    height: auto !important;
    padding: 7px 16px !important;
}

#lead-form-modal-container button#btn_salvar_lead_form {
    background: linear-gradient(135deg, var(--main-color, #0284c7) 0%, color-mix(in srgb, var(--main-color, #0284c7) 70%, #000) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14) !important;
    height: auto !important;
    padding: 7px 20px !important;
}

#lead-form-modal-container button[onclick*="fechar"] {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
    height: auto !important;
    padding: 7px 16px !important;
}

form[name="form_LeadDashboard"] button[name="filtrar"],
#lead-dashboard-content button[name="filtrar"] {
    background: #4f46e5 !important;
    border-color: #4338ca !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    height: 34px !important;
    padding: 0 14px !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(79, 70, 229, 0.25) !important;
}

form[name="form_LeadDashboard"] button[name="limpar"],
#lead-dashboard-content button[name="limpar"] {
    border-radius: 8px !important;
    height: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #ef4444 !important;
}

/* ==========================================================================
   14. VARIÁVEIS COMPLEMENTARES E BOTÃO GROUP (RADIO, CHECKBOX E TOGGLES)
   ========================================================================== */
:root {
    --color-orange: #f59e0b;
    --color-sea: #0284c7;
}

/* Grupo de Botões (TRadioGroup, TCheckGroup em modo botões) */
body.theme-mode-modern .btn-group:not(:has(.dropdown-menu)):not(.dropdown):not([style*="display:inline-block"]):not([style*="display: inline-block"]) {
    border-radius: 8px !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: stretch !important;
}

body.theme-mode-modern .btn-group.open,
body.theme-mode-modern .btn-group.show,
body.theme-mode-modern .btn-group:has(.dropdown-menu),
body.theme-mode-modern .table td .btn-group,
body.theme-mode-modern .dropdown {
    overflow: visible !important;
}

body.theme-mode-modern .btn-group>.btn,
body.theme-mode-modern .btn-group>label.btn {
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    color: #475569 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 7px 14px !important;
    transition: all 0.15s ease !important;
    box-shadow: none !important;
}

body.theme-mode-modern .btn-group>.btn:hover:not(.active),
body.theme-mode-modern .btn-group>label.btn:hover:not(.active) {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #1e293b !important;
}

/* Estado Ativo/Selecionado: Fundo no tema, texto branco e hover branco garantido */
body.theme-mode-modern .btn-group>.btn.active,
body.theme-mode-modern .btn-group>label.btn.active,
body.theme-mode-modern .btn-group>.btn.active:hover,
body.theme-mode-modern .btn-group>label.btn.active:hover,
body.theme-mode-modern .btn-group>.btn.active:focus,
body.theme-mode-modern .btn-group>label.btn.active:focus,
body.theme-mode-modern .btn-group>input[type="radio"]:checked+label.btn,
body.theme-mode-modern .btn-group>input[type="radio"]:checked+label.btn:hover,
body.theme-mode-modern .btn-group>input[type="checkbox"]:checked+label.btn,
body.theme-mode-modern .btn-group>input[type="checkbox"]:checked+label.btn:hover {
    background: var(--main-color, #10b981) !important;
    background-color: var(--main-color, #10b981) !important;
    border-color: var(--main-color, #10b981) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px color-mix(in srgb, var(--main-color, #10b981) 35%, transparent) !important;
}

body.theme-mode-modern .btn-group>.btn.active *,
body.theme-mode-modern .btn-group>label.btn.active *,
body.theme-mode-modern .btn-group>.btn.active:hover *,
body.theme-mode-modern .btn-group>label.btn.active:hover *,
body.theme-mode-modern .btn-group>input[type="radio"]:checked+label.btn *,
body.theme-mode-modern .btn-group>input[type="checkbox"]:checked+label.btn * {
    color: #ffffff !important;
}

/* ==========================================================================
   15. CAMPO DE UPLOAD DE ARQUIVOS (TFILE & TMULTIFILE) MODERNO
   Elimina espaço vazio e divisória duplicada | antes do texto 'Nenhum arquivo...'
   ========================================================================== */
body.theme-mode-modern input.form-control.tfield[widget="tfile"],
body.theme-mode-modern input.form-control.tfield[widget="tmultifile"],
body.theme-mode-modern input.form-control[type="file"] {
    position: relative !important;
    height: 38px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    padding: 0 12px 0 48px !important;
    line-height: 36px !important;
    font-size: 13px !important;
    color: #475569 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

/* Oculta completamente o botão nativo do navegador para evitar quadrado vazio e segunda barra | */
body.theme-mode-modern input.form-control.tfield[widget="tfile"]::-webkit-file-upload-button,
body.theme-mode-modern input.form-control.tfield[widget="tmultifile"]::-webkit-file-upload-button,
body.theme-mode-modern input.form-control[type="file"]::-webkit-file-upload-button {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-right: none !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

body.theme-mode-modern input.form-control.tfield[widget="tfile"]::file-selector-button,
body.theme-mode-modern input.form-control.tfield[widget="tmultifile"]::file-selector-button,
body.theme-mode-modern input.form-control[type="file"]::file-selector-button {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-right: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Único ícone estilizado de upload com divisor único | e alinhamento limpo */
body.theme-mode-modern input.form-control.tfield[widget="tfile"]::before,
body.theme-mode-modern input.form-control.tfield[widget="tmultifile"]::before,
body.theme-mode-modern input.form-control[type="file"]::before {
    content: "\f093" !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 38px !important;
    height: 36px !important;
    font-size: 13.5px !important;
    background: #f8fafc !important;
    color: var(--main-color, #0284c7) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-right: 1px solid #cbd5e1 !important;
    border-radius: 7px 0 0 7px !important;
    pointer-events: none !important;
    line-height: 1 !important;
}

/* ==========================================================================
   16. BOTÕES DE ALERTA, AÇÕES ESPECIAIS E GERAR COM IA
   ========================================================================== */
body.theme-mode-modern .btn-warning,
body.theme-mode-modern a.btn-warning,
body.theme-mode-modern button.btn-warning,
body.theme-mode-modern button[name*="gerar_com_ia"],
body.theme-mode-modern #tbutton_gerar_com_ia {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    background-color: #f59e0b !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 34px !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.28) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

body.theme-mode-modern .btn-warning:hover,
body.theme-mode-modern a.btn-warning:hover,
body.theme-mode-modern button.btn-warning:hover,
body.theme-mode-modern button[name*="gerar_com_ia"]:hover,
body.theme-mode-modern #tbutton_gerar_com_ia:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.38) !important;
    color: #ffffff !important;
}

body.theme-mode-modern .btn-warning *,
body.theme-mode-modern button[name*="gerar_com_ia"] * {
    color: #ffffff !important;
}

/* ==========================================================================
   17. BOTÕES GLOBAIS DE BUSCAR, ATUALIZAR, LIMPAR E NOVO (KANBANS E LISTAS)
   ========================================================================== */
/* Botão Buscar / Filtrar */
body.theme-mode-modern button#btnBuscar,
body.theme-mode-modern button[name="button_buscar"],
body.theme-mode-modern button[name="btn_onsearch"],
body.theme-mode-modern button[name="btn_on_search"],
body.theme-mode-modern button[name*="search" i]:not(#btn_buscar_prestador):not([name="btn_buscar_prestador"]),
body.theme-mode-modern button[name*="buscar" i]:not(#btn_buscar_prestador):not([name="btn_buscar_prestador"]),
body.theme-mode-modern button[name*="filtrar" i],
body.theme-mode-modern .btn-search-actions-wrap button[name="btn_onsearch"],
body.theme-mode-modern form button.btn-primary:has(i.fa-search) {
    background: linear-gradient(135deg, var(--main-color, #0284c7) 0%, color-mix(in srgb, var(--main-color, #0284c7) 78%, #000) 100%) !important;
    background-color: var(--main-color, #0284c7) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    height: 34px !important;
    padding: 0 16px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 2px 6px color-mix(in srgb, var(--main-color, #0284c7) 28%, transparent) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

body.theme-mode-modern button#btnBuscar:hover,
body.theme-mode-modern button[name="button_buscar"]:hover,
body.theme-mode-modern button[name="btn_onsearch"]:hover,
body.theme-mode-modern button[name*="search" i]:not(#btn_buscar_prestador):not([name="btn_buscar_prestador"]):hover,
body.theme-mode-modern button[name*="buscar" i]:not(#btn_buscar_prestador):not([name="btn_buscar_prestador"]):hover,
body.theme-mode-modern button[name*="filtrar" i]:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--main-color, #0284c7) 38%, transparent) !important;
    color: #ffffff !important;
}

body.theme-mode-modern button#btnBuscar *,
body.theme-mode-modern button[name*="buscar"]:not(#btn_buscar_prestador):not([name="btn_buscar_prestador"]) *,
body.theme-mode-modern button[name*="search"]:not(#btn_buscar_prestador):not([name="btn_buscar_prestador"]) * {
    color: #ffffff !important;
}

/* Botão de Busca de Prestador no Mapa (Assistência) */
body.theme-mode-modern #btn_buscar_prestador,
body.theme-mode-modern button[name="btn_buscar_prestador"],
body.theme-mode-modern #btn_buscar_prestador.btn {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 50% !important;
    padding: 0 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
}

body.theme-mode-modern #btn_buscar_prestador i,
body.theme-mode-modern button[name="btn_buscar_prestador"] i {
    color: #667eea !important;
}

/* Botão Limpar / Redefinir Filtros */
body.theme-mode-modern button#btnLimpar,
body.theme-mode-modern button[name="button_limpar"],
body.theme-mode-modern button[name="btn_onclear"],
body.theme-mode-modern button[name="btn_onlimpar"],
body.theme-mode-modern button[name="btn_on_clear"],
body.theme-mode-modern button[name*="clear" i],
body.theme-mode-modern button[name*="limpar" i],
body.theme-mode-modern .btn-search-actions-wrap button[name="btn_onlimpar"],
body.theme-mode-modern form button.btn-default:has(i.fa-eraser),
body.theme-mode-modern form button.btn-default:has(i.fa-times) {
    background: #ffffff !important;
    color: #ef4444 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    height: 34px !important;
    padding: 0 14px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

body.theme-mode-modern button#btnLimpar:hover,
body.theme-mode-modern button[name="button_limpar"]:hover,
body.theme-mode-modern button[name*="clear" i]:hover,
body.theme-mode-modern button[name*="limpar" i]:hover {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
    transform: translateY(-1px) !important;
}

body.theme-mode-modern button#btnLimpar *,
body.theme-mode-modern button[name*="limpar"] * {
    color: #ef4444 !important;
}

/* Botão Atualizar / Recarregar */
body.theme-mode-modern button[name*="refresh" i]:not(#btnAtualizarParticipacao):not(#btnCalcularValorBase),
body.theme-mode-modern button[name*="reload" i],
body.theme-mode-modern button[name*="atualizar" i]:not(#btnAtualizarParticipacao),
body.theme-mode-modern form button:not(#btnAtualizarParticipacao):not(#btnCalcularValorBase):not(.fb-inline-field-container button):has(i[class*="fa-sync"]),
body.theme-mode-modern form button:has(i[class*="fa-redo"]) {
    background: #ffffff !important;
    color: #0284c7 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    height: 34px !important;
    padding: 0 14px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

body.theme-mode-modern button[name*="refresh" i]:not(#btnAtualizarParticipacao):not(#btnCalcularValorBase):hover,
body.theme-mode-modern button[name*="reload" i]:hover,
body.theme-mode-modern button[name*="atualizar" i]:not(#btnAtualizarParticipacao):hover,
body.theme-mode-modern form button:not(#btnAtualizarParticipacao):not(#btnCalcularValorBase):not(.fb-inline-field-container button):has(i[class*="fa-sync"]):hover,
body.theme-mode-modern form button:has(i[class*="fa-redo"]):hover {
    background: #f0f7ff !important;
    border-color: #bae6fd !important;
    color: #0369a1 !important;
    transform: translateY(-1px) !important;
}

body.theme-mode-modern button[name*="refresh" i]:not(#btnAtualizarParticipacao) i,
body.theme-mode-modern button[name*="reload" i] i,
body.theme-mode-modern button[name*="atualizar" i]:not(#btnAtualizarParticipacao) i,
body.theme-mode-modern form button:not(#btnAtualizarParticipacao):not(.fb-inline-field-container button):has(i[class*="fa-sync"]) i,
body.theme-mode-modern form button:has(i[class*="fa-redo"]) i {
    color: #0284c7 !important;
}

body.theme-mode-modern button[name*="refresh" i]:not(#btnAtualizarParticipacao):hover i,
body.theme-mode-modern button[name*="reload" i]:hover i,
body.theme-mode-modern button[name*="atualizar" i]:not(#btnAtualizarParticipacao):hover i,
body.theme-mode-modern form button:not(#btnAtualizarParticipacao):not(.fb-inline-field-container button):has(i[class*="fa-sync"]):hover i,
body.theme-mode-modern form button:has(i[class*="fa-redo"]):hover i {
    color: #0369a1 !important;
}

/* Botão inline de Atualizar Participação do Veículo */
body.theme-mode-modern #btnAtualizarParticipacao,
body.theme-mode-modern #btnCalcularValorBase {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0 0 0 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    float: left !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    cursor: pointer !important;
}

body.theme-mode-modern #btnAtualizarParticipacao i,
body.theme-mode-modern #btnCalcularValorBase i {
    color: #00bcd4 !important;
    font-size: 13px !important;
}

body.theme-mode-modern div:has(> #btnAtualizarParticipacao) {
    display: block !important;
    float: left !important;
    width: 38px !important;
}

body.theme-mode-modern div:has(> [name="participacao_individual"]) {
    display: block !important;
    float: left !important;
    width: calc(100% - 44px) !important;
}

/* Botão + Novo / + Cadastrar */
body.theme-mode-modern button#novoEventoPro,
body.theme-mode-modern button[name*="novo"],
body.theme-mode-modern button[name*="cadastrar"],
body.theme-mode-modern form button.btn-success:has(i.fa-plus),
body.theme-mode-modern .btn-success:not(.panel-heading .btn-success):has(i.fa-plus) {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    background-color: #10b981 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    height: 34px !important;
    padding: 0 16px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.28) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

body.theme-mode-modern button#novoEventoPro:hover,
body.theme-mode-modern button[name*="novo"]:hover,
body.theme-mode-modern button[name*="cadastrar"]:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.38) !important;
    color: #ffffff !important;
}

body.theme-mode-modern button#novoEventoPro *,
body.theme-mode-modern button[name*="novo"] *,
body.theme-mode-modern button[name*="cadastrar"] * {
    color: #ffffff !important;
}

/* ==========================================================================
   18. KANBAN MODERNO: TOPO DAS ETAPAS / STAGES E AÇÕES DOS CARDS
   ========================================================================== */
/* Colunas do Kanban (Stages) */
body.theme-mode-modern .kanban-stage {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
    padding: 12px 10px 10px 10px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

/* Topo / Título da Coluna */
body.theme-mode-modern .kanban-title {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding: 0 0 10px 0 !important;
    margin-bottom: 12px !important;
    font-size: inherit !important;
}

/* Pílula de Identificação da Etapa */
body.theme-mode-modern .kanban-title-interno {
    background: linear-gradient(135deg, var(--main-color, #10b981) 0%, color-mix(in srgb, var(--main-color, #10b981) 85%, #000) 100%) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--main-color, #10b981) 25%, transparent) !important;
}

body.theme-mode-modern .kanban-title-interno i {
    color: #ffffff !important;
    margin-right: 6px !important;
}

/* Contador de Itens dentro da Etapa */
body.theme-mode-modern .kanban-title-interno .itens-etapa,
body.theme-mode-modern .itens-etapa {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    padding: 2px 9px !important;
    border-radius: 20px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    margin-left: auto !important;
}

/* Total Financeiro da Etapa */
body.theme-mode-modern .kanban-title-total {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-align: center !important;
    color: #1e293b !important;
    padding: 8px 6px 2px 6px !important;
    margin: 0 !important;
    letter-spacing: -0.3px !important;
}

/* Barra de Ações dos Cards (Visualizar, Editar, Arquivar) */
body.theme-mode-modern .kanban-item-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 10px !important;
    margin: 10px -10px -10px -10px !important;
    border-top: 1px solid #f1f5f9 !important;
    background: #f8fafc !important;
    border-radius: 0 0 12px 12px !important;
}

body.theme-mode-modern .kanban-item-actions a,
body.theme-mode-modern .kanban-item-actions button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    height: 28px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #475569 !important;
}

/* Botão Visualizar (Lupa) */
body.theme-mode-modern .kanban-item-actions a[title*="Visualizar"],
body.theme-mode-modern .kanban-item-actions a:has(i.fa-search) {
    background: #f0f7ff !important;
    border-color: #bae6fd !important;
    color: #0284c7 !important;
    width: 28px !important;
    padding: 0 !important;
}

body.theme-mode-modern .kanban-item-actions a[title*="Visualizar"]:hover,
body.theme-mode-modern .kanban-item-actions a:has(i.fa-search):hover {
    background: #0284c7 !important;
    border-color: #0284c7 !important;
    color: #ffffff !important;
}

body.theme-mode-modern .kanban-item-actions a:has(i.fa-search):hover i {
    color: #ffffff !important;
}

/* Botão Editar (Lápis) */
body.theme-mode-modern .kanban-item-actions a[title*="Editar"],
body.theme-mode-modern .kanban-item-actions a:has(i.fa-edit) {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #475569 !important;
    width: 28px !important;
    padding: 0 !important;
}

body.theme-mode-modern .kanban-item-actions a[title*="Editar"]:hover,
body.theme-mode-modern .kanban-item-actions a:has(i.fa-edit):hover {
    background: #475569 !important;
    border-color: #475569 !important;
    color: #ffffff !important;
}

body.theme-mode-modern .kanban-item-actions a:has(i.fa-edit):hover i {
    color: #ffffff !important;
}

/* Botão Arquivar / Desarquivar */
body.theme-mode-modern .kanban-item-actions a[title*="Arquivar"],
body.theme-mode-modern .kanban-item-actions a:has(i.fa-box-archive),
body.theme-mode-modern .kanban-item-actions a:has(i.fa-archive) {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

body.theme-mode-modern .kanban-item-actions a[title*="Arquivar"]:hover,
body.theme-mode-modern .kanban-item-actions a:has(i.fa-box-archive):hover,
body.theme-mode-modern .kanban-item-actions a:has(i.fa-archive):hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

body.theme-mode-modern .kanban-item-actions a:has(i.fa-box-archive):hover i,
body.theme-mode-modern .kanban-item-actions a:has(i.fa-archive):hover i {
    color: #ffffff !important;
}

/* ==========================================================================
   19. CANTOS INFERIORES ARREDONDADOS GLOBAIS (PAINÉIS, FORMULÁRIOS E DATAGRIDS)
   ========================================================================== */
body.theme-mode-modern div[widget="bootstrapformbuilder"],
body.theme-mode-modern div[widget="bootstrapformbuilder"].panel,
body.theme-mode-modern .card.panel,
body.theme-mode-modern .panel-default,
body.theme-mode-modern .panel,
body.theme-mode-modern .bpagecontainer,
body.theme-mode-modern .tab-content,
body.theme-mode-modern .tab-pane,
body.theme-mode-modern div[widget="datagrid_wrapper"],
body.theme-mode-modern div[widget="datagrid_wrapper"]>.panel,
body.theme-mode-modern form[name*="datagrid"]>.panel {
    border-radius: 14px !important;
    overflow: hidden !important;
}

body.theme-mode-modern .panel>.panel-body:last-child,
body.theme-mode-modern .panel>.panel-footer:last-child,
body.theme-mode-modern .card>.card-body:last-child,
body.theme-mode-modern .card>.card-footer:last-child,
body.theme-mode-modern div[widget="bootstrapformbuilder"]>.panel-body:last-child,
body.theme-mode-modern div[widget="bootstrapformbuilder"]>.panel-footer:last-child,
body.theme-mode-modern div[widget="bootstrapformbuilder"] .tab-content,
body.theme-mode-modern div[widget="bootstrapformbuilder"] .tab-pane {
    border-bottom-left-radius: 14px !important;
    border-bottom-right-radius: 14px !important;
}

/* ==========================================================================
   20. AJUSTES ESPECÍFICOS DE ALINHAMENTO EM MODAIS (GERAR PAGAMENTOS)
   ========================================================================== */
body.theme-mode-modern .ui-dialog:has([window_name="GerarPagamentos"]) #btn_gerar_pagamentos_submit,
body.theme-mode-modern form[name="form_GerarPagamentos"] #btn_gerar_pagamentos_submit {
    float: right !important;
    margin-left: auto !important;
}

body.theme-mode-modern .ui-dialog:has([window_name="GerarPagamentos"]) .fb-field-container:has(#btn_gerar_pagamentos_submit),
body.theme-mode-modern form[name="form_GerarPagamentos"] .fb-field-container:has(#btn_gerar_pagamentos_submit) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    text-align: right !important;
}

/* ==========================================================================
   21. BOTÕES DE FILTRO FINANCEIRO (CONTAS A RECEBER, LANÇAMENTOS, CONTAS A PAGAR)
   Tratamento específico e NÃO-GLOBAL para Pendente, Quitado e Atrasado
   ========================================================================== */
body.theme-mode-modern #tbutton_button_Pendente,
body.theme-mode-modern button[name="button_Pendente"],
body.theme-mode-modern #tbutton_button_pendente,
body.theme-mode-modern button[name="button_button_pendente"] {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s ease !important;
}

body.theme-mode-modern #tbutton_button_Pendente i,
body.theme-mode-modern button[name="button_Pendente"] i,
body.theme-mode-modern #tbutton_button_pendente i,
body.theme-mode-modern button[name="button_button_pendente"] i {
    color: #f59e0b !important;
    font-size: 13px !important;
    display: inline-block !important;
}

body.theme-mode-modern #tbutton_button_Pendente:hover,
body.theme-mode-modern button[name="button_Pendente"]:hover {
    background: #fffbeb !important;
    border-color: #fcd34d !important;
    color: #b45309 !important;
}

body.theme-mode-modern #tbutton_button_Pendente[style*="2ecc71"],
body.theme-mode-modern #tbutton_button_Pendente[style*="rgb(46, 204, 113)"],
body.theme-mode-modern button[name="button_Pendente"][style*="2ecc71"],
body.theme-mode-modern button[name="button_Pendente"][style*="rgb(46, 204, 113)"] {
    background: #fffbeb !important;
    border: 1.5px solid #f59e0b !important;
    color: #92400e !important;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2) !important;
}

body.theme-mode-modern #tbutton_button_Pendente[style*="2ecc71"] i,
body.theme-mode-modern #tbutton_button_Pendente[style*="rgb(46, 204, 113)"] i,
body.theme-mode-modern button[name="button_Pendente"][style*="2ecc71"] i,
body.theme-mode-modern button[name="button_Pendente"][style*="rgb(46, 204, 113)"] i {
    color: #d97706 !important;
}

body.theme-mode-modern #tbutton_button_Quitado,
body.theme-mode-modern button[name="button_Quitado"],
body.theme-mode-modern #tbutton_button_quitado,
body.theme-mode-modern button[name="button_button_quitado"] {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s ease !important;
}

body.theme-mode-modern #tbutton_button_Quitado i,
body.theme-mode-modern button[name="button_Quitado"] i,
body.theme-mode-modern #tbutton_button_quitado i,
body.theme-mode-modern button[name="button_button_quitado"] i {
    color: #10b981 !important;
    font-size: 13px !important;
    display: inline-block !important;
}

body.theme-mode-modern #tbutton_button_Quitado:hover,
body.theme-mode-modern button[name="button_Quitado"]:hover {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: #047857 !important;
}

body.theme-mode-modern #tbutton_button_Quitado[style*="2ecc71"],
body.theme-mode-modern #tbutton_button_Quitado[style*="rgb(46, 204, 113)"],
body.theme-mode-modern button[name="button_Quitado"][style*="2ecc71"],
body.theme-mode-modern button[name="button_Quitado"][style*="rgb(46, 204, 113)"] {
    background: #ecfdf5 !important;
    border: 1.5px solid #10b981 !important;
    color: #065f46 !important;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2) !important;
}

body.theme-mode-modern #tbutton_button_Quitado[style*="2ecc71"] i,
body.theme-mode-modern #tbutton_button_Quitado[style*="rgb(46, 204, 113)"] i,
body.theme-mode-modern button[name="button_Quitado"][style*="2ecc71"] i,
body.theme-mode-modern button[name="button_Quitado"][style*="rgb(46, 204, 113)"] i {
    color: #059669 !important;
}

body.theme-mode-modern #tbutton_button_Atrasado,
body.theme-mode-modern button[name="button_Atrasado"],
body.theme-mode-modern #tbutton_button_atrasado,
body.theme-mode-modern button[name="button_button_atrasado"] {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    height: 32px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.2s ease !important;
}

body.theme-mode-modern #tbutton_button_Atrasado i,
body.theme-mode-modern button[name="button_Atrasado"] i,
body.theme-mode-modern #tbutton_button_atrasado i,
body.theme-mode-modern button[name="button_button_atrasado"] i {
    color: #ef4444 !important;
    font-size: 13px !important;
    display: inline-block !important;
}

body.theme-mode-modern #tbutton_button_Atrasado:hover,
body.theme-mode-modern button[name="button_Atrasado"]:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #b91c1c !important;
}

body.theme-mode-modern #tbutton_button_Atrasado[style*="2ecc71"],
body.theme-mode-modern #tbutton_button_Atrasado[style*="rgb(46, 204, 113)"],
body.theme-mode-modern button[name="button_Atrasado"][style*="2ecc71"],
body.theme-mode-modern button[name="button_Atrasado"][style*="rgb(46, 204, 113)"] {
    background: #fef2f2 !important;
    border: 1.5px solid #ef4444 !important;
    color: #991b1b !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2) !important;
}

body.theme-mode-modern #tbutton_button_Atrasado[style*="2ecc71"] i,
body.theme-mode-modern #tbutton_button_Atrasado[style*="rgb(46, 204, 113)"] i,
body.theme-mode-modern button[name="button_Atrasado"][style*="2ecc71"] i,
body.theme-mode-modern button[name="button_Atrasado"][style*="rgb(46, 204, 113)"] i {
    color: #dc2626 !important;
}

/* Padronização de miniaturas de imagem em datagrids */
.imagem_list {
    max-width: 60px !important;
    max-height: 40px !important;
    object-fit: contain;
    border-radius: 4px;
    display: inline-block;
    vertical-align: middle;
}

/* ==========================================================================
   22. MODAL MODERNO DE AVISOS, ERROS E PERGUNTAS (TMessage, TQuestion, swal)
   Padrão Canônico SaaS 2.0 (GEMINI.md - Seção 4.5)
   ========================================================================== */

@keyframes modernDialogFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes modernDialogScaleIn {
    from {
        opacity: 0;
        transform: scale(0.92) translateY(-10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.modern-dialog-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(15, 23, 42, 0.56) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    z-index: 10000050 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    animation: modernDialogFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

.modern-dialog-container {
    width: 490px !important;
    max-width: 94vw !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 25px 60px rgba(15, 23, 42, 0.3), 0 10px 25px rgba(15, 23, 42, 0.15) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    animation: modernDialogScaleIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Cabeçalho com Gradientes Modernos */
.modern-dialog-header {
    padding: 16px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    user-select: none !important;
    color: #ffffff !important;
}

.modern-dialog-header.danger {
    background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%) !important;
}

.modern-dialog-header.warning {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
}

.modern-dialog-header.success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
}

.modern-dialog-header.info {
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
}

.modern-dialog-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 !important;
}

.modern-dialog-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.22) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 19px !important;
    flex-shrink: 0 !important;
}

.modern-dialog-icon i {
    color: #ffffff !important;
    font-size: 19px !important;
    line-height: 1 !important;
}

.modern-dialog-title {
    margin: 0 !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
}

.modern-dialog-btn-close {
    background: rgba(255, 255, 255, 0.18) !important;
    border: none !important;
    color: #ffffff !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    transition: background 0.2s, transform 0.15s !important;
    padding: 0 !important;
    outline: none !important;
    flex-shrink: 0 !important;
}

.modern-dialog-btn-close:hover {
    background: rgba(255, 255, 255, 0.32) !important;
    transform: scale(1.05) !important;
}

.modern-dialog-btn-close i {
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

/* Corpo do Modal */
.modern-dialog-body {
    padding: 22px 24px !important;
    background: #ffffff !important;
    color: #334155 !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
}

.modern-dialog-alert-box {
    border-radius: 12px !important;
    padding: 14px 16px !important;
    font-size: 13.5px !important;
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    line-height: 1.55 !important;
}

.modern-dialog-alert-box.danger {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    color: #991b1b !important;
}
.modern-dialog-alert-box.danger i {
    color: #ef4444 !important;
    font-size: 18px !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
}

.modern-dialog-alert-box.warning {
    background: #fffbeb !important;
    border: 1px solid #fde68a !important;
    color: #92400e !important;
}
.modern-dialog-alert-box.warning i {
    color: #f59e0b !important;
    font-size: 18px !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
}

.modern-dialog-alert-box.success {
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    color: #065f46 !important;
}
.modern-dialog-alert-box.success i {
    color: #10b981 !important;
    font-size: 18px !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
}

.modern-dialog-alert-box.info {
    background: #f0f9ff !important;
    border: 1px solid #bae6fd !important;
    color: #0369a1 !important;
}
.modern-dialog-alert-box.info i {
    color: #0284c7 !important;
    font-size: 18px !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
}

.modern-dialog-text {
    flex: 1 !important;
    word-break: break-word !important;
    font-size: 14px !important;
}

/* Rodapé do Modal */
.modern-dialog-footer {
    padding: 14px 24px 18px !important;
    background: #f8fafc !important;
    border-top: 1px solid #f1f5f9 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
}

.modern-dialog-btn {
    border: none !important;
    border-radius: 8px !important;
    padding: 9px 22px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    transition: all 0.2s ease !important;
    outline: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.modern-dialog-btn i {
    font-size: 13px !important;
    line-height: 1 !important;
}

.modern-dialog-btn-secondary {
    background: #ffffff !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}
.modern-dialog-btn-secondary:hover {
    background: #f1f5f9 !important;
    color: #1e293b !important;
    border-color: #94a3b8 !important;
}
body.theme-mode-modern button.modern-dialog-btn-secondary i,
body.theme-mode-modern button#modern-dialog-btn-cancel i,
body.theme-mode-modern .modern-dialog-footer button.modern-dialog-btn-secondary i,
.modern-dialog-btn-secondary i {
    color: #64748b !important;
}

body.theme-mode-modern button.modern-dialog-btn-secondary:hover i,
body.theme-mode-modern button#modern-dialog-btn-cancel:hover i,
body.theme-mode-modern .modern-dialog-footer button.modern-dialog-btn-secondary:hover i,
.modern-dialog-btn-secondary:hover i {
    color: #1e293b !important;
}

.modern-dialog-btn-danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(239, 68, 68, 0.35) !important;
}
.modern-dialog-btn-danger:hover {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.45) !important;
    transform: translateY(-1px) !important;
}
.modern-dialog-btn-danger i {
    color: #ffffff !important;
}

.modern-dialog-btn-warning {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.35) !important;
}
.modern-dialog-btn-warning:hover {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.45) !important;
    transform: translateY(-1px) !important;
}
.modern-dialog-btn-warning i {
    color: #ffffff !important;
}

.modern-dialog-btn-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.35) !important;
}
.modern-dialog-btn-success:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.45) !important;
    transform: translateY(-1px) !important;
}
.modern-dialog-btn-success i {
    color: #ffffff !important;
}

.modern-dialog-btn-info {
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(2, 132, 199, 0.35) !important;
}
.modern-dialog-btn-info:hover {
    background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.45) !important;
    transform: translateY(-1px) !important;
}
.modern-dialog-btn-info i {
    color: #ffffff !important;
}

/* ==========================================================================
   23. POLISH ADICIONAL PARA SWEETALERT EM TEMA MODERNO (FALLBACK)
   ========================================================================== */
body.theme-mode-modern .sweet-overlay {
    background: rgba(15, 23, 42, 0.56) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    z-index: 10000040 !important;
}

body.theme-mode-modern .sweet-alert {
    border-radius: 16px !important;
    box-shadow: 0 25px 60px rgba(15, 23, 42, 0.3), 0 10px 25px rgba(15, 23, 42, 0.15) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    z-index: 10000050 !important;
    padding: 24px 28px !important;
}

body.theme-mode-modern .sweet-alert h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 16px 0 10px !important;
}

body.theme-mode-modern .sweet-alert p {
    font-size: 14.5px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
}

body.theme-mode-modern .sweet-alert button.confirm {
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 10px 24px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.2s !important;
}

body.theme-mode-modern .sweet-alert button.cancel {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 10px 24px !important;
    transition: all 0.2s !important;
}
body.theme-mode-modern .sweet-alert button.cancel:hover {
    background: #f1f5f9 !important;
    color: #1e293b !important;
}

/* ==========================================================================
   24. PREVENÇÃO DE COLAPSO EM BPAGECONTAINER E ELEMENTOS INTERNOS DO RIGHT-PANEL
   ========================================================================== */
.right-panel div[widget="bootstrapformbuilder"] .container-part,
.right-panel .card .container-part,
.right-panel [id^="listaCidades"] .container-part,
.right-panel #listaCidadesEstado .container-part,
#listaCidadesEstado .container-part,
#listaCidadesEstado > div {
    position: relative !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    z-index: auto !important;
}

#listaCidadesEstado {
    width: 100% !important;
    min-height: 250px !important;
    height: auto !important;
    margin-top: 15px !important;
    display: block !important;
    clear: both !important;
    overflow: visible !important;
}

.right-panel > .container-part[page-name=EstadoForm] {
    overflow-y: auto !important;
    height: 100% !important;
}

/* Cortina lateral (right-panel): z-index base dinâmico gerenciado por LayerStackManager */
#adianti_right_panel,
.right-panel {
    z-index: 2000020;
}

#adianti_right_panel[style*="display: block"]::before,
.right-panel[style*="display: block"]::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(15, 23, 42, 0.45) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    z-index: -1 !important;
    pointer-events: auto !important;
}

/* Telas de pagamento com 70% de largura na janela lateral (right-panel) */
#adianti_right_panel.right-panel > .container-part[page-name="ReceberPagamentoForm"],
#adianti_right_panel.right-panel > .container-part[page-name="ReceberPagamentoVeiculoForm"],
#adianti_right_panel.right-panel > .container-part[page-name="PagamentoForm"],
.right-panel > .container-part[page-name="ReceberPagamentoForm"],
.right-panel > .container-part[page-name="ReceberPagamentoVeiculoForm"],
.right-panel > .container-part[page-name="PagamentoForm"] {
    width: 70% !important;
    max-width: 70% !important;
    min-width: 70% !important;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.28) !important;
    overflow-y: auto !important;
}

@media (max-width: 992px) {
    #adianti_right_panel.right-panel > .container-part[page-name="ReceberPagamentoForm"],
    #adianti_right_panel.right-panel > .container-part[page-name="ReceberPagamentoVeiculoForm"],
    #adianti_right_panel.right-panel > .container-part[page-name="PagamentoForm"],
    .right-panel > .container-part[page-name="ReceberPagamentoForm"],
    .right-panel > .container-part[page-name="ReceberPagamentoVeiculoForm"],
    .right-panel > .container-part[page-name="PagamentoForm"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
}

/* ==========================================================================
   25. GLOBAL FILE VIEWER (PRÉ-VISUALIZAÇÃO GLOBAL DE ANEXOS — PDF, IMAGEM, VÍDEO)
   ========================================================================== */
.gfv-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2000060 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
    user-select: none;
    -webkit-user-select: none;
    padding: 16px !important;
    box-sizing: border-box !important;
}

.gfv-modal.active {
    opacity: 1 !important;
    visibility: visible !important;
}

.gfv-backdrop {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(15, 23, 42, 0.82) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.gfv-dialog {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    background: #0f172a !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 16px !important;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.65) !important;
    overflow: hidden !important;
    z-index: 2 !important;
    transform: scale(0.95);
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box !important;
}

.gfv-modal.active .gfv-dialog {
    transform: scale(1);
}

.gfv-dialog.gfv-type-pdf {
    width: 92vw !important;
    max-width: 1280px !important;
    height: 90vh !important;
}

.gfv-dialog.gfv-type-image {
    max-width: 92vw !important;
    max-height: 92vh !important;
    width: auto !important;
    min-width: 380px !important;
}

.gfv-dialog.gfv-type-video {
    width: 90vw !important;
    max-width: 1040px !important;
    max-height: 90vh !important;
}

.gfv-dialog.gfv-type-audio {
    width: 90vw !important;
    max-width: 580px !important;
    height: auto !important;
}

/* Cabeçalho do Visualizador */
.gfv-header {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #1e293b !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    gap: 16px !important;
    box-sizing: border-box !important;
}

.gfv-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.gfv-type-badge {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
}

.gfv-badge-pdf {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #ef4444 !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
}

.gfv-badge-image {
    background: rgba(14, 165, 233, 0.18) !important;
    color: #0ea5e9 !important;
    border: 1px solid rgba(14, 165, 233, 0.3) !important;
}

.gfv-badge-video {
    background: rgba(168, 85, 247, 0.18) !important;
    color: #a855f7 !important;
    border: 1px solid rgba(168, 85, 247, 0.3) !important;
}

.gfv-badge-audio {
    background: rgba(16, 185, 129, 0.18) !important;
    color: #10b981 !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
}

.gfv-title-wrap {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.gfv-filename {
    color: #f8fafc !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    letter-spacing: -0.01em !important;
}

.gfv-filetype {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.gfv-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

/* Toolbar de Zoom e Rotação */
.gfv-zoom-controls {
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(15, 23, 42, 0.7) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 999px !important;
    padding: 3px 6px !important;
    gap: 2px !important;
    margin-right: 4px !important;
}

.gfv-btn-tool {
    background: transparent !important;
    border: none !important;
    color: #cbd5e1 !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 13px !important;
    transition: background 0.15s, color 0.15s !important;
    padding: 0 !important;
}

.gfv-btn-tool:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}

.gfv-zoom-indicator {
    background: transparent !important;
    border: none !important;
    color: #f8fafc !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    min-width: 44px !important;
    text-align: center !important;
    padding: 0 4px !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    transition: background 0.15s !important;
}

.gfv-zoom-indicator:hover {
    background: rgba(255, 255, 255, 0.18) !important;
}

/* Botões do Cabeçalho */
.gfv-btn-action {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 14px !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.15s !important;
    height: 34px !important;
    box-sizing: border-box !important;
}

.gfv-btn-download {
    background: var(--main-color, #0284c7) !important;
    color: #ffffff !important;
    border: none !important;
}

.gfv-btn-download:hover {
    filter: brightness(1.1) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.35) !important;
}

.gfv-btn-external {
    background: var(--main-color, #0284c7) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.25) !important;
}

.gfv-btn-external:hover {
    filter: brightness(1.1) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4) !important;
}

.gfv-btn-close {
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #cbd5e1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 15px !important;
    transition: all 0.15s !important;
    padding: 0 !important;
}

.gfv-btn-close:hover {
    background: rgba(239, 68, 68, 0.25) !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
    color: #ef4444 !important;
}

/* Área de Conteúdo */
.gfv-body {
    position: relative !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #090d16 !important;
    overflow: hidden !important;
    min-height: 240px !important;
}

.gfv-content {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

/* Componente Arquivo Não Encontrado */
.gfv-not-found {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 36px 24px !important;
    max-width: 480px !important;
    margin: auto !important;
    animation: gfvFadeIn 0.25s ease-out !important;
}

.gfv-nf-icon {
    width: 68px !important;
    height: 68px !important;
    border-radius: 20px !important;
    background: rgba(239, 68, 68, 0.12) !important;
    border: 1px solid rgba(239, 68, 68, 0.28) !important;
    color: #ef4444 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.2) !important;
}

.gfv-nf-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.01em !important;
}

.gfv-nf-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #94a3b8 !important;
    margin: 0 0 20px 0 !important;
}

.gfv-nf-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 14px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    color: #cbd5e1 !important;
    word-break: break-all !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
}

.gfv-nf-badge i {
    color: #64748b !important;
    font-size: 13px !important;
}

.gfv-nf-hint {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    background: rgba(56, 189, 248, 0.08) !important;
    border: 1px solid rgba(56, 189, 248, 0.18) !important;
    font-size: 12.5px !important;
    color: #38bdf8 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.gfv-nf-hint i {
    font-size: 14px !important;
    flex-shrink: 0 !important;
}

/* Iframe PDF */
.gfv-iframe-wrap {
    width: 100% !important;
    height: 100% !important;
    flex: 1 !important;
    background: #ffffff !important;
}

.gfv-iframe {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    display: block !important;
}

/* Viewport de Imagem */
.gfv-image-viewport {
    width: 100% !important;
    height: 100% !important;
    max-height: calc(92vh - 58px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    position: relative !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

.gfv-image-viewport.is-draggable {
    cursor: grab !important;
}

.gfv-image-viewport.is-dragging {
    cursor: grabbing !important;
}

.gfv-image {
    max-width: 85vw !important;
    max-height: calc(85vh - 58px) !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
    transition: transform 0.12s ease-out;
    transform-origin: center center;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

/* Vídeo */
.gfv-video-wrap {
    width: 100% !important;
    padding: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.gfv-video {
    max-width: 100% !important;
    max-height: calc(82vh - 58px) !important;
    border-radius: 10px !important;
    outline: none !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6) !important;
}

/* Áudio */
.gfv-audio-wrap {
    width: 100% !important;
    padding: 36px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
    box-sizing: border-box !important;
}

.gfv-audio-icon {
    font-size: 48px !important;
    color: #10b981 !important;
    animation: gfvPulse 2s infinite ease-in-out;
}

@keyframes gfvPulse {
    0%, 100% { transform: scale(1); opacity: 0.9; }
    50% { transform: scale(1.08); opacity: 1; }
}

.gfv-audio {
    width: 100% !important;
    outline: none !important;
}

/* Loading */
.gfv-loading {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    color: #94a3b8 !important;
    font-size: 13px !important;
    background: rgba(15, 23, 42, 0.75) !important;
    z-index: 10 !important;
}

.gfv-loading i {
    font-size: 28px !important;
    color: var(--main-color, #0284c7) !important;
}

@media (max-width: 640px) {
    .gfv-btn-action span {
        display: none !important;
    }
    .gfv-header {
        padding: 0 10px !important;
    }
    .gfv-filename {
        max-width: 140px !important;
    }
}

/* ==========================================================================
   BOTÃO GERAR CAMPANHA (PADRÃO MODERNO ROXO GRADIENTE LUUVI)
   ========================================================================== */
.btn-campanha-modern,
.btn-campanha-lead-modern,
button.btn-campanha-modern,
button.btn-campanha-lead-modern,
a.btn-campanha-modern,
a.btn-campanha-lead-modern {
    background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%) !important;
    border: 1px solid transparent !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.28) !important;
    padding: 7px 16px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.btn-campanha-modern i,
.btn-campanha-lead-modern i,
.btn-campanha-modern span,
.btn-campanha-lead-modern span {
    color: #ffffff !important;
}

.btn-campanha-modern:hover,
.btn-campanha-lead-modern:hover,
button.btn-campanha-modern:hover,
button.btn-campanha-lead-modern:hover,
a.btn-campanha-modern:hover,
a.btn-campanha-lead-modern:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(139, 92, 246, 0.38) !important;
    color: #ffffff !important;
}

/* Elevação Global de Toasts (iziToast) sobre Cortinas e Modais */
.iziToast-wrapper,
.iziToast-wrapper.iziToast-wrapper-center,
.iziToast-wrapper.iziToast-wrapper-topRight,
.iziToast-wrapper.iziToast-wrapper-topLeft,
.iziToast-wrapper.iziToast-wrapper-bottomRight,
.iziToast-wrapper.iziToast-wrapper-bottomLeft,
.iziToast-wrapper.iziToast-wrapper-topCenter,
.iziToast-wrapper.iziToast-wrapper-bottomCenter {
    z-index: 99999999 !important;
}
.iziToast-overlay {
    z-index: 99999990 !important;
}
.iziToast {
    z-index: 99999999 !important;
}

/* Elevação Global de Modais Modernas sobre Cortinas Laterais */
.scope-modal-overlay,
.cmodal-overlay,
.expmodal-overlay {
    z-index: 2000080;
}