/* modal-confirmLogin */

#modal-confirmLogin p{
    padding: 0px 10px;
}

/* modal-authDesconto */

#modal-authDesconto p{
    padding: 0px 10px;
}

.errorMsg{
    margin: 5px 0px;
    width: 100%;
    height: auto;
    padding: 0px 10px;
    color: red;
    font-size: 20px;
}

.modalLoading{
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.5);
    text-align: center;
    padding-top: 15%;
    color: #fff;
    font-size: 38px;
    font-weight: bold;
}

/* ============================================================= */
/* modalConfirm ================================================ */

.modal-onConfirm{
    margin-top: 100px;
    height: auto;
    max-height: 90%;
    z-index: 10001;
}

/* Suporte para múltiplos modais dinâmicos */
.modal-onConfirm[id*="modalConfirm_"] {
    z-index: 10002; /* Z-index mais alto para modais dinâmicos */
}

.modal-onConfirm[id*="modalConfirm_"]:nth-of-type(2) {
    z-index: 10003;
}

.modal-onConfirm[id*="modalConfirm_"]:nth-of-type(3) {
    z-index: 10004;
}

.modal-onConfirm[id*="modalConfirm_"]:nth-of-type(4) {
    z-index: 10005;
}

.modal-onConfirm[id*="modalConfirm_"]:nth-of-type(5) {
    z-index: 10006;
}

.modal-onConfirm, .modal-onConfirm .modal-dialog, .modal-onConfirm .modal-content {
    border-radius: 15px !important;
} 
.modal-onConfirm .modal-body{
    width: 100%;
    height: auto;
    max-height: 100%;
    padding: 0px !important;
    border-radius: 15px !important;
}

.modalConfirm .divTitle{
    margin: 0px;
    width: 100%;
    min-height: 120px;
    height: auto;
    padding: 10px 20px;
    
    color: black;
    
    border-top-left-radius: 15px !important;
    border-top-right-radius: 15px !important;
}

.modalConfirm .divTitle h1{ margin: 10px 0px; }
.modalConfirm .divTitle h4{ margin: 0px 0px 10px 0px; }

.modalConfirm .divQuests{
    margin: 0px;
    width: 100%;
    min-height: 110px;
    max-height: 400px;
    padding: 5px 20px;
    text-align: left;
    /*overflow-y: auto;*/
}

.modalConfirm .divQuests label{
    color: black;
}

.modalConfirm .divButton{
    margin: 0px;
    width: 100%;
    height: 80px;
    padding: 20px;
    justify-content: center;
    display: flex;
    gap: 10px;

    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

.modalConfirm .divButton button{
    margin: 0px 5px;
    flex-basis: 200px;
}

span.obgt{
  padding: 3px 5px;
  background-color: salmon;
  font-size: 10px;
  color: white;
  border-radius: 5px;

}


/* modalConfirm ================================================ */
/* ============================================================= */
/* modalAtalhos ================================================ */




.barAtalhos{
    position: absolute;
    margin: 0px auto;
    width: 600px;
    height: 50px;
    padding: 0px;
    z-index: 10000;
    left: calc((100% - 600px)/2);
    bottom: 30px;
    border-radius: 20px;
    box-shadow: 05px 05px 30px rgb(182, 0, 0);
    background-color: rgb(230, 230, 230);
    
}

.barAtalhos input{
    margin: 0px;
    width: calc(100% - 75px);
    height: 100%;
    padding: 5px 15px;
    display: inline-block;
    border: none;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    background-color: rgb(230, 230, 230);
    outline: none;
    font-size: 18px;
}


.barAtalhos button{
    margin: 0px;
    width: 30px;
    height: 100%;
    padding: 5px;
    display: inline-block;
    border: none;
    border-radius: 20px;
    font-size: 18px;
    background-color: rgb(230, 230, 230);
}
.barAtalhos button:hover{
    
    background-color: rgb(210, 210, 210);
}

#modal-Atalhos{
    z-index: 9999;
}

#modal-Atalhos iframe{
    width: 100%;
    height: 100%;
    border: none;
    transform-origin: top left;
    transition: transform 0.2s ease;
}

.menu-atalhos-modal{
    margin: 0px;
    width: 100%;
    height: 40px;
    padding: 5px;
    overflow: hidden;
    z-index: 9999;
    text-align: right;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.menu-atalhos-modal input{
    margin: 0px;
    flex: 1;
    height: 100%;
    padding: 5px 10px;
    overflow: hidden;
    z-index: 9999;
    display: inline-block;
    vertical-align: top;
    border: none;
    border-radius: 5px;
    color: black;
    font-size: 16px;
}

.menu-atalhos-modal .btns{
    margin: 0px;
    width: auto;
    height: 100%;
    padding: 0px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    vertical-align: top;
    text-align: right;
}

.menu-atalhos-btn{
    margin: 0px 5px;
    width: 30px;
    height: 30px;
    padding: 7.5px 5px;
    border: none;
    border-radius: 15px;
    background-color: rgb(163, 163, 163);
    cursor: pointer;
    z-index: 1000000;
    display: inline-block;
    vertical-align: top;
    text-align: center;
}

.menu-atalhos-btn  i{
    cursor: pointer;
    margin: 0px;
    width: 20px;
    height: 20px;
    padding: 0px;
    top: 0px;
    color: white;
    font-size: 15px;
}

#modal-AtalhosDiv{
    height: calc(100% - 40px);
    padding: 5px;
}

.closeModalAtalho{
    padding: 0px;
    background-color: white;
}
    .closeModalAtalho i{
        margin: 0px;
        width: 30px;
        height: 30px;
        padding: 0px;
        top: 0px;
        color: red;
        font-size: 30px;
    }

  #menu-atalhos-btn-motalk{
    background-color: rgb(0, 102, 255);
  }

    
/* modalAtalhos ================================================ */
/* ============================================================= */
/* modal-Comentarios ======================================= */


/* Coluna esquerda (lista) */
/* Coluna esquerda (lista) */
.modal-body .comments-list.col-left {
  height: 100%;
  flex: 1 1 48%;
  border-right: 1px solid #e5e5e5;
  padding-right: 12px;

  display: flex;              /* vira flex container */
  flex-direction: column;     /* organiza header, items e footer em coluna */
}

/* Cabeçalho da lista */
.modal-body .comments-list .list-header {
  flex: 0 0 auto;             /* altura fixa (não cresce nem encolhe) */
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

/* Área central com rolagem */
.modal-body .comments-list #commentsDoc-items {
  flex: 1 1 auto;             /* ocupa o espaço disponível */
  overflow-y: auto;           /* rolagem vertical */
  display: flex;
  flex-direction: column;
}

/* Rodapé da lista */
.modal-body .comments-list .list-footer {
  flex: 0 0 auto;             /* altura fixa */
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}

/* Coluna direita (editor) */
.modal-body .comments-editor.col-right {
  flex: 1 1 52%;
  padding-left: 6px;
  display: flex;
  flex-direction: column;
}

/* Linha de controles acima do editor */
.modal-body .comments-editor .editor-Form {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  align-items: center;
}


.modal-body .comments-editor .editor-Form select{
    width: 200px !important;
}

/* Checkbox de fixar (alinhamento) */
.modal-body .comments-editor .editor-Form label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 0 8px;
}

/* Badge do modo */
.modal-body #commentsDoc-modeBadge {
  background: #f0f0f0;
  color: #333;
}

/* Editor (textarea) ocupa o espaço flexível */
.modal-body #commentsDoc-editor {
  flex: 1 1 auto;
}

/* Ações do editor (botões) */
.modal-body .comments-editor > div:last-child {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 10px;
}

/* modal-Comentarios ======================================= */
/* ============================================================= */
/* modal-fileManager ======================================= */

/* CSS — FileManager V2 (copie para seu .css) */
.fm2-content {
  height: 100%;
}

.fm2-body {
  height: calc(100% - 80px);
  min-height: 0;
}

.fm2-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 12px;
  height: 100%;
}

.fm2-side,
.fm2-main {
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 12px;
  padding: 12px;
  min-height: 0;
}

.fm2-main {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.fm2-details {
  flex: 1;
  overflow-y: auto;
}

.fm2-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.fm2-drop {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 2px dashed #c7c7c7;
  border-radius: 12px;
  padding: 16px;
  color: #6b7280;
  min-height: 130px;
}

.fm2-drop.highlight {
  border-color: #2980b9;
  background: rgba(41, 128, 185, .06);
  color: #1f2937;
}

.fm2-progress {
  height: 10px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 12px;
}

.fm2-progress > #fm2-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #2980b9, #22d3ee);
}

.fm2-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.fm2-search {
  min-width: 220px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 12px;
}

.fm2-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  overflow: auto;
}

.fm2-card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  cursor: pointer;
  transition: .15s;
}

.fm2-card:hover {
  transform: translateY(-1px);
  background: #f9fafb;
}

.fm2-thumb {
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: 10px;
  background: #111827;
  color: #9ca3af;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.fm2-caption {
  font-size: 13px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.fm2-details {
  margin-top: 10px;
}

.fm2-preview {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 280px;
}

.fm2-preview iframe{
  width: 100%;
  height: 280px;
  border: none;
}

.fm2-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.fm2-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fm2-field label {
  font-size: 12px;
  color: #6b7280;
}

.fm2-field input {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 9px 10px;
}

.fm2-btns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.text-muted {
  color: #6b7280;
}

/* Responsividade para tablets */
@media (max-width: 980px) {
  .fm2-layout {
    grid-template-columns: 1fr;
  }
}

/* Responsividade para mobile - FileManager */
@media (max-width: 768px) {
  #modal-fileManager.modal .modal-dialog.modal-dialog-scrollable {
    width: 95% !important;
    max-width: 95% !important;
    height: calc(100vh - 10px) !important;
    margin: 5px auto !important;
  }
  
  #modal-fileManager .modal-content.fm2-content {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
  }
  
  #modal-fileManager .modal-header {
    padding: 8px 12px !important;
    flex-wrap: wrap !important;
  }
  
  #modal-fileManager .modal-header h3 {
    font-size: 16px !important;
    width: 70% !important;
  }
  
  #modal-fileManager .modal-body.fm2-body {
    padding: 8px !important;
    height: calc(100% - 60px) !important;
  }
  
  #modal-fileManager .fm2-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    height: 100% !important;
  }
  
  #modal-fileManager .fm2-side {
    order: 2 !important;
    padding: 8px !important;
    flex: 0 0 auto !important;
  }
  
  #modal-fileManager .fm2-drop {
    display: none !important;
  }
  
  #modal-fileManager .fm2-main {
    order: 1 !important;
    padding: 8px !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  
  #modal-fileManager .fm2-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  
  #modal-fileManager .fm2-actions .btnAll {
    flex: 1 1 auto !important;
    min-width: 80px !important;
    padding: 8px 4px !important;
    font-size: 12px !important;
  }
  
  #modal-fileManager .fm2-drop {
    min-height: 60px !important;
    padding: 8px !important;
  }
  
  #modal-fileManager .fm2-drop .t1 {
    font-size: 14px !important;
    margin: 0 !important;
  }
  
  #modal-fileManager .fm2-drop .t2 {
    font-size: 12px !important;
    margin: 4px 0 0 0 !important;
  }
  
  #modal-fileManager .fm2-toolbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  
  #modal-fileManager .fm2-search {
    min-width: auto !important;
    width: 100% !important;
    font-size: 14px !important;
  }
  
  #modal-fileManager .fm2-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important;
    gap: 6px !important;
    overflow: auto !important;
  }
  
  #modal-fileManager .fm2-card {
    padding: 4px !important;
  }
  
  #modal-fileManager .fm2-caption {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  
  #modal-fileManager .fm2-details .divCampo {
    width: 100% !important;
    float: none !important;
    margin-bottom: 8px !important;
    display: block !important;
  }
  
  #modal-fileManager .fm2-details .divCampo label {
    font-size: 12px !important;
    display: block !important;
  }
  
  #modal-fileManager .fm2-details .divCampo input {
    width: 100% !important;
    font-size: 12px !important;
    padding: 6px 8px !important;
    box-sizing: border-box !important;
  }
  
  #modal-fileManager .fm2-preview {
    min-height: 150px !important;
    padding: 8px !important;
  }
  
  #modal-fileManager .fm2-preview iframe {
    width: 100% !important;
    height: 150px !important;
  }
  
  #modal-fileManager .fm2-btns {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  
  #modal-fileManager .fm2-btns .btnAll {
    width: 100% !important;
    margin: 0 0 4px 0 !important;
    padding: 8px !important;
    font-size: 14px !important;
  }
  
  /* Botões específicos do template */
  #modal-fileManager #fileManager-btnSelect,
  #modal-fileManager #fileManager-btnView,
  #modal-fileManager #fileManager-btnDellFile,
  #modal-fileManager #fileManager-btnVoltar,
  #modal-fileManager #fm2-mobile-cancel {
    width: 100% !important;
    margin-bottom: 8px !important;
    padding: 10px !important;
    font-size: 14px !important;
  }
  
  /* Painel Mobile - QR Code */
  #modal-fileManager #fm2-mobile {
    display: none !important;
    height: 100% !important;
    overflow-y: auto !important;
  }
  
  #modal-fileManager #fm2-mobile.fm2-details[style*="block"] {
    display: block !important;
    height: 100% !important;
    overflow-y: auto !important;
  }
  
  #modal-fileManager #fm2-mobile .fm2-preview {
    min-height: 200px !important;
    max-height: 250px !important;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  #modal-fileManager #fm2-mobile-qrcode {
    width: 100% !important;
    max-width: 140px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  
  #modal-fileManager #fm2-mobile-qrcode canvas {
    max-width: 100% !important;
    height: auto !important;
    max-height: 140px !important;
  }
  
  #modal-fileManager #fm2-mobile .divCampo {
    width: 100% !important;
    float: none !important;
    margin-bottom: 8px !important;
    display: block !important;
  }
  
  #modal-fileManager #fm2-mobile .divCampo label {
    font-size: 12px !important;
    display: block !important;
    margin-bottom: 4px !important;
  }
  
  #modal-fileManager #fm2-mobile .divCampo input {
    width: 100% !important;
    font-size: 12px !important;
    padding: 6px 8px !important;
    box-sizing: border-box !important;
  }
  
  #modal-fileManager #fm2-mobile-cancel {
    width: 100% !important;
    margin: 8px 0 !important;
    padding: 10px !important;
    font-size: 14px !important;
  }
  
  /* Controle de visibilidade dos painéis */
  #modal-fileManager .fm2-main #fm2-grid[style*="display: none"],
  #modal-fileManager .fm2-main #fm2-details[style*="display: none"] {
    display: none !important;
  }
  
  #modal-fileManager .fm2-main #fm2-mobile[style*="display: block"] {
    display: block !important;
  }
  
  #modal-fileManager .fm2-main #fm2-grid:not([style*="display: none"]) {
    display: grid !important;
  }
  
  #modal-fileManager .fm2-main #fm2-details:not([style*="display: none"]) {
    display: block !important;
  }
}


/* ============================================ */
/* GEOLOCALIZADOR*/

.map-picker { display: grid; gap: .75rem; }

.map-picker__toolbar { display: flex; align-items: center; gap: .75rem; }

.map-picker__hint { font-size: .9rem; opacity: .8; }

#mapPicker { width: 100%; height: 360px; border-radius: .75rem; overflow: hidden; }

.map-picker__fields { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }

.map-picker__address { display: grid; }

.input { width: 100%; padding: .5rem .65rem; border: 1px solid #d0d5dd; border-radius: .5rem; }

.btn { padding: .45rem .8rem; border: 1px solid #cdd3da; border-radius: .5rem; background: #f7f8fa; cursor: pointer; }

.btn:hover { background: #eef1f5; }

.imgModelo{
  width: auto;
  max-width: 100%;
  height: 120px;
}

.modal_emissorEtiq-folha{
  width: 100%;
  display: flex;
  flex-direction: column;
}

.modal_emissorEtiq-folha .lin{
  display: flex;
  flex-direction: row;
  gap: 5px;
}


/* modal-fileManager ======================================= */
/* ============================================================= */
/* modal- ======================================= */

