/* =========================================================================
   COTELOGO - ARQUIVO CENTRAL DE ESTILOS (style.css)
   ========================================================================= */
/* 🟢 VERDE: Para criar, salvar, incluir ou confirmar dados */
.botao-confirmar {
    background-color: #28a745 !important;
    color: #ffffff !important;
    font-weight: bold;
    border-radius: 4px;
    border: none;
    padding: 8px 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.botao-confirmar:hover { 
    background-color: #218838 !important; 
}

/* 🔵 GRAFITE: Para editar, modificar ou alterar registros existentes */
.botao-modificar {
    background-color: #4b5563 !important; /* Cinza escuro/grafite */
    color: #ffffff !important;
    font-weight: bold;
    border-radius: 4px;
    border: none;
    padding: 6px 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.botao-modificar:hover { 
    background-color: #374151 !important; 
}

/* ⚪ CINZA CLARO: Exclusivo para ações de voltar e cancelar navegações */
.botao-voltar {
    background-color: #e5e7eb !important; /* Cinza claro suave */
    color: #374151 !important; /* Texto escuro para dar leitura */
    font-weight: bold;
    border-radius: 4px;
    border: 1px solid #d1d5db !important; /* Borda sutil de acabamento */
    padding: 8px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.botao-voltar:hover { 
    background-color: #d1d5db !important; 
    color: #1f2937 !important;
}

/* 🔴 VERMELHO: Para cancelar, excluir, remover ou inativar registros */
.botao-perigo {
    background-color: #dc3545 !important;
    color: #ffffff !important;
    font-weight: bold;
    border-radius: 4px;
    border: none;
    padding: 6px 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.botao-perigo:hover { 
    background-color: #bd2130 !important; 
}

/* 📊 TRANSPARENTE: Para os cabeçalhos de ordenação das tabelas */
/* Aplicado diretamente nas tags <th> para permitir o clique ordenável */
.botao-ordenar-tabela {
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

/* Sugestão de efeito: Ao passar o mouse, o cabeçalho ganha um fundo cinza suave */
.botao-ordenar-tabela:hover {
    background-color: #dcdcdc !important; /* Um tom sutil que destaca a coluna */
    color: #0056b3 !important;           /* Texto ganha um leve tom azul de link */
}

/* 🎫 Estilo Crachá/Badge discreto para clique de dados */
.botao-atalho-consulta {
    background-color: #f3f4f6 !important; /* Cinza bem claro */
    color: #1f2937 !important;           /* Texto escuro */
    border: 1px solid #e5e7eb !important;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.15s ease;
}

.botao-atalho-consulta:hover {
    background-color: #e5e7eb !important; /* Escurece o fundo de leve */
    color: #0056b3 !important;           /* Destaca o texto em azul */
}


/* --- ANIMAÇÕES E EFEITOS DE ZOOM --- */
.zoomm {
  transition: transform .2s ease-in-out;
  margin: 0 auto;
  height: 45%;
  min-height: 45%;
}

.zoomm .cardImagee {
  vertical-align: middle;
  display: flex;
  justify-content: center;
}

.zoomm .cardImagee .image {
  margin: 0 auto;
  max-width: 180px; /* CORRIGIDO: Removido os dois pontos duplicados */
  max-height: 180px;
}

.zoomm:hover {
  transform: scale(1.5); /* 150% de zoom ao passar o mouse */
}

/* --- ELEMENTOS FIXOS FLUTUANTES (BOTÕES DE TELA) --- */
.fixo {
  position: fixed;
  top: 80%;
  width: 8em;
  margin-top: 10em;
  z-index: 999;
}

.fixoprox {
  position: fixed;
  top: 70%;
  width: 8em;
  margin-top: 10em;
  z-index: 999;
}

/* --- CONFIGURAÇÃO DE FONTES E TIPOGRAFIA GLOBAIS --- */
/* NOTA: Se você utiliza a Roboto Condensed localmente, certifique-se de incluir a propriedade src: url() abaixo */
@font-face {
    font-family: "Roboto Condensed";
    font-style: normal;
    font-weight: 400;
}

h1, table, a, p {
    font-family: 'Roboto Condensed', sans-serif;
    text-decoration: none;
}

body {
    font-family: 'Open Sans Condensed', sans-serif;
    background: white;
}

pre {
  text-align: left;
  white-space: pre-line;
  overflow-wrap: break-word;
  word-wrap: normal;
}

/* --- FORMATÇÃO DE IMAGENS E FOTOS --- */
.col-md-3 a img {
    object-fit: contain;
    height: 50px;
    width: 50px;
    image-rendering: -webkit-optimize-contrast;
}

div.foto {
  align-items: center;
  display: inline-block;
}

button.foto {
  align-items: center;
  padding-left: 1px;
  padding-right: 1px;
}

img.fotoreduzida {
  max-height: 100px;
  max-width: 100px;
}

img.fotomedia {
  max-height: 180px;
  max-width: 180px;
}

/* --- ESTRUTURA E CORES DO TOPO (HEADER) --- */
header {
    background: #333333;
    background-color: rgba(0,0,0,0.05);
    height: 38px;
    line-height: 38px; /* CORRIGIDO: Alinhado com a altura do bloco para centralizar verticalmente */
    color: black;
    text-align: center;
    position: fixed;
    top: 0;
    left: 20%;
    right: 20%;
    align-items: center;
    z-index: 1000;
}

.row.header-s {
    margin: 25px 0;
}

.col-md-3.header-l {
    align-items: center;
    height: 50px;
    width: 90px;
}

.header-l-bg {
    background: rgba(255, 255, 255, 0.98);
    padding: 5px;
    border-radius: 0 0 10px 10px;
}

/* --- NAVEGAÇÃO SUPERIOR DA PLATAFORMA --- */
nav.header-nav ul {
    list-style: none;
    margin: unset;
    padding: unset;
    float: left;
}

nav.header-nav ul li {
    display: inline-block;
    vertical-align: middle;
    padding: 22px 2px;
    color: #9d9d9d;
    cursor: pointer;
}

nav.header-nav ul li:hover {
    background: #7dbec4;
    color: #333;
}

nav.header-nav ul li a {
    color: #FDF5E6;
    text-decoration: unset;
    padding: 22px 2px;
}

/* --- REGRAS DE TILES DO MENU --- */
.nav-bar { width: 100%; }
.nav-container { overflow: hidden; margin: 2.95% auto; }
.nav-menu { display: none; }
nav.nav-bar ul { list-style: none; }
.nav-list { margin: 0 auto; width: 100%; padding: 0; }
.nav-list li { float: left; width: 11.35%; }

.nav-list li a {
  display: block;
  color: #000000;
  text-shadow: 1px 1px 3px rgba(150, 150, 150, 1);
  padding: 25px 25px;
  font-size: 1.5em;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s linear; /* Simplificado removendo prefixos legados */
}

.nav-list li a:hover {
  filter: brightness(1.3);
  padding-top: 80px;
}

#tile1 { background: #00ced7; color: #2B2B2B; }
#tile2 { background: #00bbc3; color: #1C1C1C; }
#tile3 { background: #00a8af; color: #050505; }
#tile4 { background: #00A6AD; color: #000000; }
#tile5 { background: #00A3BD; color: #000000; }
#tile6 { background: #00617A; color: #ffffff; }
#tile7 { background: #005C8A; color: #ffffff; }
#tile8 { background: #005c83; color: #ffffff; }
#tile9 { background: #005c83; color: #ffffff; }

.item-menu-ativo {
  text-decoration: underline;
  background: #7dbec4;
  color: #ffffff !important;
}

/* --- BLOCOS DE CONTEÚDO E CONTRATOS (CAC) --- */
.content, .corpo {
    background: #f2f2f2;
}
.corpo { 
     background: #f2f2f2;
    padding: 20px;
    margin: 0;
}

.container-menu {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    margin: 0;
    background: #0C2237;
}

.container {
    padding-left: 0px;
    padding-right: 0px;
    width: 100%;
    margin: 0px;
    background: #0C2237;
}

a.cac {
    float: right;
    color: #fff;
    background: #679ea3;
    width: 30%;
    text-align: left;
    padding: 20px 25px;
    text-decoration: unset;
    cursor: default;
}

.emped-v { float: left; }
.emped-t { padding: 0px; display: inline-block; width: auto; margin-left: 30px ; }
.emped-content { float: left; width: 300px; padding: 0px; }
.emped-content h1, .emped-content a { color: #84bac4; }

.cac-drop {
    display: inline-table;
    float: left;
    background: #84bac4;
    width: 300px;
    height: 250px;
    border: 25px solid #84bac4;
    border-left: 50px solid #84bac4;
    border-right: 50px solid #84bac4;
    padding: 10px 0;
}
.cac-drop a { display: block; color: #fff; }
.cac-drop form { text-align: center; }
.cac-drop form input { padding: 10px; margin-bottom: 5px; border: 1px solid #679ea3; }
.cac-drop form input::placeholder { color: #679ea3; }
.cac-drop form a { display: block; margin-top: 15px; color: #fff; text-align: left; }
.cac-drop form input[type="submit"] { background: #679ea3; border: unset; width: 100%; padding: 10px 0; color: aliceblue; }

/* --- COMPONENTES DE LOGIN --- */
.cabecalho_bloco { color: #84bac4; }

#bloco_login {
    background: #84bac4;
    min-height: 250px;
    height: auto;
    border: 25px solid #84bac4;
    border-left: 50px solid #84bac4;
    border-right: 50px solid #84bac4;
    padding: 10px 0;
}
#bloco_login input { padding: 10px; margin-bottom: 5px; border: 1px solid #679ea3; }
#bloco_login form input[type="submit"] { background: #679ea3; border: unset; width: 100%; padding: 10px 0; color: aliceblue; }

/* --- TABELAS E GRIDS --- */
.table {
    border-width: 5px;
    border-color: #9a9a9a !important; 
    margin: 0px !important;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 2px;
  vertical-align: middle;
}
.unidade { min-width: 100px; }
.linha {
  width: 90%;
  border-bottom: 3px solid #A4A4A4;
  border-radius: 10px;
  margin: 10px 5%;
}

h1, .h1, h2, .h2, h3, .h3 {
  margin-top: 20px;
  background: #e2e2e2;
  text-align: center;
}
.li { margin-top: 0px; margin-bottom: 0px; }

/* --- DEPOIMENTOS E INTERFACES DE SLIDER --- */
.dpoiment {
    height: auto;
    background: #333333;
    margin-right: -15px;
    justify-content: center;
    display: flex;
    padding: 50px 0;
}
img.reflect.rheight55.ropacity50.roffset122 {
    border-radius: 100%;
    width: 170px;
    height: 170px;
    object-fit: cover;
}
.shorty_img { text-align: center; }
.shorty_title.brown { color: #81bcc4; }
.shorty_short_content { color: #acacac; }
.minislider_shorty .shorty_title { margin-top: -80px !important; font-family: 'Roboto Condensed' !important; font-size: 36px !important; }
.minislider_shorty blockquote p { color: #81bcc4 !important; font-family: roboto, sans-serif; margin: -8px 0 5px !important; font-size: 16px !important; }

blockquote {
    padding: unset !important;
    margin: unset !important;
    border-left: unset !important;
    position: unset !important;
    text-align: unset !important;
}
#content_wrap { width: 100% !important; height: auto; text-align: center; }
.slidesholder { display: inline-block; }
.toolbox-shorty .rightbutton { position: absolute; left: 30px; }

/* --- COMPONENTES DO RODAPÉ (FOOTER) --- */
.container-footer {
    width: auto;
    margin: 0 auto;
    padding: 10px;
    display: table;
}
.footer-logo {
    width: 50%;
    float: left;
    align-items: center;
    vertical-align: middle;
    display: flex;
}
.footer-logo img {
    image-rendering: -webkit-optimize-contrast;
    vertical-align: middle;
    height: 119px;
}
.footer-contacts { float: right; width: 45%; height: 119px; }
.footer-separador {
    border-right: 2px solid #007a8e;
    display: inline-box;
    height: 119px;
    margin: 5px 5px;
}
.footer-contacts a { display: inline-block; margin: 2px 0; }
.conts a, i { color: #007a8f; }
.conts i { margin-right: 5px; }

/* --- REGRAS DE INPUTS MONETÁRIOS E NUMÉRICOS --- */
input[type=number]::-webkit-inner-spin-button { 
    -webkit-appearance: none;
    cursor: pointer;
    display: block;
    width: 8px;
    color: #333;
    text-align: center;
    position: relative;
}
input[type=number] { 
   -moz-appearance: textfield;
   appearance: textfield;
   margin: 0; 
}
legend { margin-bottom: 0px; font-size: 14px; border: none; }

/* --- ELEMENTOS DE BOTÕES GLOBAIS --- */
.btn { margin: 5px; white-space: normal; }
.btn-pesquisa { margin-bottom: 15px; }
.btn-recarregar {
  margin: 3px;
  color: #fff;
  background-color: #3e3e3e;
  border-color: #311179;
}
.btn-recarregar:hover, .btn-recarregar:focus {
  color: #fff;
  background-color: #3d3d3d;
  border-color: #242424;
}

/* =========================================================================
   MEDIA QUERIES (REGRAS DE RESPONSIVIDADE PARA CELULARES)
   ========================================================================= */
@media screen and (min-width: 992px) {
  .nav-list li a {
    font-size: 1.3em;
    text-align: center;
  }
}

@media screen and (max-width: 991px) {
  .nav-menu {
    color: #fff;
    display: inline-table;
    position: absolute;
    top: 0px;
    left: 100%;
    cursor: pointer;
  }
  .nav-list {
      float: left; 
      width: 80%;
      display: none;
  }
  .open {
      display: block; /* CORRIGIDO: Alterado de 'auto' inválido para 'block' */
  }
  .nav-list li { width: 100%; }
  .nav-list li a { text-align: left; }
  .nav-list li a:hover {
    padding-left: 36%;
    padding-top: 30px;
  }
}

@media (min-width:1px) and (max-width:991px) {
  .telapequena { display: none !important; }
}


/* --- AJUSTES PARA OS NOVOS COMPONENTES DE BI --- */
.card {
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* Garante que os gráficos não estourem o card */
.card > div {
    width: 100%;
}


/* Espaçamento para o Painel de BI */
.container-fluid.py-4 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* Garantir que os títulos fiquem alinhados com o novo estilo */
.card h4 {
    font-family: 'Roboto Condensed', sans-serif;
    color: #374151;
    margin-bottom: 15px;
    border-bottom: 2px solid #f3f4f6;
    padding-bottom: 10px;
}