/* --- CUSTOM MANOBRAS ADMIN CSS --- */

/* ==========================================================================
   1. CABEÇALHO (Datas e Horas)
   ========================================================================== */
label[for="id_hora_inicio"],
label[for="id_hora_fim"] {
    display: none !important;
}

#id_hora_inicio, #id_hora_fim {
    display: unset;
    width: 50% !important;
    margin-bottom: -25px;
}
#id_data_inicio, #id_data_fim {
    display: unset;
    width: 50% !important;
    margin-bottom: -25px;
}
.vTimeField + a { 
    margin-left: 5px; 
}
.vTimeField { 
    margin-top: 0px!important;
}

/* ==========================================================================
   2. LAYOUT: MANOBRA PADRÃO E CHECKBOX RECARREGAR
   ========================================================================== */

/* Alinha todos os elementos da linha verticalmente no meio e evita quebra indesejada */
.field-manobra_do_banco.field-recarregar_manobras .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important; 
}

/* O Select da Manobra e seu espaço */
.fieldBox.field-manobra_do_banco {
    flex-grow: 1 !important; /* Faz o select crescer para ocupar o espaço livre de forma fluida */
    max-width: 450px !important; /* Limite máximo para o select não esticar infinitamente */
    margin-right: 20px !important;
}
.fieldBox.field-manobra_do_banco .select2-container {
    width: 100% !important;
}

/* Remove os botões de adicionar/editar nativos ao lado do select (mantém a tela limpa) */
.fieldBox.field-manobra_do_banco .related-widget-wrapper-link {
    display: none !important;
}

/* O Label do Checkbox (⚠️ Recarregar) */
label[for="id_recarregar_manobras"] {
    color: #dc3545 !important; /* Vermelho padrão de alerta */
    font-weight: bold !important;
    margin-bottom: 0 !important; 
    padding-top: 0 !important;
    margin-right: 5px !important;
    white-space: nowrap !important;
}

/* O container do checkbox em si */
.fieldBox.field-recarregar_manobras {
    display: flex !important;
    align-items: center !important;
    padding-top: 0 !important;
}

/* O checkbox (Aumentado levemente para melhorar a UX/clique) */
.fieldBox.field-recarregar_manobras input[type="checkbox"] {
    transform: scale(1.4);
    margin: 0 10px 0 5px !important;
    cursor: pointer;
}

/* Texto de ajuda ("Apaga manobras atuais...") */
.fieldBox.field-recarregar_manobras .help-block {
    margin: 0 !important;
    font-size: 0.8rem !important;
    color: #6c757d !important; /* Cinza discreto */
    white-space: nowrap !important;
}
/* ==========================================================================
   3. LIMPEZA VISUAL GERAL
   ========================================================================== */
.related-widget-wrapper-link { display: none !important; }
.inline-group .tabular td.original, .inline-group .tabular th.original { display: none !important; width: 0; }
.inline-group h2, fieldset h2 { text-transform: none !important; }

/* Remove margem do topo */
.col-12 .card {
    margin-top: 0 !important;
}

/* ==========================================================================
   4. LAYOUT RASCUNHO
   ========================================================================== */
.layout-rascunho .classe-isolacao, 
.layout-rascunho .classe-normalizacao {
    width: 100% !important; display: block; overflow-x: visible; 
}
.layout-rascunho .classe-isolacao table, 
.layout-rascunho .classe-normalizacao table {
    width: 100% !important; min-width: 100%; border-spacing: 0 5px; 
}
.layout-rascunho .classe-isolacao td,
.layout-rascunho .classe-normalizacao td { vertical-align: middle !important; }

/* Colunas */
.layout-rascunho th.column-arrastar { width: 30px !important; }
.layout-rascunho th.column-ordem { width: 55px !important; text-align: center; }
.layout-rascunho td.field-ordem input { width: 55px !important; text-align: center; cursor: default; }
.layout-rascunho th.column-submanobra { width: 50px !important; text-align: center; }
.layout-rascunho td.field-submanobra { text-align: center; }
.layout-rascunho th.column-estacao { width: 120px !important; }
.layout-rascunho td.field-estacao select { width: 100% !important; margin-top: 6px; }

/* Ação */
.layout-rascunho th.column-descricao { width: auto !important; }
.layout-rascunho .classe-isolacao td.field-descricao,
.layout-rascunho .classe-normalizacao td.field-descricao {
    width: auto !important; padding: 0 10px !important; vertical-align: middle !important;
}
.layout-rascunho .classe-isolacao td.field-descricao textarea,
.layout-rascunho .classe-normalizacao td.field-descricao textarea {
    width: 100% !important; box-sizing: border-box; display: block;
    height: 38px !important; min-height: 38px; padding: 6px; resize: vertical;
    border: 1px solid #ccc; border-radius: 4px; margin: 0 !important; 
}
.layout-rascunho .classe-isolacao td.field-descricao textarea:focus,
.layout-rascunho .classe-normalizacao td.field-descricao textarea:focus { 
    height: 100px !important; border-color: #447e9b; box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

/* Finais */
.layout-rascunho th.column-essencial { width: 70px !important; text-align: center; }
.layout-rascunho td.field-essencial { text-align: center; }
.layout-rascunho th.column-DELETE { width: 50px !important; text-align: center; }
.layout-rascunho td.delete { text-align: center; }
.layout-rascunho .classe-isolacao th:last-child,
.layout-rascunho .classe-normalizacao th:last-child { width: 60px !important; text-align: center !important; }
.layout-rascunho .classe-isolacao td:last-child,
.layout-rascunho .classe-normalizacao td:last-child { vertical-align: middle !important; }

/* ==========================================================================
   5. ANEXOS
   ========================================================================== */
.classe-anexos table { table-layout: auto !important; width: 100%; }
.classe-anexos td { vertical-align: middle !important; padding: 10px 5px !important; }
.classe-anexos textarea { width: 90%; height: auto; }
.classe-anexos { counter-reset: anexo-counter; }
.classe-anexos tr.form-row:not(.empty-form) { counter-increment: anexo-counter; }
.classe-anexos .field-get_titulo_display p {text-transform: uppercase !important;}
.classe-anexos td.field-link_arquivo_display a {
    color: #0a003c !important; text-decoration: none !important;
    text-transform: uppercase !important; font-weight: none !important;
    background: #f0f0f0; 
}
.classe-anexos td.field-link_arquivo_display a:hover { color: #0a003c !important; }
.classe-anexos .field-get_titulo_display span.contador-anexo::before {
    content: counter(anexo-counter); font-weight: bold; color: #666; font-size: 14px;
}
.classe-anexos th.column-descricao { width: 100% !important; } 
.campo-bloqueado-dinamico {
    background-color: #eee !important; pointer-events: none; opacity: 0.7; border: 1px solid #ddd !important;
}

/* ==========================================================================
   6. LAYOUT EXECUÇÃO
   ========================================================================== */
.layout-execucao .classe-isolacao table, 
.layout-execucao .classe-normalizacao table { width: 100% !important; }
.layout-execucao th.column-ordem { width: 20px !important; }
.layout-execucao th.column-get_estacao_display { width: 100px !important; }
.layout-execucao .classe-isolacao th.column-descricao { width: 50% !important; } 
.layout-execucao .classe-normalizacao th.column-descricao { width: 50% !important; } 
.layout-execucao th.column-operador_emissao, 
.layout-execucao th.column-executante { width: 100px !important; }
.layout-execucao th.column-data_emissao, 
.layout-execucao th.column-data_execucao { width: 100px !important; }
.layout-execucao th.column-hora_emissao, 
.layout-execucao th.column-hora_execucao { width: 100px !important; }
.layout-execucao th.column-essencial { width: 20px !important; }

.layout-execucao td.field-operador_emissao, 
.layout-execucao td.field-executante,
.layout-execucao td.field-data_emissao, 
.layout-execucao td.field-hora_emissao, 
.layout-execucao td.field-data_execucao, 
.layout-execucao td.field-hora_execucao {
    white-space: nowrap !important; padding: 4px !important; vertical-align: middle !important;
}
.layout-execucao td.field-data_emissao > *, .layout-execucao td.field-hora_emissao > *,
.layout-execucao td.field-data_execucao > *, .layout-execucao td.field-hora_execucao > * {
    display: inline-flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; width: auto !important;
}
.layout-execucao td.field-data_emissao br, .layout-execucao td.field-hora_emissao br,
.layout-execucao td.field-data_execucao br, .layout-execucao td.field-hora_execucao br { display: none !important; }

.layout-execucao td.field-data_emissao input, 
.layout-execucao td.field-data_execucao input {
    width: 108px !important; min-width: 108px !important; margin-right: 5px !important; display: inline-block !important;
}
.layout-execucao td.field-hora_emissao input, 
.layout-execucao td.field-hora_execucao input {
    width: 62px !important; min-width: 62px !important; margin-right: 5px !important; display: inline-block !important;
}
.layout-execucao td.field-operador_emissao input, 
.layout-execucao td.field-executante input { width: 90px !important; }

.layout-execucao .datetimeshortcuts { display: inline-block !important; white-space: nowrap !important; font-size: 0 !important; }
.layout-execucao .datetimeshortcuts a:first-child {
    font-size: 11px !important; font-weight: bold; text-transform: uppercase; text-decoration: none;
    color: #447e9b !important; background: #f0f0f0; padding: 2px 5px; border-radius: 3px; vertical-align: middle;
}
.layout-execucao .datetimeshortcuts .icon-calendar, .layout-execucao .datetimeshortcuts .icon-clock,
.layout-execucao .datetimeshortcuts img, .layout-execucao .datetimeshortcuts span { display: none !important; }

tr.is-submanobra td { background-color: #f4fbfd !important; }
tr.is-submanobra .field-acao textarea { border-left: 4px solid #2196f3; }

.painel-acoes-btn {
    display: inline-block; padding: 6px 12px; margin-right: 5px; margin-bottom: 5px;
    background-color: white; color: #444; border: 1px solid #ccc; border-radius: 4px;
    text-decoration: none; font-weight: 600; font-size: 11px; text-transform: uppercase;
    transition: all 0.2s ease; cursor: pointer;
}
.painel-acoes-btn:hover {
    background-color: #f0f0f0; border-color: #999; color: #222; transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.painel-acoes-btn.btn-aprovar { border-left: 3px solid #28a745; }
.painel-acoes-btn.btn-reverter { border-left: 3px solid #dc3545; }
.painel-acoes-btn.btn-execucao { border-left: 3px solid #007bff; }
.painel-acoes-btn.btn-finalizar { border-left: 3px solid #17a2b8; }
.classe-isolacao tr.has_original td, .classe-normalizacao tr.has_original td { padding-top: 0.5em !important; }
.field-tipo_documento .readonly, .field-tipo_documento div[style*="text-align:left"] {
    padding-top: 4px; font-weight: normal !important; color: #444; font-size: 1rem;
}

.field-servico_executar textarea, .field-observacoes textarea, .field-descricao_isolacao textarea,
.field-solicitacao_txt textarea, .field-de_acordo_txt textarea {
    height: 100px !important;
    width: 100%;
    color: #444;
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 8px 0 0 20px;
 }

.dynamic-itens_diarios td { font-size: 0.9375rem !important; }
.readonly { font-size: .9375remrem!important; color: #212529 !important;}
.btn-padrao {
    display: inline-block; background-color: #17a2b8; color: white !important;
    padding: 6px 12px; border-radius: 4px; text-decoration: none !important; border: none;
    font-size: 0.8125rem; cursor: pointer; transition: background 0.2s; text-align: center;
}
.btn-padrao:hover { background-color: #a0b4d2; color: white !important; }
.btn-padrao.btn-sucesso { background-color: #1486ff; }
.btn-padrao.btn-perigo  { background-color: #dc3545; }
.btn-padrao.btn-aviso   { background-color: #f9b50b; color: #333 !important; }
.btn-padrao.btn-info    { background-color: #17a2b8; }
.btn-padrao.btn-secundario { background-color: #6c757d; }
.btn-outline-secondary { color: white !important; }
.btn-outline-secondary:hover { background-color: #a0b4d2; color: white !important; }

.dynamic-itens_diarios input[type="text"], .dynamic-itens_diarios input[type="time"], .dynamic-itens_diarios select {
    width: 106px !important; min-width: 106px !important; max-width: 106px !important; box-sizing: border-box;
}
.dynamic-itens_diarios input[name$="observacoes"] { width: 150px !important; max-width: 150px !important; }
.dynamic-itens_diarios td, .dynamic-itens_diarios th { vertical-align: middle !important; padding-top: 8px !important; }

.agora-link {
    font-size: 10px; color: #007bff; cursor: pointer; margin-left: 3px; text-decoration: none;
    font-weight: bold; border: 1px solid #cce5ff; padding: 1px 4px; border-radius: 3px;
    background: #f8f9fa; display: inline-block;
}
.agora-link:hover { background: #007bff; color: white; }

body.app-intervencoes.model-ai.change-form .vTextField, 
body.app-intervencoes.model-ai.change-form select[multiple], 
body.app-intervencoes.model-ai.change-form .vLargeTextField, 
body.app-intervencoes.model-ai.change-form select {
    width: 100% !important; box-sizing: border-box; max-width: 100%!important; 
}

.campo-travado-limpo {
    border: none !important; background-color: transparent !important; color: #555 !important;
    box-shadow: none !important; padding-left: 0 !important; cursor: default !important; font-weight: 500;
}
.campo-travado-limpo + span.datetimeshortcuts, .campo-travado-limpo + a.fb-show-button { display: none !important; }
textarea.campo-travado-limpo { resize: none; height: auto; }

.form-row.field-pode_realizar_noite.field-pode_realizar_chuva { display: flex; flex-wrap: wrap; justify-content: flex-start; }
.form-row.field-pode_realizar_noite.field-pode_realizar_chuva .field-box {
    flex: 0 0 50%; display: flex; align-items: center; padding-right: 20px; box-sizing: border-box;
}
.form-row.field-pode_realizar_noite.field-pode_realizar_chuva label { width: auto !important; padding-top: 8px; }
.form-row.field-pode_realizar_noite.field-pode_realizar_chuva input[type="checkbox"],
.form-row .checkbox-row input[type="checkbox"] { transform: scale(1.2); }

.form-row .vTimeField { width: 80px !important; min-width: 80px; }
.form-row .vDateField { width: 110px !important; min-width: 110px; }
.form-row.field-data_inicio .field-box, .form-row.field-data_fim .field-box {
    float: left; display: block; clear: none; margin-right: 10px;
}
.form-row.field-data_inicio:after, .form-row.field-data_fim:after { content: ""; display: table; clear: both; }
.vDateField, .vTimeField { margin-right: 5px; }
.form-multiline > div { padding-bottom: 0px; }
.classe-diaria .datetimeshortcuts { display: inline-block !important; vertical-align: middle; }

.status-badge { padding: 3px 8px; border-radius: 4px; text-align: center; min-width: 80px; }
.badge-vencido { background-color: #dc3545; color: white; }
.badge-alerta  { background-color: #f9b50b; color: #fff; }
.btn-acao {
    padding: 5px 10px; font-size: 0.8125rem; border-radius: 4px; text-decoration: none !important;
    color: white !important; display: inline-block; margin-right: 5px; border: none;
    cursor: pointer; transition: opacity 0.2s;
}
.btn-acao:hover { opacity: 0.85; }
.btn-verde    { background-color: #28a745; } 
.btn-vermelho { background-color: #dc3545; } 
.btn-azul     { background-color: #17a2b8; } 
.btn-cinza    { background-color: #79aec8; } 
.btn-amarelo  { background-color: #f9b50b; }

.txt-execucao { color: #007bff; font-weight: bold; 
    text-transform: uppercase;
}
/* .txt-cancelado { color: #ba2121; font-weight: bold; margin-right: 5px; }
.txt-concluido { color: #28a745; font-weight: bold; margin-right: 5px; } */
.txt-cancelado { display: none;}
.txt-concluido { display: none; }


.txt-pendencia { color: #e67e22; font-size: 10px; font-weight: bold; line-height: 1.2; display: inline-block; }
.acao-dinamica-container { display: flex; align-items: center; gap: 5px; }
fieldset.ocultar-painel { display: none !important; }

.change-form .col-lg-9 { flex: 0 0 100% !important; max-width: 100% !important; }
.change-form .col-lg-3 { display: none !important; }

textarea.mo-mensagem-grande {
    height: 400px !important; width: 98% !important; font-size: 14px; line-height: 1.5; padding: 10px; border: 1px solid #ccc; background-color: #fff;
}
textarea.mo-mensagem-custom {
    height: 400px !important; min-height: 400px !important; width: 98% !important; resize: vertical; font-size: 14px; box-sizing: border-box;
}
textarea.mo-mensagem-custom:disabled { color: #333 !important; opacity: 1 !important; cursor: text; }


/* ==========================================================================
   BOTÕES UNIFICADOS (PADRÃO SISTEMA / TOOLBAR)
   Transforma todos os botões customizados para o estilo nativo do Jazzmin
   ========================================================================== */

/* 1. CLASSE MESTRA DE BOTÕES */
/* Aplica o visual exato do Bootstrap (.btn) */
.btn-padrao, 
.painel-acoes-btn, 
.btn-acao,
.agora-link {
    display: inline-block !important;
    font-weight: 400 !important; /* Peso da fonte igual ao sistema */
    text-align: center !important;
    vertical-align: middle !important;
    user-select: none !important;
    border: 1px solid transparent !important;
    
    /* Espaçamento e Tamanho (Igual ao Toolbar) */
    padding: 0.375rem 0.75rem !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    border-radius: 0.25rem !important; /* 4px - Cantos arredondados padrão */
    
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !important;
    text-decoration: none !important;
    cursor: pointer !important;
    
    /* Sombra sutil igual ao Jazzmin */
    box-shadow: 0 1px 1px rgba(0,0,0,0.075) !important;
    margin-right: 5px !important;
    margin-bottom: 2px !important;
    
    color: #fff !important; /* Texto sempre branco */
}

/* 2. EFEITO HOVER (Passar o mouse) */
/* Escurece levemente o botão para dar feedback */
.btn-padrao:hover, 
.painel-acoes-btn:hover, 
.btn-acao:hover:not(.btn-verde):not(.btn-vermelho){
    filter: brightness(90%); /* Reduz o brilho em 10% */
    text-decoration: none !important;
    color: #0a003c !important;
    /* transform: translateY(-1px); Leve elevação tátil */
}


/* 3. BOTÕES PEQUENOS (DENTRO DE TABELAS) */
/* Se o botão estiver dentro de uma tabela, ele fica mais compacto (.btn-sm) */
.table td .btn-padrao, 
.table td .painel-acoes-btn, 
.table td .btn-acao {
    /* padding: 0.25rem 0.5rem !important; */
    font-size: 0.785rem !important;
    line-height: 1.5 !important;
    border-radius: 0.2rem !important;
}

/* ==========================================================================
   PALETA DE CORES (IDENTIDADE VISUAL DO SISTEMA)
   ========================================================================== */

/* Azul Padrão (Info / Execução) */
.btn-azul, .btn-execucao {
    background-color: #a0b4d2 !important;
    border-color: #a0b4d2 !important;
    text-transform: uppercase!important;
    color: #0a003c !important;
    /* padding: 0.25rem 0.5rem !important; */
    font-size: 0.785rem !important;
    line-height: 1.5 !important;
     border-radius: 0.2rem !important;
     margin-right: 5px !important
}
.btn-info {
    background-color: #a0b4d2 !important;
    border-color: #a0b4d2 !important;
    text-transform: uppercase!important;
    color: #0a003c !important;
}

/* Verde (Sucesso / Aprovar / Concluir) */
.btn-sucesso, .btn-verde, .btn-aprovar, .btn-finalizar {
    /* padding: 0.25rem 0.5rem !important; */
    font-size: 0.785rem !important;
    line-height: 1.5 !important;
    border-radius: 0.2rem !important;
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    text-transform: uppercase!important;
    color: #ffffff!important;
}

/* Vermelho (Perigo / Cancelar / Reverter) */
.btn-perigo, .btn-vermelho, .btn-reverter {
    /* padding: 0.25rem 0.5rem !important; */
    font-size: 0.785rem !important;
    line-height: 1.5 !important;
    border-radius: 0.2rem !important;
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    text-transform: uppercase!important;
    color: #ffffff;
}

/* Amarelo (Aviso / Atenção) */
.btn-aviso, .btn-amarelo {
    background-color: #f9b50b !important;
    border-color: #f9b50b !important;
    color: #0a003c !important; /* Texto preto no amarelo para contraste */
    padding: 0.25rem 0.5rem !important;
    font-size: 0.785rem !important;
    line-height: 1.5 !important;
    border-radius: 0.2rem !important;
    text-transform: uppercase;
}

/* Cinza (Secundário / Histórico) */
.btn-secundario, .btn-cinza {
  background-color: #a0b4d2 !important;
  border-color: #a0b4d2 !important;
  color: #0a003c !important;
  text-transform: uppercase;
}

/* Link "Agora" (Especificidade do Relógio) */
.agora-link {
    background-color: #6c757d !important; /* Cinza discreto */
    font-size: 0.7rem !important; /* Bem pequeno */
    padding: 2px 5px !important;
    margin-left: 5px !important;
}

/* ==========================================================================
   7. UNIFORMIZAÇÃO FINAL: LAYOUT (RESTRITO À TELA DE EDIÇÃO)
   Aplica correções APENAS no formulário de edição (.change-form),
   protegendo a listagem de documentos de alterações indesejadas.
   ========================================================================== */

/* 1. CONFIGURAÇÃO GERAL DE TABELAS (Apenas na edição/inlines) */
.change-form .table {
    margin-bottom: 0rem !important;
}

/* Alinhamento Vertical no Meio */
.change-form .table td, 
.change-form .table th,
.change-form fieldset.module .form-row,
.change-form fieldset.module .form-group {
    vertical-align: middle !important;
}

/* 2. ESTILO DOS LABELS (RÓTULOS) */
/* Retira o negrito SOMENTE na tela de edição. 
   Isso evita que os filtros da listagem fiquem pequenos demais. */
.change-form label:not(.form-check-label):not(.custom-file-label) {
    font-weight: normal !important;
    font-size: .9375rem !important;
}

/* 3. CORREÇÃO DO CARD JAZZMIN (Estrutura da Aba) */
/* Afeta apenas os cards de edição, não os cards do Dashboard ou Listagem */
.change-form .col-12 .card {
    border: 1px solid #ccc !important;
    background-color: #fff !important;
    box-shadow: none !important;
    margin-bottom: 20px !important;
    border-radius: 4px !important;
    margin-top: 0 !important;
}

/* 4. CABEÇALHO DA ABA (Título) */
.change-form .col-12 .card .card-header {
    background-color: #f4f6f9!important;
    border-bottom: 1px solid rgba(0,0,0,.125)!important;
    padding: 10px 15px !important;
    text-transform: none;
    color: #212529;
    font-size: 1.2rem !important;
    
}

/* Título limpo */
.change-form .col-12 .card .card-header .card-title,
.change-form .col-12 .card .card-header .card-title strong,
.change-form fieldset.module h2 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.2rem !important;
    font-weight: normal !important;
    font-family: inherit !important;
    text-transform: none !important;
    display: block !important;
}

/* 5. CORPO DA ABA (Padding Ajustado) */
.change-form .col-12 .card-body.p-5 {
    padding-top: 1.25rem  !important;
    padding-bottom: 0rem !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

.card .classe-anexos .card-body, 
.card .dynamic-itens_diarios .card-body, 
.card .classe-isolacao .card-body, 
.card .classe-normalizacao .card-body {
    padding-top: 0rem  !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
    padding-right: 0em !important;
} 

/* 6. ESPAÇAMENTO ENTRE CAMPOS (Linhas internas do formulário) */
.change-form .col-12 .card .card-body .form-group,
.change-form fieldset.module .form-row {
    padding: 8px 0 !important;
    margin-bottom: 0.33rem !important;
    border-bottom: 1px solid #dee2e6 !important;
}

/* Remove a linha do último item */
.change-form .col-12 .card .card-body .form-group:last-child,
.change-form fieldset.module .form-row:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   8. ALINHAMENTO DE TABELAS (Inlines)
   ========================================================================== */

/* Centraliza APENAS os Títulos das Colunas (Cabeçalho da Tabela) */
.table thead th {
    vertical-align: middle !important; /* Centraliza também na vertical */
}

/* Opcional: Se quiser centralizar também o CONTEÚDO das células, descomente abaixo: */
/*
.table tbody td {
    text-align: center !important;
}
*/

/* Exceção: Mantém a coluna de "Ação/Descrição" alinhada à esquerda (geralmente texto longo) */
.table th.column-descricao,
.table td.field-descricao,
.table th.column-acao,
.table td.field-acao {
    text-align: left !important;
    vertical-align: middle !important; /* Centraliza também na vertical */
}

/* ==========================================================================
   11. AJUSTE DE LARGURA DOS CAMPOS (75% / 25%)
   ========================================================================== */

/* Força a coluna de input a ocupar 75% nas telas de edição */
body.change-form fieldset.module .col-sm-7,
body.change-form .col-12 .card-body .col-sm-7 {
    flex: 0 0 75% !important;
    max-width: 75% !important;
    padding-right: 15px !important; /* Mantém respiro lateral */
}

/* Opcional: Garante que o label ocupe os 25% restantes corretamente */
body.change-form fieldset.module label.col-sm-3,
body.change-form .col-12 .card-body label.col-sm-3 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
}
[class*="sidebar-dark-"] {
  background-color: #0000ff;
}
/* ==========================================================================
   1. VISUAL DA BARRA LATERAL (SIDEBAR)
   ========================================================================== */

/* Força a cor de fundo AZUL (#0000FF) na barra lateral inteira */
.main-sidebar, 
.main-sidebar::before {
    background-color: #0000FF !important;
}

/* Ajusta a cor dos ícones e textos para Branco (para dar contraste no Azul) */
.nav-sidebar .nav-item > .nav-link {
    color: #ffffff !important;
}
.nav-sidebar .nav-item > .nav-link.active {
    background-color: #f9b50b !important;
    color: #0a003c !important;
}

/* ==========================================================================
   1. VISUAL GERAL DA BARRA LATERAL (COR AZUL)
   ========================================================================== */

/* Aplica o Azul #0000FF em toda a barra, não só na logo */
.main-sidebar, 
.main-sidebar::before {
    background-color: #0000FF !important;
}

/* Ajusta a cor dos cabeçalhos de seção (Gestão de Intervenções, etc) */
.nav-header {
    color: #a0b4d2 !important; /* Azul claro para contraste */
    font-weight: bold !important;
}

/* ==========================================================================
   2. LOGOMARCA (250px, QUADRADA E NO FLUXO)
   ========================================================================== */

/* Container da Logo */
aside.main-sidebar .brand-link {
    /* Layout: Flexbox para centralizar horizontalmente e verticalmente */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    
    /* Cor de fundo para garantir continuidade */
    background-color: #0000FF !important;
    
    /* Geometria e Posicionamento (Sua lógica de unset mantida aqui) */
    position: unset !important; /* CRUCIAL: Faz a logo ocupar espaço real e não flutuar */
    height: auto !important;
    width: 100% !important;
    
    /* Limpeza visual */
    padding: 10px !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

/* A Imagem da Logo */
aside.main-sidebar .brand-link img.brand-image {
    /* Reset de estilos nativos */
    float: none !important;
    margin: 0 !important;
    
    /* Visual Limpo */
    box-shadow: none !important;
    opacity: 1 !important;
    border-radius: 0 !important;

    /* Dimensões Controladas */
    max-height: 250px !important;
    width: auto !important;       /* Mantém proporção */
    max-width: 100% !important;   /* Evita estourar a largura se a sidebar for pequena */
    
    display: block !important;
    visibility: visible !important;
}

/* Esconde textos residuais */
aside.main-sidebar .brand-link .brand-text {
    display: none !important;
}

/* ==========================================================================
   3. PAINEL DO USUÁRIO (CENTRALIZADO VERTICALMENTE)
   ========================================================================== */

.sidebar .user-panel {
    /* Posicionamento */
    margin-top: 0px !important;
    padding-bottom: 20px !important;
    border-top: 1px solid #0055ff;    
    border-bottom: 1px solid #0055ff;

    /* TRANSFORMAÇÃO: Coloca foto em cima e nome embaixo */
    display: flex !important;
    flex-direction: column !important; 
    align-items: center !important;
    justify-content: center !important;
}

/* Centraliza o nome do usuário */
.sidebar .user-panel .info {
    padding-left: 0 !important;
    width: 100% !important;
    text-align: center !important;
}

/* Centraliza o ícone/foto */
.sidebar .user-panel .image {
    padding-left: 0 !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 30px !important;
}

/* Aumenta o ícone do usuário para combinar com a logo grande */
.sidebar .user-panel .image i {
    font-size: 2rem !important; /* Aumentado para destaque */
    color: white !important;
}

/* Links do painel em branco */
.sidebar .user-panel .info a {
    color: #ffffff !important;
    font-size: 1.1rem !important;
}

/* Ajuste de margem global (Sua correção do navbar-fixed) */
.layout-navbar-fixed.layout-fixed .wrapper .sidebar {
    margin-top: 0.5rem;

}

.navbar-primary {
    background-color: #007bff;
     color: #fff;
}
.mb-2 {
     border-bottom: 1px solid #000 !important;
     background-color: #0a003c!important;
}
.pr-3, .px-3 {
     color: #f9b50b;
}
.breadcrumb-item + .breadcrumb-item {
  color: #FFF !important;
}
.breadcrumb-item a{
  color: #a0b4d2 !important;
}
.btn-success,
.btn-success:not(:disabled):not(.disabled).hover, .btn-success:not(:disabled):not(.disabled):hover, .show > .btn-success.dropdown-toggle,
.btn-success:not(:disabled):not(.disabled).active, .btn-success:not(:disabled):not(.disabled):active
{
    color: #0a003c !important;
    background-color: #a0b4d2;
    border-color: #a0b4d2;
    text-transform: uppercase;
    margin-right: 2px;
}
.btn-success a{
    color: #0a003c !important;
}
.pb-3 {
     display: none;
}
.select2-container {
     min-width: 120px;
     width: 100% !important;
}
.btn-primary, .btn-primary:hover, .btn-primary:active {
     color: #fff;
     background-color: #007bff;
     border-color: #007bff;
}
.content-wrapper {
     background-color: #f4f6f9;
     /* background-color: #faf5f0;  */
}
/* .table-responsive thead {
    background-color: #a0b4d2;
    border-radius: 4px !important;  
    border: 5px solid #faf5f0 !important; 
}  */
 .table-responsive thead tr,
.fa-sort-alpha-down::before,
.fa-sort-alpha-up::before,
.table-responsive thead a{
    color: #212529 !important;
text-transform: uppercase;
  text-align: center;
}
 .table-responsive tbody tr{
  text-align: center;
}
 .table-responsive thead th{
    /* border: 1px solid #afc2dd !important; */
    color: #212529 !important;
 }
.select2-container--default .select2-selection--single{
     /* background-color: #f4f6f9!important; */
    background-color: #ffffff!important;
     color: #212529!important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #212529!important;
}
tbody, tbody a{
    color: #212529!important;

}
input[type="text"] {
    /* background-color: #f4f6f9; */
    background-color: #ffffff;
    color: #212529!important;
    font-size: 0.9375rem!important;
    width: 100%!important;
}
.main-footer {
    background-color: #a0b4d2;
     border-top: 1px solid #a0b4d2;
     color: #f4f6f9;
    padding: 0.3rem;
    font-size: 0px;
}

/* .card-body > .table {
  margin-bottom: 4px;
} */
 .classe-anexos p {
  margin-bottom: 0rem;
}
.djn-checkbox-select-all, .action-checkbox{
    display: none;
}
.field-data_programada p, .field-acoes_item  p, .manobras_reais-empty p,
.field-ordem p, .field-descricao p, .field-trava_visual p,
.field-data_emissao p, .field-operador_emissao p, .field-hora_emissao p,
.field-executante p, .field-hora_execucao p,
.field-status_ok p
{
     margin: 0.4rem; 
}
.field-link_arquivo_display p{
     margin-bottom: -6px; 
}
.field-hora_inicio_real p{
     margin-bottom: 0px; 
}
.autosave-field{
    margin-bottom: 2px !important;
}
@media (min-width: 768px) {
  .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.pb-4, .py-4 {
  padding-bottom: 1rem !important;
}
.card-header{
    background-color: #f4f6f9;
}

/* ==========================================================================
   12. ESTILO DAS TABELAS INLINES (Anexos, Dias e Manobras)
   Aplica visual limpo e listrado (stripped) apenas nas tabelas internas
   ========================================================================== */

/* 1. CABEÇALHO DAS TABELAS INLINES */
.change-form .inline-group .table thead {
    background-color: transparent !important; /* Respeita sua escolha de não ter fundo azul */
    border-bottom: 1px solid rgba(0,0,0,.125)!important;/* Linha padrão do Bootstrap para separar o thead */
}

/* Alinhamento e tipografia do cabeçalho */
.change-form .inline-group .table thead th {
    color: #212529 !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    text-align: center !important; /* Centraliza títulos */
    vertical-align: middle !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 12px 8px !important;
}

/* 2. EFEITO STRIPED (Zebra) NO CORPO DA TABELA */
/* Aplica um fundo cinza muito sutil APENAS nas linhas ímpares */
.change-form .inline-group .table tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.03) !important; 
}

/* Garante fundo branco nas linhas pares para dar contraste */
.change-form .inline-group .table tbody tr:nth-of-type(even) {
    background-color: #ffffff !important;
}

/* 3. EFEITO HOVER (Ao passar o mouse) */
.change-form .inline-group .table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075) !important;
}

/* 4. ALINHAMENTO DO CONTEÚDO DAS CÉLULAS */
.change-form .inline-group .table tbody td {
    vertical-align: middle !important;
    color: #212529 !important;
    text-align: center !important; /* Centraliza o conteúdo por padrão */
    border-top: 1px solid #dee2e6 !important; /* Linha fina entre as linhas */
    padding: 8px !important;
}

/* 5. EXCEÇÕES DE ALINHAMENTO (Textos longos devem ficar à esquerda) */
/* Anexos (Título) e Manobras (Descrição) */
.change-form .inline-group .table thead th.column-get_titulo_display,
.change-form .inline-group .table tbody td.field-get_titulo_display,
.change-form .inline-group .table thead th.column-descricao,
.change-form .inline-group .table tbody td.field-descricao {
    text-align: left !important;
}

/* 6. AJUSTE NOS INPUTS DENTRO DA TABELA INLINE */
/* Para que os inputs não fiquem "soltos" na célula, damos um fundo branco e borda sutil */
.change-form .inline-group .table tbody td input[type="text"]:not(.vTextField),
.change-form .inline-group .table tbody td input[type="time"],
.change-form .inline-group .table tbody td select {
    background-color: #ffffff !important;
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    color: #495057 !important;
    width: 50px;
    text-align: center;
}
.field-ordem input[type="text"] {
    background-color: #ffffff !important;
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    color: #495057 !important;
    width: 55px!important;
    text-align: center;
}
.change-form .inline-group .table tbody td textarea {
    height: 38px !important;
    width: 100%;
    color: #444;
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 8px 0 0 20px;
}
/* Quando o input ganha foco */
.change-form .inline-group .table tbody td input:focus,
.change-form .inline-group .table tbody td select:focus {
    border-color: #80bdff !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}
.datetimeshortcuts a, .datetimeshortcuts {
    color: #007bff!important;
}
body.app-intervencoes.model-ai.change-form .field-ordem .vTextField {
  width: 60px !important;
}
/* */
/* DOCUMENTOS VINCULADOS  */
/*  */
.selector-available-title,
.selector-chosen-title,
.selector-chooseall,
.selector-clearall,
.list-footer-display {
    display: none
}
/* Oculta os textos de ajuda (help texts), MAS MANTÉM visíveis as mensagens de ERRO */
body.change-form .col-12 .card-body .col-sm-7 .help-block:not(.text-red):not(.red) {
    display: none !important;
}

/* Garante que o erro fique em destaque */
body.change-form .col-12 .card-body .col-sm-7 .help-block.text-red {
    display: block !important;
    font-weight: bold;
    margin-top: 5px;
}
.selector .selector-filter label{
  height: 0px;
}
.selector .selector-filter {
  border: 0px solid #ccc;
  padding: 0px;
  margin-bottom: 8px;
  color: 212529;
}
.selector .selector-filter input{
    height: 38px;
}
.change-form .col-12 .card .ocultar-painel{
    display: none;
}
.selector-add, .selector-remove {
  height: 20px;
width: 20px;
}
.selector ul.selector-chooser {
  float: left;
  width: 4%;
  background-color: #fff;
  margin: 10em 0 0;
  padding: 8px;
}
.titulo-numero-gigante {
    font-size: 3rem !important;
    margin-left: 1.25rem !important; /* Aproximadamente 20px, alinha com o padding do card */
    color: #0a003c !important;
    /* font-weight: bold; */
    /* margin-bottom: 10px; Dá um respiro antes do card começar */
    text-transform: uppercase;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 5px;
  padding-right: 10px;

}

.field-acoes_item p {
    text-align: right !important;
}

.timeline > div > .fas, .timeline > div > .fa{
    background-color: #0000ff !important;
}

/* ==========================================================================
   BADGES DE STATUS E VALIDADE (Com Link)
   ========================================================================== */
.status-badge {
    padding: 4px 10px;
    border-radius: 12px; /* Arredondado estilo 'pílula' (Tag) 12 */
    text-align: center;
    min-width: 90px;
    display: inline-block;
    font-size: 0.75rem;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: transform 0.2s ease, filter 0.2s;
}

/* Efeito ao passar o mouse por ser um link */
.status-badge:hover {
    transform: scale(1.05);
    filter: brightness(90%);
}

/* 🔴 ALERTAS CRÍTICOS (Fundo Sólido para atrair os olhos) */
.badge-vencido { background-color: #dc3545; color: white !important; border: 1px solid #dc3545; }
.badge-alerta  { background-color: #f9b50b; color: white !important; border: 1px solid #f9b50b;}

/* 🔵 ESTADOS NORMAIS (Fundo transparente/Outline para não poluir a tela) */
.badge-vigente {
    background-color: transparent;
    color: #0000ff !important;
    border: 1px solid #0000ff;
}

.badge-historico {
    background-color: transparent;
    color: #a0b4d2 !important;
    border: 1px solid #a0b4d2;
}

/* ==========================================================================
   13. QUEBRA DE LINHA AUTOMÁTICA EM TEXTOS LONGOS (Tabelas Inlines)
   Sobrescreve o padrão "text-nowrap" do Jazzmin nas colunas de descrição
   ========================================================================== */

/* Aplica a quebra de linha na coluna "Ação" (descricao) e "Observações" */
.change-form .inline-group .table td.field-descricao,
.change-form .inline-group .table th.column-descricao,
.change-form .inline-group .table td.field-observacoes,
.change-form .inline-group .table th.column-observacoes {
    white-space: normal !important; /* Permite a quebra de linha automática */
    word-wrap: break-word !important; /* Quebra palavras muito longas se necessário */
    min-width: 300px !important; /* Garante uma largura mínima para o texto não ficar espremido */
    max-width: 500px !important; /* Evita que a coluna engula as outras */
}

/* Se o texto estiver apenas como leitura (dentro de <p>), preserva os "Enters" do usuário */
.change-form .inline-group .table td.field-descricao p,
.change-form .inline-group .table td.field-observacoes p {
    white-space: pre-wrap !important; /* Faz o wrap automático + respeita quebras manuais */
    line-height: 1.4 !important; /* Melhora o espaçamento entre as linhas */
    text-align: left !important; /* Garante que textos longos fiquem fáceis de ler */
}

.nav{
    margin-top: 35px;
}

.btn-outline-secondary {
    display: none!important;
}
.field-hora_fim_real p{
    margin-bottom: 0rem;
}
.inline-deletelink{
    font-size: 0.785rem !important;
    line-height: 1.5 !important;
    border-radius: 0.2rem !important;
    text-transform: uppercase!important;
    padding: 0.375rem 0.75rem !important;
    text-decoration: none;
}
.page-actions > a {
  margin-right: 0rem!important;
  margin-left: 0rem!important;
}
.fa-times-circle::before {
  color: #dc3545;
}
.fa-check-circle::before {
  color: #28a745;
}
.field-estacao p {
    margin-bottom: 0rem;
}
.small, small {
  margin-left: 10px;
}
.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {
  background-color: #fff!important;
}

/* =========================================================
   CORREÇÃO DA TELA DE LOGIN (Ícones na mesma linha)
   ========================================================= */
.login-box .input-group {
    flex-wrap: nowrap !important;
}

.login-box .input-group > .form-control {
    flex: 1 1 auto !important;
    width: 1% !important; /* Hack do Bootstrap para input-groups manterem proporção */
}
.login-box .card, .register-box .card {
  margin-bottom: 0;
  margin-top: 100px;
}

.login-box, .register-box {
  width: 560px;
  max-width: 100%;
}
.login-box-msg, .register-box-msg {
  margin: 0;
  padding: 0 20px 20px;
  text-align: center;
  /* text-transform: uppercase; */
  color: #7b8a8b;
}
.dropdown-menu-lg .dropdown-item {
  padding: .5rem 1rem;
  text-align: center;
}