/* Importando a fonte Roboto 
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');*/

body {
    background-color: #f8f9fa;
    font-family: "Roboto", sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.6;
    color: #333;
    text-rendering: optimizeLegibility;
}

.row {
    margin-right: 0px;
}

.row::after {
    content: "";
    clear: both;
    display: block;
}

hr {
    border: 1px solid #dee2e6;
    opacity: 1;
    width: 100%;
}

label {
    color: #2c3e50;
    font-weight: 500;
}



/* ---------------------- */
/*  TABELA ESTILO "CARD"  */
/* ---------------------- */

.styled-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
}

.styled-table thead th {
    /* background-color: transparent; */
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    font-size: 14px;
    font-weight: 600;
    /* color: #2c3e50; */
    text-transform: uppercase;
    padding: 8px;
}

.styled-table tbody tr {
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    border-radius: 10px;
}

.styled-table tbody td {
    padding: 14px 12px;
}

.styled-table tbody tr td:first-child {
    border-radius: 10px 0 0 10px;
}
.styled-table tbody tr td:last-child {
    border-radius: 0 10px 10px 0;
}


/* Contêiner para os botões "Filtros" e "Pesquisar" */
    .controles-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .controles-container .botoes-esquerda {
        display: flex;
        gap: 10px;
    }

/* Contêiner principal que organiza filtros e tabela */

    .conteudo-principal {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        flex-wrap: wrap;
    }
    .filtro{
            padding: 10px;
    }

/* Contêiner dos filtros */
.form-filtros-container {
    flex: 0 0 300px; /* Largura fixa de 300px, não cresce, não encolhe */
    transition: all 0.3s ease-in-out; /* Animação suave */

}

/* Contêiner da tabela */
.table-container {
    flex: 1; /* Ocupa todo o espaço restante */
    width: 100%;
    transition: width 0.3s ease-in-out; /* Animação suave na largura */
}

/* ESTADO OCULTO: Quando os filtros estiverem invisíveis */
.form-filtros-container.hidden {
    /* Encolhe o formulário para largura zero e o torna invisível */
    flex-basis: 0;
    width: 0;
    overflow: hidden; /* Esconde o conteúdo que transborda */
    padding: 0;
    margin: 0;
    opacity: 0;
}




h1 {
    font-size: 2.5rem;
    color: #2c3e50;
}

.justify {
    text-align: justify;
}

.text-14 {
    font-size: 14px;
}

/* MODAL */
.modal-content {
    border: none;
    border-radius: 5px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.form-control {
    border-radius: 5px;
    font-size: 0.9rem;
    border: 1px solid #ced4da;
    padding: 10px;
}

.form-control:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.modal-footer {
    padding: 0;
}

h5 {
    font-size: 1.25rem;
    color: #2c3e50;
}

.pedido {
    background: none;
    border: none;
    font-size: 1.2rem;
    font-weight: 300;
    color: #fff;
}

.pedido:hover {
    background: none;
    border: none;
    font-size: 1.2rem;
    font-weight: 600;
    color: #fff;
}

/* SECTION */
.section {
    background-color: #3498db;
    color: white;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
}

/* Grid System */
.col-1 { width: 8.33%; }
.col-2 { width: 16.66%; }
.col-3 { width: 25%; }
.col-4 { width: 33.33%; }
.col-5 { width: 41.66%; }
.col-6 { width: 50%; }
.col-7 { width: 58.33%; }
.col-8 { width: 66.66%; }
.col-9 { width: 75%; }
.col-10 { width: 83.33%; }
.col-11 { width: 91.66%; }
.col-12 { width: 100%; }

[class*="col-"] {
    padding: 5px;
}

/* .btn {
    width: 100%;
    font-size: 0.9rem;
    text-transform: uppercase;
    border-radius: 5px;
    padding: 10px;
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: #3498db;
    border-color: #3498db;
}

.btn-primary:hover {
    background-color: #2980b9;
    border-color: #2980b9;
}

.btn-danger {
    background-color: #e74c3c;
    border-color: #e74c3c;
}

.btn-danger:hover {
    background-color: #c0392b;
    border-color: #c0392b;
}

.btn-outline-primary {
    color: #3498db;
    border-color: #3498db;
}

.btn-outline-primary:hover {
    background-color: #3498db;
    color: #fff;
}

.btn-outline-danger {
    color: #e74c3c;
    border-color: #e74c3c;
}

.btn-outline-danger:hover {
    background-color: #e74c3c;
    color: #fff;
} */



/* ---------------------- */
/*        BOTÕES          */
/* ---------------------- */

.btn {
    padding: 8px 18px;
    height: 38px;              /* Altura fixa */
    border-radius: 6px;
    border: none;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s ease;
    min-width: 140px;          /* Tamanhos consistentes */
    display: inline-block;
}

.btn-primary {
    background-color: #0c3b66;
    color: #fff;
}


.btn-primary:hover, .btn-primary:active {
    background-color: #0a3357;
}

.btn-secondary {
    background-color: #e9edf3;
    color: #0c3b66;
}
.btn-secondary:hover, .btn-secondary:active  {
    background-color: #d8dfe8;
}

.btn-primary:focus,
.btn-primary:focus-visible, .btn-primary:active, .btn-secondary:active, .btn-secondary:focus, .btn-secondary:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(12, 59, 102, 0.45) !important;
}

.info-box {
        background-color: #e7f3fe; /* Fundo azul bem claro */
        border-left: 4px solid #2196F3; /* Borda azul para destaque */
        padding: 12px 16px;
        margin: 16px 0;
        display: flex;
        align-items: center;
        border-radius: 4px;
    }
    .info-box-icon {
        font-size: 24px;
        margin-right: 12px;
        color: #2196F3;
    }
    .info-box p {
        font-size: 14px;
        color: #333; /* Cor de texto com mais contraste */
        margin: 0;
        line-height: 1.5;
    }

/* ---------------------- */
/*        STATUS          */
/* ---------------------- */


/* CSS para a estrutura com <span> (Recomendado) */



/* 2. Estilize o SPAN como um botão */
.status-ativo,
.status-inativo {
    display: inline-flex;      /* Use inline-flex para um alinhamento interno mais fácil */
    align-items: center;       /* Alinha o texto verticalmente no centro */
    justify-content: center;   /* Alinha o texto horizontalmente no centro */
    
    /* Suas dimensões e estilos */
    height: 32px;
    min-width: 90px;
    padding: 0 10px;
    border-radius: 6px;
    box-sizing: border-box;

    /* Estilos de fonte */
    font-size: 13px;
    font-weight: 600;
    color: #fff;
}

/* 3. Cores */
.status-ativo {
    background-color: #16a34a;
}

.status-inativo {
    background-color: #dc2626;
}




/* Responsive */
@media (max-width: 768px) {
    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        width: 100%;
    }

    .styled-table {
        display: block;
    }

    .styled-table thead {
        display: none;
    }

    .styled-table tbody, .styled-table tr, .styled-table td {
        display: block;
        width: 100%;
    }

    .styled-table tr {
        margin-bottom: 15px;
        border: 1px solid #ddd;
        border-radius: 5px;
    }

    .styled-table td {
        text-align: right;
        padding-left: 50%;
        position: relative;
        border: none;
    }

    .styled-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        padding-left: 10px;
        font-weight: bold;
        text-align: left;
        color: #2c3e50;
    }

}

/* Utility Classes */
.shadow {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1) !important;
}

.text-center {
    text-align: center;
}

.text-uppercase {
    text-transform: uppercase;
}

.mt-3 {
    margin-top: 1rem;
}

.mb-3 {
    margin-bottom: 1rem;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #2c3e50;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}
.info{
  width: 13px; 
  vertical-align: baseline; 
  cursor: pointer;
}






/* tela pequena */
@media screen and (min-width : 760px){
  /*Strip the ul of padding and list styling*/
  .menu ul {
      list-style-type: none;
      margin: 0;
      padding: 0;
      position: absolute;
      z-index: 1;
      float: left;
      display: inline-block;
      font-size: 0.8rem;
      
  }
  
  /*Create a horizontal list with spacing*/
  .menu li {
      display: inline-block;
      /*float: left;*/
      /* margin-right: 1px; */
  }
  
  /*Style for menu links*/
  .menu li a {
      display: block;
      min-width: 100px;
      /*height: 50px;*/
      text-align: center;
      line-height: 50px;
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #fff;
      background: #0c3b66;
      text-decoration: none;
      white-space: nowrap;
  }
  
  /*Hover state for top level links*/
  .menu li:hover a {
      background: #0c3b66;
      color: #ced4da;
  }
  
  /*Style for dropdown links*/
  .menu li:hover ul a {
      background: #f3f3f3;
      color: #0c3b66;
      height: 40px;
      line-height: 40px;
  }
  
  /*Hover state for dropdown links*/
  .menu li:hover ul a:hover {
      background: #0c3b66;
      color: #fff;
  }
  
  /*Hide dropdown links until they are needed*/
  .menu li ul {
      display: none;
  }
  
  /*Make dropdown links vertical*/
  .menu li ul li {
      display: flex;
      float: none;
  }
  
  /*Prevent text wrapping*/
  .menu li ul li a {
      width: auto;
      min-width: 100%;
      padding: 0 20px;
      border-left: solid;
  }
  
  /*Display the dropdown on hover*/
  .menu ul li a:hover+.hidden,
  .hidden:hover {
      display: block;
  }
  
  .menu ul li a:hover+.hidden1,
  .hidden1:hover {
      display: block;
      left: 100%;
      min-width: 100%;
      margin-top: -40px;
      border-left: 1px;
      border-left: solid;
      border-color: #0c3b66;
  }
  
  
  /*Style 'show menu' label button and hide it by default*/
  .show-menu {
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      text-decoration: none;
      color: #fff;
      background: #0c3b66;
      text-align: center;
      display: none;
      margin: auto;
      width: 100%;
  }
  

  .menu-close, .menu-open {
      display: none;
  }

  .button{
      margin-left:50px;
  }

    .button::after {
      content: '';
      width: 30px; height: 30px;
      border-radius: 100%;
      border: 6px solid #ff0000;
      position: absolute;
      z-index: -1;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      animation: ring 1.5s infinite;
    }
    .conteudo-principal {
        display: flex;
        align-items: flex-start;
        gap: 20px;
        flex-direction: row;
        flex-wrap: nowrap;
    }
  
}


/* tela grande */
@media screen and (max-width: 760px) {
    /* estilizando a div overlay */
    .overlay {
        height: 100vh;
        /* deixando o overlay 100% na vertical */
        width: 0px;
        position: fixed;
        z-index: 1;
        top: 0;
        left: 0px;
        background-color: rgba(0, 0, 0, 0.7);
        opacity: 0;
        /*iniciando opacidade em 0 */
        transition: opacity 1s;
        margin-top: 2.8em;
        margin-left: 0px;
    }

    /* estilizando o botão abrir menu1 */
    .menu-open {
        /* background: #900; */
        color: #fff;
        font-size: 20px;
        text-decoration: none;
        /*padding: 10px 20px;
            margin: 20px;*/
        display: inline-block;
        text-transform: uppercase;
        text-align: center;
    }

    /* estilizando o botão fechar menu1 */
    .menu a.menu-close {
        padding: 8px 0 4px 23px;
        color: #fff;
        display: block;
        margin: -30px 0 -10px -20px;
        font-size: 35px;
        text-decoration: none;
    }

    /* estilizando o menu1 em si */
    .menu {
        overflow: hidden;
        /* background: rgba(0,0,0,.95); */
        background-color: #0c3b66;
        padding: 40px 0 0 10px;
        position: fixed;
        top: 0;
        left: -290px;
        /*iniciando o menu1 com menos 290px para fora do browser*/
        height: 100%;
        z-index: 2;
        transition: 0.5s;
        width: 250px;
    }

    /* estilizando o menu1 + ul */
    .menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
        overflow-y: auto;
        /* width: 500px; */
        height: 95%;
    }

    .menu ul li {
        display: block;
        border-bottom: 1px solid #ffffff4a;
        padding: 6px 4px 6px 4px;
        color: #fff;
        transition: 0.3s;
        text-decoration: none;
        background: none;
    }

    .menu li ul li {
        display: none;
    }

    .menu a {
        /* padding-bottom: 10px; */
        padding-left: 20px;
    }

    /* Make dropdown links vertical */
    .menu li ul li {
        display: none;
        float: none;
        background-color: #ffffff4a;
        justify-content: space-between;
    }

    /* Display the dropdown on hover */
    .menu ul li:hover ul {
        display: block;
    }

    .menu ul li ul {
        display: none;
        position: static;
    }

    .menu ul li ul li {
        display: block;
    }

    .menu li ul li:hover {
        background: #0c3b66;
        color: #fff;
    }

    .menu li ul li:hover {
        color: #0c3b66;
    }

    .needs-validation {
        justify-content: center;
    }

    [class*="col-"] {
        width: 100%;
        min-width: 200px;
    }

    .nprog {
        flex-direction: row !important;
    }

    .logo {
        visibility: hidden;
        position: fixed;
    }
}

a {
    text-decoration: none;
    color: #fff;
}

a:hover {
    text-decoration: none;
    color: #fff;
}

.menu ul,
li {
    list-style: none;
    line-height: 2;
}




/* não imprime */
@media print {
  .noprint, .btn {
      visibility: hidden;
      position: absolute;
  }
}

@page {
  /* imprime em modo paisagem */
  size: landscape;
}



.modal-header {
    flex-wrap: wrap;
}









.alteracoes {
    font-size: 0.85rem;
    line-height: 1.4;
}

.alteracao-item {
    display: block;
    border-radius: 6px;
    padding: 4px 8px;
    margin: 2px 4px 2px 0;
    white-space: nowrap;
}

.alteracao-campo {
    font-weight: 600;
    margin-right: 4px;
}

.alteracao-antigo {
    color: #6c757d;
    text-decoration: line-through;
    margin: 0 4px;
}

.alteracao-seta {
    margin: 0 4px;
}

.alteracao-novo {
    color: #198754;
    font-weight: 500;
}