/* =========================================================
   Adel Documentos — Estilo Padronizado & Refatorado (Design System)
   ========================================================= */

:root {
    /* Cores do Sistema */
    --adel-primary: #0f172a;          /* Slate 900 */
    --adel-primary-hover: #1e293b;    /* Slate 800 */
    --adel-accent: #3b82f6;           /* Blue 500 */
    --adel-accent-hover: #2563eb;     /* Blue 600 */
    --adel-accent-light: #eff6ff;     /* Blue 50 */
    
    /* Cores de Status Unificadas (Lógica de Progressão Premium) */
    --adel-status-pendente: #f59e0b;
    --adel-status-pendente-hover: #d97706;
    --adel-status-pendente-light: #fffbeb;
    
    --adel-status-edicao: #6366f1;
    --adel-status-edicao-hover: #4f46e5;
    --adel-status-edicao-light: #e0e7ff;
    
    --adel-status-aprovado: #10b981;
    --adel-status-aprovado-hover: #059669;
    --adel-status-aprovado-light: #ecfdf5;
    
    --adel-status-assinado: #0d9488;
    --adel-status-assinado-hover: #0f766e;
    --adel-status-assinado-light: #f0fdfa;
    
    --adel-status-pago: #16a34a;
    --adel-status-pago-hover: #15803d;
    --adel-status-pago-light: #dcfce7;
    
    --adel-status-reprovado: #ef4444;
    --adel-status-reprovado-hover: #dc2626;
    --adel-status-reprovado-light: #fef2f2;
    
    /* Cores Neutras */
    --adel-bg-main: #f8fafc;          /* Slate 50 */
    --adel-bg-card: #ffffff;
    --adel-border: #cbd5e1;           /* Slate 300 */
    --adel-border-light: #e2e8f0;     /* Slate 200 */
    --adel-text: #1e293b;             /* Slate 800 */
    --adel-text-muted: #64748b;       /* Slate 500 */
    
    /* Bordas e Sombras */
    --adel-radius-sm: 6px;
    --adel-radius-md: 8px;
    --adel-radius-lg: 16px;
    --adel-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --adel-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
    --adel-shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    --adel-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* ── Reset e Base (Com Poppins e Escopo Protegido para Elementor e Ícones Phosphor) ── */
.adel-formulario-wrapper,
#adel-app-lista-documentos,
.adel-modal-overlay,
#adel-notificacoes-container,
.adel-confirm-overlay {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    color: var(--adel-text) !important;
    box-sizing: border-box !important;
}

.adel-formulario-wrapper *,
#adel-app-lista-documentos *,
.adel-modal-overlay *,
.adel-confirm-overlay * {
    box-sizing: border-box !important;
}

/* Aplicação de fonte apenas para elementos de texto, evitando quebrar fontes de ícones (como Phosphor) */
.adel-formulario-wrapper input,
.adel-formulario-wrapper select,
.adel-formulario-wrapper textarea,
.adel-formulario-wrapper button,
.adel-formulario-wrapper p,
.adel-formulario-wrapper span:not(.ph),
.adel-formulario-wrapper td,
.adel-formulario-wrapper th,
.adel-formulario-wrapper h1,
.adel-formulario-wrapper h2,
.adel-formulario-wrapper h3,
.adel-formulario-wrapper h4,
.adel-formulario-wrapper h5,
.adel-formulario-wrapper h6,
.adel-formulario-wrapper strong,
.adel-formulario-wrapper div:not(.ph):not(.status-circle),
#adel-app-lista-documentos input,
#adel-app-lista-documentos select,
#adel-app-lista-documentos textarea,
#adel-app-lista-documentos button,
#adel-app-lista-documentos p,
#adel-app-lista-documentos span:not(.ph),
#adel-app-lista-documentos td,
#adel-app-lista-documentos th,
#adel-app-lista-documentos h1,
#adel-app-lista-documentos h2,
#adel-app-lista-documentos h3,
#adel-app-lista-documentos h4,
#adel-app-lista-documentos h5,
#adel-app-lista-documentos h6,
#adel-app-lista-documentos strong,
#adel-app-lista-documentos div:not(.ph):not(.status-circle),
.adel-modal-overlay input,
.adel-modal-overlay select,
.adel-modal-overlay textarea,
.adel-modal-overlay button,
.adel-modal-overlay p,
.adel-modal-overlay span:not(.ph),
.adel-modal-overlay td,
.adel-modal-overlay th,
.adel-modal-overlay h1,
.adel-modal-overlay h2,
.adel-modal-overlay h3,
.adel-modal-overlay h4,
.adel-modal-overlay h5,
.adel-modal-overlay h6,
.adel-modal-overlay strong,
.adel-modal-overlay div:not(.ph):not(.status-circle),
.adel-confirm-overlay button,
.adel-confirm-overlay p,
.adel-confirm-overlay span:not(.ph),
.adel-confirm-overlay h1,
.adel-confirm-overlay h2,
.adel-confirm-overlay h3,
.adel-confirm-overlay h4,
.adel-confirm-overlay strong {
    font-family: 'Poppins', sans-serif !important;
}

.adel-formulario-wrapper h3, 
.adel-modal-content h2, 
.adel-confirm-title, 
.adel-notificacao h4 {
    font-weight: 600 !important; 
    letter-spacing: -0.01em !important;
}

/* ── Formulários (Inputs, Selects, Textareas) ── */
.adel-formulario-wrapper {
    background: var(--adel-bg-card) !important;
    padding: 32px !important;
    border: 1px solid var(--adel-border-light) !important;
    border-radius: var(--adel-radius-lg) !important;
    box-shadow: var(--adel-shadow) !important;
    margin: 20px auto !important;
}

.adel-formulario-wrapper h3 {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 0 24px !important;
    color: var(--adel-primary) !important;
    border-bottom: 1px solid var(--adel-border-light) !important;
    padding-bottom: 16px !important;
}

.adel-form-requisicao label,
.adel-modal-sidebar label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--adel-text-muted) !important;
    display: block !important;
    margin-bottom: 6px !important;
    margin-top: 12px !important;
}

.adel-form-requisicao input,
.adel-form-requisicao select,
.adel-form-requisicao textarea,
.adel-modal-sidebar input,
.adel-modal-sidebar select,
.adel-modal-sidebar textarea {
    background: var(--adel-bg-main) !important;
    border: 1px solid var(--adel-border) !important;
    padding: 10px 14px !important;
    color: var(--adel-text) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border-radius: var(--adel-radius-md) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.01) !important;
    transition: border-color 0.2s, background-color 0.2s !important;
    width: 100% !important;
}

.adel-form-requisicao input:focus,
.adel-form-requisicao select:focus,
.adel-form-requisicao textarea:focus,
.adel-modal-sidebar input:focus,
.adel-modal-sidebar select:focus,
.adel-modal-sidebar textarea:focus {
    background: #ffffff !important;
    border-color: var(--adel-accent) !important;
    outline: none !important;
}

.adel-form-requisicao textarea,
.adel-modal-sidebar textarea {
    min-height: 80px !important;
    resize: vertical !important;
}

/* ── Selects Customizados para Formulários ── */
.form-custom-dropdown {
    width: 100% !important;
    min-width: 100% !important;
    margin-top: 0 !important;
    position: relative !important;
}

.form-custom-dropdown .dropdown-trigger {
    background: var(--adel-bg-main) !important;
    border: 1px solid var(--adel-border) !important;
    padding: 10px 14px !important;
    color: var(--adel-text) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border-radius: var(--adel-radius-md) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.01) !important;
}

.form-custom-dropdown .dropdown-list {
    max-height: 220px !important;
    border-color: var(--adel-border) !important;
    box-shadow: var(--adel-shadow-lg) !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    min-width: 100% !important;
    width: max-content !important;
    max-width: 380px !important;
    white-space: nowrap !important;
}

.form-custom-dropdown .dropdown-list::-webkit-scrollbar {
    width: 6px !important;
}

.form-custom-dropdown .dropdown-list::-webkit-scrollbar-track {
    background: var(--adel-bg-main) !important;
    border-radius: 0 var(--adel-radius-md) var(--adel-radius-md) 0 !important;
}

.form-custom-dropdown .dropdown-list::-webkit-scrollbar-thumb {
    background: var(--adel-border) !important;
    border-radius: 4px !important;
}

.form-custom-dropdown .dropdown-list::-webkit-scrollbar-thumb:hover {
    background: var(--adel-text-muted) !important;
}

.form-custom-dropdown .dropdown-list li.disabled-option {
    color: var(--adel-text-muted) !important;
    background: var(--adel-bg-main) !important;
    cursor: not-allowed !important;
}
.form-custom-dropdown .dropdown-list li.disabled-option:hover {
    background: var(--adel-bg-main) !important;
    color: var(--adel-text-muted) !important;
}

.form-custom-dropdown .dropdown-trigger::after {
    display: none !important;
}

/* ── Botões Globais (Efeitos Hover e Fluidos para Elementor) ── */
.button, button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
    border-radius: var(--adel-radius-md) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    border: 1px solid var(--adel-border) !important;
    background: #ffffff !important;
    color: var(--adel-text) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
    box-shadow: var(--adel-shadow-sm) !important;
}

.button:hover, button[type="submit"]:hover {
    background: var(--adel-bg-main) !important;
    border-color: var(--adel-text-muted) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--adel-shadow) !important;
}

.button:active, button[type="submit"]:active { 
    transform: translateY(0) scale(0.98) !important; 
}

.button-primary, button[type="submit"], #adel-btn-aprovar {
    background: var(--adel-primary) !important;
    color: #ffffff !important;
    border: none !important;
}
.button-primary:hover, button[type="submit"]:hover, #adel-btn-aprovar:hover {
    background: var(--adel-primary-hover) !important;
    color: #ffffff !important;
}

#adel-btn-recusar, #adel-btn-desaprovar {
    background: var(--adel-status-reprovado-light) !important;
    color: var(--adel-status-reprovado) !important;
    border: 1px solid var(--adel-status-reprovado) !important;
}
#adel-btn-recusar:hover, #adel-btn-desaprovar:hover {
    background: var(--adel-status-reprovado-light) !important;
    border-color: var(--adel-status-reprovado-hover) !important;
    color: var(--adel-status-reprovado-hover) !important;
    opacity: 0.9 !important;
}

#adel-btn-download {
    background: var(--adel-accent-light) !important;
    color: var(--adel-accent) !important;
    border: 1px solid var(--adel-accent) !important;
}
#adel-btn-download:hover { 
    background: var(--adel-accent-light) !important; 
    opacity: 0.9 !important;
}

/* ── Cabeçalho do Painel e Filtros (Responsividade Elevada) ── */
.adel-painel-topbar {
    background: #ffffff !important;
    padding: 20px 25px !important;
    margin-top: 20px !important;
    margin-bottom: 25px !important;
    border-radius: var(--adel-radius-md) !important;
    box-shadow: var(--adel-shadow) !important;
    display: flex !important;
    gap: 20px !important;
    align-items: flex-end !important;
    flex-wrap: wrap !important;
    border: none !important;
}

.adel-painel-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    flex: 1 1 250px !important;
}

.adel-painel-info h3 {
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: var(--adel-primary) !important;
    border: none !important;
    padding: 0 !important;
}

.adel-badge-count {
    background: var(--adel-bg-main) !important;
    color: var(--adel-text-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    border-radius: 50px !important;
    width: fit-content !important;
}

.adel-painel-controls {
    display: flex !important;
    align-items: flex-end !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
    flex: 999 1 auto !important;
}

.adel-filter-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.adel-filter-group label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--adel-text-muted) !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
}

.adel-sort-group {
    display: flex !important;
    background: #ffffff !important;
    border: 1px solid var(--adel-border) !important;
    border-radius: var(--adel-radius-md) !important;
    padding: 4px !important;
    gap: 6px !important;
}

.adel-btn-sort {
    background: transparent !important;
    border: none !important;
    padding: 8px 15px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--adel-text-muted) !important;
    border-radius: var(--adel-radius-sm) !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}
.adel-btn-sort:hover { color: var(--adel-primary) !important; }
.adel-btn-sort.active {
    background: var(--adel-accent-light) !important;
    color: var(--adel-accent) !important;
    border: 1px solid var(--adel-accent) !important;
}

/* ── Dropdown Customizado ── */
.custom-dropdown { 
    position: relative !important; 
    min-width: 220px !important; 
}

.dropdown-trigger { 
    padding: 10px 15px !important; 
    background: #ffffff !important; 
    border: 1px solid var(--adel-border) !important; 
    border-radius: var(--adel-radius-md) !important; 
    font-size: 13px !important; 
    font-weight: 500; 
    cursor: pointer !important; 
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
    color: var(--adel-text) !important;
    transition: border-color 0.2s !important;
}
.dropdown-trigger:hover { border-color: var(--adel-accent) !important; }
.dropdown-trigger::after { 
    content: "▼" !important; 
    font-size: 9px !important; 
    color: var(--adel-text-muted) !important; 
    margin-left: 10px !important; 
    transition: transform 0.2s !important; 
}

.custom-dropdown.open .dropdown-trigger::after { 
    transform: rotate(180deg) !important; 
}

.dropdown-list { 
    display: none !important; 
    position: absolute !important; 
    top: calc(100% + 5px) !important; 
    left: 0 !important; 
    background: #ffffff !important; 
    width: 100% !important; 
    z-index: 100 !important; 
    border-radius: var(--adel-radius-md) !important; 
    box-shadow: var(--adel-shadow-lg) !important; 
    list-style: none !important; 
    padding: 8px 0 !important; 
    border: 1px solid var(--adel-border-light) !important; 
    margin: 0 !important; 
    max-height: 250px !important; 
    overflow-y: auto !important;
}

.dropdown-list::-webkit-scrollbar {
    width: 6px !important;
}
.dropdown-list::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
    border-radius: 4px !important;
}
.dropdown-list::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 4px !important;
}
.dropdown-list::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

.custom-dropdown.open .dropdown-list { 
    display: block !important; 
    animation: adel-fade-in 0.2s ease !important; 
}

@keyframes adel-fade-in { 
    from { opacity: 0; transform: translateY(-5px); } 
    to { opacity: 1; transform: translateY(0); } 
}

.dropdown-list li { 
    padding: 10px 15px !important; 
    font-size: 13px !important; 
    font-weight: 500 !important; 
    cursor: pointer !important; 
    color: var(--adel-text) !important; 
    transition: background 0.2s, color 0.2s !important; 
}
.dropdown-list li:hover { 
    background: var(--adel-bg-main) !important; 
    color: var(--adel-accent) !important; 
}

/* ── Tabela de Listagem (Sem bordas externas/internas - Cores Claras Originais) ── */
.adel-tabela-container {
    background: #ffffff !important;
    border-radius: 10px !important;
    box-shadow: var(--adel-shadow) !important;
    border: none !important; /* Sem borda ao redor da listagem conforme solicitado */
    margin-top: 0 !important;
    overflow-x: auto !important; /* Habilita scroll horizontal em telas menores */
    width: 100% !important;
}

/* Customização de Scrollbar para a Tabela */
.adel-tabela-container::-webkit-scrollbar {
    height: 8px !important;
}
.adel-tabela-container::-webkit-scrollbar-track {
    background: var(--adel-bg-main) !important;
}
.adel-tabela-container::-webkit-scrollbar-thumb {
    background: var(--adel-border) !important;
    border-radius: 4px !important;
}
.adel-tabela-container::-webkit-scrollbar-thumb:hover {
    background: var(--adel-text-muted) !important;
}

.adel-tabela {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    margin: 0 !important;
    min-width: 800px !important;
}

.adel-tabela thead, .adel-tabela thead tr {
    border: none !important;
    background: #f8fafb !important; /* Fundo original do cabeçalho da tabela */
}

.adel-tabela th {
    padding: 20px !important;
    text-align: left !important;
    font-size: 14px !important;
    color: var(--adel-text-muted) !important;
    font-weight: 600 !important;
    border: none !important;
}

.adel-tabela td {
    padding: 16px 20px !important;
    font-size: 14px !important;
    color: var(--adel-text) !important;
    border: none !important; /* Sem bordas internas conforme solicitado */
    vertical-align: middle !important;
}

.adel-tabela tr:nth-child(even) { background-color: #fafbfc !important; } /* Fundo alternativo original */
.adel-tabela tr:hover { background-color: #f1f6f9 !important; } /* Fundo hover original */

/* ── Botões de Ação na Tabela ── */
.adel-btn-previa,
.adel-btn-edit,
.adel-btn-delete,
a.adel-btn-table-download,
button.adel-btn-table-download,
.adel-btn-anexo,
.adel-btn-anexo-done,
.adel-btn-emitir-vinculado {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 14px !important;
    border-radius: var(--adel-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
    box-shadow: var(--adel-shadow-sm) !important;
    margin: 0 4px !important;
}

/* Ver Prévia */
.adel-btn-previa {
    background: #ffffff !important;
    border: 1px solid var(--adel-border) !important;
    color: var(--adel-text-muted) !important;
}
.adel-btn-previa:hover {
    background: var(--adel-bg-main) !important;
    border-color: var(--adel-text-muted) !important;
    color: var(--adel-primary) !important;
    transform: translateY(-1px) !important;
}

/* Editar */
.adel-btn-edit {
    background: var(--adel-accent) !important;
    border: 1px solid var(--adel-accent-hover) !important;
    color: #ffffff !important;
}
.adel-btn-edit:hover {
    background: var(--adel-accent-hover) !important;
    border-color: var(--adel-accent-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Download na Tabela - Unificado */
a.adel-btn-table-download, 
button.adel-btn-table-download {
    background-color: var(--adel-accent-light) !important;
    border: 1px solid #bfdbfe !important;
    color: var(--adel-accent) !important;
}
a.adel-btn-table-download:hover, 
button.adel-btn-table-download:hover {
    background-color: #dbeafe !important;
    border-color: #93c5fd !important;
    color: var(--adel-accent-hover) !important;
    transform: translateY(-1px) !important;
}

/* Lixeira */
.adel-btn-delete {
    background: var(--adel-status-reprovado-light) !important;
    border: 1px solid var(--adel-status-reprovado) !important;
    color: var(--adel-status-reprovado) !important;
}
.adel-btn-delete:hover {
    background: var(--adel-status-reprovado-light) !important;
    border-color: var(--adel-status-reprovado-hover) !important;
    color: var(--adel-status-reprovado-hover) !important;
    transform: translateY(-1px) !important;
}

/* ── Círculos e Emblemas de Status ── */
.adel-status-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--adel-text) !important;
    text-transform: capitalize !important;
    background: transparent !important;
    padding: 0 !important;
}

.adel-status-badge::before {
    content: '' !important;
    display: inline-block !important;
    height: 10px !important;
    width: 10px !important;
    border-radius: 50% !important;
}

/* Unificação de cores com o design system */
.adel-status-aprovado::before { background-color: var(--adel-status-aprovado) !important; box-shadow: 0 0 6px rgba(16, 185, 129, 0.3) !important; }
.adel-status-assinado::before { background-color: var(--adel-status-assinado) !important; box-shadow: 0 0 6px rgba(13, 148, 136, 0.3) !important; }
.adel-status-pago::before { background-color: var(--adel-status-pago) !important; box-shadow: 0 0 6px rgba(22, 163, 74, 0.3) !important; }
.adel-status-pendente::before { background-color: var(--adel-status-pendente) !important; box-shadow: 0 0 6px rgba(245, 158, 11, 0.3) !important; }
.adel-status-em-edicao::before { background-color: var(--adel-status-edicao) !important; box-shadow: 0 0 6px rgba(99, 102, 241, 0.3) !important; }
.adel-status-reprovado::before { background-color: var(--adel-status-reprovado) !important; box-shadow: 0 0 6px rgba(239, 68, 68, 0.3) !important; }

/* Legenda dos Círculos de Status */
.status-circle { 
    width: 18px !important; 
    height: 18px !important; 
    border-radius: 50% !important; 
    cursor: pointer !important; 
    transition: all 0.2s ease !important; 
    border: 2px solid transparent !important; 
    box-shadow: var(--adel-shadow-sm) !important; 
}
.status-circle:hover { transform: scale(1.15) !important; }
.status-circle.active { 
    transform: scale(1.15) !important; 
    border: 2px solid var(--adel-primary) !important;
    box-shadow: 0 0 8px rgba(0,0,0,0.2) !important; 
}

.status-circle.status-pendente { background-color: var(--adel-status-pendente) !important; }
.status-circle.status-em-edicao { background-color: var(--adel-status-edicao) !important; }
.status-circle.status-aprovado { background-color: var(--adel-status-aprovado) !important; }
.status-circle.status-assinado { background-color: var(--adel-status-assinado) !important; }
.status-circle.status-pago { background-color: var(--adel-status-pago) !important; }
.status-circle.status-reprovado { background-color: var(--adel-status-reprovado) !important; }

/* ── Mesa de Trabalho (Modal Split com Correção de Altura de Prévia) ── */
.adel-modal-overlay {
    display: none;
    position: fixed !important;
    top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: rgba(15, 23, 42, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 10000 !important;
    align-items: center !important;
    justify-content: center !important;
}

.adel-modal-content {
    background: var(--adel-bg-main) !important;
    width: 95% !important;
    max-width: 1400px !important;
    height: 92vh !important;
    border-radius: var(--adel-radius-lg) !important;
    padding: 24px !important;
    box-shadow: var(--adel-shadow-xl) !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
}

.adel-modal-close {
    position: absolute !important;
    top: 24px !important; right: 24px !important;
    background: #e2e8f0 !important;
    color: var(--adel-text-muted) !important;
    border: none !important;
    width: 36px !important; height: 36px !important;
    border-radius: var(--adel-radius-sm) !important;
    cursor: pointer !important;
    font-weight: bold !important;
    font-size: 16px !important;
    transition: all 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.adel-modal-close:hover { 
    background: #cbd5e1 !important; 
    color: var(--adel-primary) !important; 
}

/* Correção de Altura Completa: Flexbox preenche todo o modal-content */
#adel-modal-body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: calc(100% - 40px) !important;
    height: calc(100% - 50px) !important; /* Força preenchimento de altura sob o flexbox */
}

.adel-modal-split {
    display: flex !important;
    gap: 20px !important;
    align-items: stretch !important;
    flex: 1 !important;
    min-height: 0 !important;
    height: 100% !important; /* Força preenchimento da altura vertical */
}

.adel-modal-pdf-container {
    flex: 2 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid var(--adel-border-light) !important;
    border-radius: var(--adel-radius-lg) !important;
    overflow: hidden !important;
    box-shadow: var(--adel-shadow) !important;
}

/* Forçar o Iframe a ocupar 100% da altura da caixa */
.adel-modal-pdf-container iframe {
    flex-grow: 1 !important;
    height: 100% !important;
    border: none !important;
}

.adel-botoes-container {
    padding: 16px 20px !important;
    background: #ffffff !important;
    border-top: 1px solid var(--adel-border-light) !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 12px !important;
}

.adel-modal-sidebar {
    flex: 1 !important;
    background: #ffffff !important;
    padding: 24px !important;
    border: 1px solid var(--adel-border-light) !important;
    border-radius: var(--adel-radius-lg) !important;
    height: 100% !important;
    overflow-y: auto !important;
    box-shadow: var(--adel-shadow) !important;
}
.adel-modal-sidebar::-webkit-scrollbar {
    width: 6px !important;
}
.adel-modal-sidebar::-webkit-scrollbar-track {
    background: #f8fafc !important;
    border-radius: 4px !important;
}
.adel-modal-sidebar::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 4px !important;
}
.adel-modal-sidebar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

.adel-modal-sidebar ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.adel-modal-sidebar ul li {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--adel-bg-main) !important;
}
.adel-modal-sidebar ul li strong {
    font-size: 11px !important;
    text-transform: uppercase !important;
    color: var(--adel-text-muted) !important;
    letter-spacing: .5px !important;
}
.adel-modal-sidebar ul li div[id^="display-"] {
    font-size: 14px !important;
    color: var(--adel-text) !important;
    margin-top: 4px !important;
    line-height: 1.5 !important;
}

.adel-edit-icon {
    cursor: pointer !important;
    font-size: 12px !important;
    text-decoration: none !important;
    color: var(--adel-accent) !important;
    float: right !important;
    background: var(--adel-accent-light) !important;
    padding: 3px 8px !important;
    border-radius: var(--adel-radius-sm) !important;
    transition: background 0.2s !important;
}
.adel-edit-icon:hover { background: #dbeafe !important; color: var(--adel-accent-hover) !important; }

.adel-lock-warning {
    background: var(--adel-warning-light) !important;
    color: var(--adel-warning-hover) !important;
    padding: 12px 16px !important;
    border-radius: var(--adel-radius-md) !important;
    border-left: 4px solid var(--adel-warning) !important;
    margin-bottom: 16px !important;
    font-size: 13px !important;
}

/* ── Modal de Confirmação Customizado ── */
.adel-confirm-overlay {
    display: none;
    position: fixed !important;
    top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: rgba(15, 23, 42, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 10005 !important;
    align-items: center !important;
    justify-content: center !important;
}

.adel-confirm-box {
    background: #ffffff !important;
    width: 90% !important;
    max-width: 400px !important;
    border-radius: var(--adel-radius-lg) !important;
    padding: 24px !important;
    box-shadow: var(--adel-shadow-xl) !important;
    text-align: center !important;
    animation: adel-zoom-in 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes adel-zoom-in {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.adel-confirm-icon {
    width: 48px !important;
    height: 48px !important;
    background: var(--adel-danger-light) !important;
    color: var(--adel-danger) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    margin: 0 auto 16px !important;
}

.adel-confirm-title {
    font-size: 18px !important;
    margin: 0 0 8px !important;
}

.adel-confirm-text {
    font-size: 14px !important;
    color: var(--adel-text-muted) !important;
    margin: 0 0 24px !important;
    line-height: 1.5 !important;
}

.adel-confirm-actions {
    display: flex !important;
    gap: 12px !important;
    justify-content: center !important;
}

.adel-confirm-actions .button {
    flex: 1 !important;
}

.adel-confirm-btn-danger { background: var(--adel-danger) !important; color: white !important; border: none !important; }
.adel-confirm-btn-danger:hover { background: var(--adel-danger-hover) !important; }

.adel-confirm-btn-warning { background: var(--adel-warning) !important; color: white !important; border: none !important; }
.adel-confirm-btn-warning:hover { background: var(--adel-warning-hover) !important; }

/* ── Alerta Global (Notificações) ── */
#adel-notificacoes-container {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    z-index: 10000 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.adel-notificacao {
    background: #ffffff !important;
    padding: 16px !important;
    border-radius: var(--adel-radius-md) !important;
    border: 1px solid var(--adel-border-light) !important;
    box-shadow: var(--adel-shadow-lg) !important;
    width: 340px !important;
    position: relative !important;
    animation: adel-slide-in 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
}

@keyframes adel-slide-in {
    from { transform: translateX(120%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}

.adel-notificacao-icon {
    background: var(--adel-accent-light) !important;
    color: var(--adel-accent) !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    font-size: 16px !important;
}

.adel-notificacao-content { flex: 1 !important; }
.adel-notificacao h4 { margin: 0 0 4px 0 !important; font-size: 14px !important; }
.adel-notificacao p { margin: 0 !important; font-size: 13px !important; color: var(--adel-text-muted) !important; line-height: 1.5 !important; }

.adel-notificacao-fechar {
    background: transparent !important;
    border: none !important;
    color: var(--adel-text-muted) !important;
    cursor: pointer !important;
    padding: 6px !important;
    margin: -6px -6px 0 0 !important;
    border-radius: var(--adel-radius-sm) !important;
    transition: all 0.2s !important;
    font-size: 12px !important;
    line-height: 1 !important;
}
.adel-notificacao-fechar:hover { background: var(--adel-bg-main) !important; color: var(--adel-text) !important; }

.adel-notificacao-actions {
    margin-top: 12px !important;
    display: flex !important;
    gap: 8px !important;
}

.adel-btn-notif-previa {
    background: #ffffff !important;
    color: var(--adel-text) !important;
    border: 1px solid var(--adel-border) !important;
    border-radius: var(--adel-radius-sm) !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.adel-btn-notif-previa:hover {
    background: var(--adel-bg-main) !important;
    border-color: var(--adel-text-muted) !important;
    color: var(--adel-text) !important;
}

.adel-btn-notif-download {
    background: var(--adel-accent-light) !important;
    border: 1px solid var(--adel-accent) !important;
    color: var(--adel-accent) !important;
}
.adel-btn-notif-download:hover {
    background: var(--adel-accent-light) !important;
    border-color: var(--adel-accent-hover) !important;
    color: var(--adel-accent-hover) !important;
}

.adel-modal-pdf-container iframe {
    user-select: none !important;
    -webkit-user-select: none !important;
}

.adel-input-search, .adel-input-date {
    padding: 10px 12px !important;
    border: 1px solid var(--adel-border) !important;
    border-radius: var(--adel-radius-md) !important;
    font-size: 13px !important;
    background: #ffffff !important;
    color: var(--adel-text) !important;
    transition: all 0.2s !important;
}
.adel-input-search:focus, .adel-input-date:focus {
    border-color: var(--adel-accent) !important;
    outline: none !important;
}

.adel-date-range {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.adel-date-range span {
    font-size: 12px !important;
    color: var(--adel-text-muted) !important;
    font-weight: 500 !important;
}

.adel-tabela th.sortable {
    cursor: pointer !important;
    user-select: none !important;
    transition: background 0.2s !important;
    position: relative !important;
    padding-right: 25px !important;
}
.adel-tabela th.sortable:hover {
    background: var(--adel-bg-main) !important;
    color: var(--adel-primary) !important;
}
.sort-icon {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 10px !important;
    color: var(--adel-text-muted) !important;
}
.adel-tabela th.sortable.active .sort-icon {
    color: var(--adel-primary) !important;
    font-weight: bold !important;
}

.adel-btn-anexo {
    border: 1px solid var(--adel-border) !important;
    background: var(--adel-bg-main) !important;
}
.adel-btn-anexo:hover { 
    background: var(--adel-bg-main) !important;
    border-color: var(--adel-text-muted) !important;
    color: var(--adel-primary) !important;
    transform: translateY(-1px) !important;
}

.adel-btn-anexo-done {
    background: #e6fbf4 !important; 
    color: #047857 !important; 
    border: 1px solid #a7f3d0 !important; 
}
.adel-btn-anexo-done:hover { 
    background: #d1fae5 !important; 
    border-color: #34d399 !important; 
    color: #065f46 !important;
    opacity: 0.9 !important;
    transform: translateY(-1px) !important;
}

.adel-btn-emitir-vinculado {
    background: #e0f2fe !important;
    border: 1px solid #bae6fd !important;
    color: #0284c7 !important;
}
.adel-btn-emitir-vinculado:hover {
    background: #0284c7 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.adel-btn-custom-file {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    border: 1px solid var(--adel-border) !important;
    color: var(--adel-text-muted) !important;
    padding: 10px 24px !important;
    border-radius: var(--adel-radius-md) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: var(--adel-shadow-sm) !important;
}

.adel-btn-custom-file:hover {
    background: var(--adel-bg-main) !important;
    border-color: var(--adel-text-muted) !important;
    color: var(--adel-primary) !important;
    box-shadow: var(--adel-shadow) !important;
}



/* ── Tooltips Customizados ── */
.adel-tooltip {
    position: relative !important;
    display: inline-block !important;
}

.adel-tooltip::before,
.adel-tooltip::after {
    position: absolute !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.2s ease-in-out !important;
    z-index: 9999 !important;
    pointer-events: none !important;
}

.adel-tooltip::after {
    content: attr(data-tooltip) !important;
    bottom: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
    background-color: var(--adel-primary) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: normal !important;
    padding: 8px 12px !important;
    border-radius: var(--adel-radius-sm) !important;
    white-space: normal !important;
    width: max-content !important;
    max-width: 250px !important;
    box-shadow: var(--adel-shadow-lg) !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.adel-tooltip::before {
    content: '' !important;
    bottom: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(6px) !important;
    border-width: 6px !important;
    border-style: solid !important;
    border-color: var(--adel-primary) transparent transparent transparent !important;
}

.adel-tooltip:hover::after {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(-8px) !important;
}
.adel-tooltip:hover::before {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(-2px) !important;
}

/* ── Media Queries (Responsividade para Dispositivos Menores / Elementor) ── */
@media (max-width: 992px) {
    .adel-modal-split {
        flex-direction: column !important;
        height: auto !important;
        overflow-y: auto !important;
        gap: 15px !important;
    }
    
    .adel-modal-pdf-container {
        height: 450px !important;
        flex: none !important;
    }
    
    .adel-modal-sidebar {
        height: auto !important;
        flex: none !important;
        overflow-y: visible !important;
    }
    
    .adel-modal-content {
        height: auto !important;
        max-height: 95vh !important;
        overflow-y: auto !important;
    }
}

@media (max-width: 768px) {
    .adel-painel-topbar {
        padding: 15px !important;
    }
    
    .adel-painel-controls {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 10px !important;
    }
    
    .adel-filter-group, 
    .custom-dropdown, 
    .adel-input-search, 
    .adel-input-date, 
    .adel-date-range {
        width: 100% !important;
    }
    
    .adel-sort-group {
        width: 100% !important;
        justify-content: space-between !important;
    }
    
    .adel-btn-sort {
        flex: 1 !important;
        text-align: center !important;
    }
}
