/*
Template Name: SGControlOne Custom
Author: Adenor Luiz Gnoatto
Email: adenor@vere.com.br
File: custom.css
*/

.font-weight-500 {
    font-weight: bold!important;    
}

.border-reg-selected > td {
    background-color: #dff0d8;
    font-weight: 500;
}

table.dataTable > tbody > tr.selected > * {  
  background-color: #dff0d8!important;
  color: #000!important;
  
}

.required {
    font-weight: 500;
}

.required:after {
    content: "Obrigatório";
    color: #212529;
    background-color: #ffc107;
    padding:3px;
    margin-left:5px;
    border-radius:3px;
    font-size: 12px;
    font-weight: normal;    
}

.text-required {
    font-weight: 500;
}

.text-required:after {
    content: "Obrigatório";
    color: #212529;
    background-color: #ffc107;
    padding:3px;
    margin-left:5px;
    border-radius:3px;
    font-size: 12px;
    font-weight: normal;    
}

.dtr-title 
{
    font-weight: bold!important;
}

.justify-pagination-custom 
{
    justify-content: right!important;
}

.justify-pagination-custom > li > a 
{
    font-size: 14px!important;
}

.paginator-text 
{
    padding-top: 8px;
}

.card-body-custom 
{
    padding: 1.5rem 1.5rem 1.5rem 1.5rem!important;    
}

.btn-auto-manuter:first-child {
    margin-right: 5px;
}

@media screen and (max-width:700px) 
{
    
    .btn-auto-manuter {
        display: block;
        width:100%;
        margin-right: 0px;
    }
    
    .btn-auto-manuter:first-child {        
        margin-bottom: 5px!important;
    }
    
    .render_lg {
        display: none;
        visibility: hidden;
    }
    
    .render_mb {
        display: inherit!important;
        visibility: inherit!important;        
    }
    
    .d-dm-flex-custom 
    {
        display: block!important;        
    }
    
    .breadcrumb-title 
    {   
        display: block!important;
        padding-right: 0px!important;
        text-align: center!important;
        border-right:0px!important;
    }
    
    .breadcrumb-item 
    {
        display: block!important;
        width: 100%;
        text-align: center;
    }
    
    .breadcrumb-item >a >i 
    {
        font-size:48px!important;        
    }
    
    .page-breadcrumb .breadcrumb-item+.breadcrumb-item::before 
    {
        display: none!important;
    }
        
    .ps-3s 
    {
        padding-left:0px!important;
        margin-bottom: 20px!important;        
    }
    
    .ms-auto > div 
    {
        display: block;
    }
    
    .ms-auto > div >button:first-child
    {
        margin-bottom:5px!important;
    }
    
    .ms-auto > div > button 
    {
        width:100%!important;
    }
    
    .justify-pagination-custom 
    {
        justify-content: center!important;
        display: block!important;
    }
    
    .justify-pagination-custom > li > a 
    {        
        text-align: center;
        border-radius: 0px!important;        
        margin-left: 0px!important;
        border-top: 0px;        
    }
    
    .justify-pagination-custom > li > a:before 
    {     
        content: "Página";        
    }
    
    .justify-pagination-custom .page-first > a:before 
    {     
        content: "Ir para a primeira página"!important;        
    }
    
    .justify-pagination-custom .page-previous > a:before 
    {     
        content: "Ir para a página anterior"!important;        
    }
    
    .justify-pagination-custom .page-next > a:before 
    {     
        content: "Ir para a próxima página"!important;        
    }
    
    .justify-pagination-custom .page-last > a:before 
    {     
        content: "Ir para a última página"!important;        
    }
    
    .justify-pagination-custom .page-first > a > svg,
    .justify-pagination-custom .page-previous > a > svg,
    .justify-pagination-custom .page-next > a > svg,
    .justify-pagination-custom .page-last > a > svg
    {   
        display: none!important;
    }
                
    .justify-pagination-custom > li:first-child > a 
    {
        border-top: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color)!important;
        border-top-left-radius: var(--bs-pagination-border-radius)!important;
        border-top-right-radius: var(--bs-pagination-border-radius)!important;
    }
    
    .justify-pagination-custom > li:last-child > a 
    {
        border-bottom-left-radius: var(--bs-pagination-border-radius)!important;
        border-bottom-right-radius: var(--bs-pagination-border-radius)!important;
    }
    
    .paginator-text 
    {
        padding-top:0px!important;
        padding-bottom: 8px!important;
        display: block!important;
        text-align: center!important;
        width:100%!important;
    }
    
}

.spinner {
  margin: 20px auto;
  width: 60px;
  height: 50px;
  text-align: center;
  font-size: 15px;
}

.spinner>div {
  background-color: #00a859;
  height: 100%;
  width: 8px;
  display: inline-block;
  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%,40%,100% {
    -webkit-transform: scaleY(0.4);
  }

  20% {
    -webkit-transform: scaleY(1);
  }
}

@keyframes sk-stretchdelay {
  0%,40%,100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }

  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}

.splash {
  position: fixed;
  z-index: 2000;
  background: white;
  color: gray;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.splash-title {
  text-align: center;
  max-width: 500px;
  margin: 15% auto;
  padding: 20px;
}

.splash-title h1 {
  font-size: 26px;
}

.hidden,
.upload-thumbs-hidden {
    display: none;
    visibility: hidden;
}

.upload-thumbs {
    margin-top: -5px;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 20px 10px 10px 10px;
    text-align: center;
    border-radius: 0px 0px 4px 4px;
}

.upload-thumbs > img {
    max-height: 200px;            
}

.fileUpload-disabled {    
    pointer-events:none;
    background-color: #eaeaea;
    color: #eaeaea;   
}

.datatable-vertical-align-center {
    vertical-align: middle;
}

.datatable-align-center {
    text-align: center;
}

.datatable-align-right {
    text-align: right;
}

.font-36 {
    font-size: 36px;
}

.flex-grid {
    display: grid; 
    max-width: 100%;    
    justify-content: space-between;    
}

.switcher-btn-at {
    position: fixed;
    top: 40%;
    right: 0px;
    width: 40px;
    z-index: 5;
    margin-top: 45px;
}

.switcher-btn-at > div > button {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

@media screen and (max-width:1240px) {
    
    .card-footer-custom {
        display: inherit!important;
    }
    
    .card-footer-custom > div {
        display: block;
        width:100%;
    }
    
    .card-footer-custom > div > button {
        display: block;
        width:100%;
        margin-bottom:5px;
        
    }
    
}

@media screen and (max-width:400px) {
    
    .card-block {
        display: block!important;
        text-align: center;
    }
    
    .card-block-flex {
        display: block!important;        
    }
    
    .card-block > div {
        margin-bottom: 5px;
    }
        
}

.dt-center {
    vertical-align:middle;
}

.col-btn {
    width:10px;
    text-align:center
}

.render_mb {    
    display:none;
    visibility: hidden;    
}

.render_mb_block {
    margin-bottom:10px;
}

.dt-right{
    text-align:right;
}

.row-disabled > td {
    cursor: not-allowed;
}

.dt-max-width-200{
    max-width:200px!important;
    white-space: normal!important;
}

.dt-align-justify{
    text-align: justify;
}

td.cursor-pointer-td {
    cursor: pointer;
}

.fixed-bottom-custom {
    position:sticky;
    bottom: 0px;
}

.form-check-label {
    white-space: nowrap!important;
}

.manuter-buttons {
    position: fixed;
    bottom:20px;
    left: 125px;
    right:0px;
    margin-bottom: 20px;
    z-index:1000;
}

@media screen and (max-width: 1024px) {
    .manuter-buttons {
        left: 10px;
    }
}

.meus-atendimentos > td {
    padding-top:40px;
}

.meus-atendimentos > td:first-child {
    position: relative;
}

.meus-atendimentos > td:first-child:after {
    content: "Atendimento encaminhado para você. (Você pode alterar, concluir, cancelar, excluir, indeferir ou encaminhar este atendimento)";
    color: #212529;
    background-color: #eeee00;
    padding:3px;
    margin-left:5px;
    border-radius:3px;
    font-size: 12px;
    font-weight: normal;
    white-space: nowrap!important;
    position: absolute;
    left: 0px;
    top: 5px;
}

.dt-whitespace-normal {
    white-space: normal !important;
}

.dt-text-justify {
    text-align: justify !important;
}

.badge-lg{
    padding:10px!important;
    font-size: 14px!important;
    font-weight: normal!important;
}

.custom-li:first-child {
    border-top:1px solid #dee2e6;
}

.width-status {    
    width: 10px;
    white-space: nowrap;
    
}

.table-cursor-pointer tbody tr td {
    cursor: pointer !important;
}

.tr-selected td {
    border-top: 2px solid #000 !important;
    border-bottom: 2px solid #000 !important;
    border-left: none;
    border-right: none;
    background-color: #dff0d8;
    color: #000!important;
    font-weight: 500;
}

.tr-selected td:first-child {
    border-left: 2px solid #000 !important;
    background-color: #dff0d8;
    color: #000!important;
    font-weight: 500;
}

.tr-selected td:last-child {
    border-right: 2px solid #000 !important;
    background-color: #dff0d8;
    color: #000!important;
    font-weight: 500;
}

.table-danger{
    background: #000;
    color: #FFF;
}

/* Container Geral */
.document-editor {
    border: 1px solid #ccced1;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    max-height: 700px;
}

/* Força a barra de ferramentas a ficar no topo */
#toolbar-container {
    border-bottom: 1px solid #ccced1;
    background: #fafafa;
}

/* Área cinza de fundo onde as páginas "flutuam" */
.editor-container {
    padding: 20px;
    background: #f8f9fa;
    overflow-y: scroll;
}

/* A folha de papel branca (estilo Word) */
.editor-container .ck-editor__editable {
    width: 21cm; /* Largura padrão A4 */
    min-height: 29.7cm; /* Altura padrão A4 */
    padding: 2cm; /* Margens internas da página */
    margin: 0 auto;
    border: 1px solid #cbd5e1 !important;
    background: #ffffff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.btn-flutuante {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999; /* Garante que fique acima dos outros elementos */
    text-decoration: none;
    transition: transform 0.3s ease;
}

.engrenagem {
    /* Aplica a animação: nome, duração, movimento linear e infinito */
    animation: girarEngrenagem 4s linear infinite;
    /* Garante que o eixo da rotação seja exatamente no centro da imagem */
    transform-origin: center; 
}

/* Criando o efeito de rotação de 0 a 360 graus */
@keyframes girarEngrenagem {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* OPCIONAL: Se quiser que ela gire ao contrário (sentido anti-horário) */
.engrenagem-anti-horario {
    width: 150px;
    height: 150px;
    animation: girarEngrenagemAoContrario 4s linear infinite;
    transform-origin: center;
}

@keyframes girarEngrenagemAoContrario {
    from {
        transform: rotate(360deg);
    }
    to {
        transform: rotate(0deg);
    }
}

.img-centro {
    position: absolute;
    /* Opcional: ajuste o tamanho da imagem centralizada para não estourar */
    max-width: 50%;
    max-height: 50%;
    margin-left:2px;
}

.max-wt-200 {
    max-width:200px;
    white-space: normal!important;
}

.dataTables_filter {
  float: none !important;
  text-align: left !important;
  width: 100%;
  margin-bottom: 16px !important;
}

/* Faz o label e o input ocuparem toda a largura */
.dataTables_filter label {
  width: 100%;
}

.label-block {
    display: block;
    width:100%;
    font-weight:500;
}

.dataTables_filter input {
    width: 100% !important;
    margin-left: 0px!important;  
}