* {outline: 0}

.xml-control{
    height: auto !important;      /* mata o height fixo do .form-control */
    min-height: 38px;             /* mantém “cara” de form-control */
    max-height: 420px;            /* limite para não estourar a página */
    overflow: auto;               /* scroll vertical e horizontal se precisar */
    white-space: normal;          /* deixa o container comportado */
    padding: .5rem .75rem;        /* mantém alinhamento bonito */
}

.xml-pre{
    margin: 0;           /* mantém identação do XML */
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    line-height: 1.4;
    white-space: pre-wrap;        /* mantém identação e quebra linhas longas */
    word-break: break-word;
}

.xml-toolbar{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-bottom:8px;
}

.campo-data-invalido {
  background-color: #f8d7da !important; /* vermelho claro */
  border-color: #dc3545 !important;
}

/* estilos da audiometria */
/* container externo — mantém as duas colunas lado a lado */
.aud-wrapper {
  display: flex;
  justify-content: center;     /* centraliza as duas colunas no meio da tela */
  align-items: flex-start;
  gap: 5px;                   /* espaçamento horizontal entre colunas */
  margin: 20px 0;
}

/* cada orelha (coluna) */
.aud-container {
  display: flex;
  flex-direction: column;      /* empilha título e linhas */
  align-items: center;         /* centraliza horizontalmente */
  width: 50%;
}

/* título */
.aud-container > span {
  font-weight: bold;
  text-align: left;
  margin-bottom: 6px;
  margin-left: 0px;
  left: 0px;
}

/* cada linha (freq + input + checkbox) */
.aud-container > div {
  display: flex;
  justify-content: left;
  align-items: center;
  width: 100%;
  gap: 6px;
}

/* texto da frequência */
.aud-container > div > div:first-of-type {
  width: 45%;
  text-align: right;
}

/* campo de texto */
.aud-container > div > input[type="text"] {
  width: 45%;
  text-align: center;
}

/* checkbox */
.aud-container > div > div:last-of-type {
  width: 10%;
  text-align: left;
}
/* estilos da audiometria */


.Atextarea {
    cursor: pointer !important;
    position: absolute !important;
    right: 12px !important;
    top: 12px !important;
    font-size: 2.5em !important;
}

#animaIcone {
    transition: transform 0.6s ease;
    display: inline-block;
}

.animaGirar {
    transform: rotate(180deg);
}

.notifica0 {
    width: 100%;
    position: fixed;
    z-index: 5000;
    top: 0px;
}

.notifica1 {
    margin: 0 auto;
    width: 100px;
    background: #cccccc;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 5px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.6);
}

.notifica2 {
    display: none;
}

.notifica3 {
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    top: 0;
    position: absolute;
    background: #aaaaaa;
    padding: 0 5px;
    font-weight: bold;
    color: #000000;
}

.notificas {
  max-height: 400px;
  margin-bottom: 3px;
  overflow-y: auto;
  overflow-x: hidden;
}

.notificacaoitem {
    width: 100%;
    background: #bbbbbb;
    margin: 1px;
    padding: 2px;
}

.alinhabox {
  display: flex;
  align-items: center;
  gap: 4px;
}

.updown {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.updown:hover {
    color: #ff0000;
}


.cidInfec, .cidPsico, .cidOcupa {
    width: 100%;
    height: 100%;
    display: block;
    color: #ffffff;
    padding: 2px 4px;
}

.cidInfec {
    background: #138613;
}

.cidPsico {
    background: #ce0a0a;
}

.cidOcupa {
    background: #1444ca;
}

.A_rolando {
    position: sticky !important;
    top: 0px !important;
    background-color: #fff !important;
    z-index: 10 !important;
}

.copiaForm {
    position: fixed !important;
    margin: 0 auto !important;
    width: 70% !important;
    z-index: 1000 !important;
    border-radius: 8px !important;
    background-color: #bbb !important;
    padding: 20px !important;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.4) !important;
    border: 1px solid #999 !important;
}

.desativado {
    background-color: #eee !important;
    cursor: auto !important;
}

.bolinhaRisco {
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    border-radius: 8px !important;
    background-color: #666;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-right: 2px;
}

.bolinhaRisco::before {
    content: "\f00d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    color: #fff;
}

.bolinhaEd {
    min-width: 16px !important;
    min-height: 16px !important;
    border-radius: 8px !important;
    background-color: #666;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-right: 2px;
}

.bolinhaEd::before {
    content: "\f040";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    color: #fff;
}

.bolinhaDe, .bolinhaEPI {
    min-width: 16px !important;
    min-height: 16px !important;
    border-radius: 8px !important;
    background-color: #666;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-right: 2px;
}

.bolinhaDe::before, .bolinhaEPI::before {
    content: "\f00d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    color: #fff;
}

.bolinhaEPI::before {
    content: "";
    color: #fff !important;
}

.bolinhaDe2 {
    min-width: 16px !important;
    min-height: 16px !important;
    border-radius: 8px !important;
    background-color: #4444;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 2px;
}

.bolinhaDe2::before {
    content: "\f00d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    color: #fff;
}

.bolinha {
    min-width: 16px !important;
    min-height: 16px !important;
    border-radius: 8px !important;
    margin-right: 4px !important;
    top: 5px !important;
    display: inline-block !important;
    border: 1px solid #666;
}

.bolinha2 {
    display: flex !important;
    align-items: center !important;
}

.A_formgrupo {
    margin: 5px 0 0 0 !important;
    padding: 0 !important;
    display: inline-block;
}

.A_formitem {
    text-align: right !important;
    padding: 0 3px !important;
    margin: 0 !important;
    display: inline-block;
}

.A_acertoCampo {
    padding-top: 12px;
}

.A_linha2 {
    padding: 4px !important;
    display: inline-block !important;
}

.A_ret {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* AVISO ------------------------------------------------------------------------------------------------- */

.A_fundoPreto {
    background: rgba(0,0,0,0.5) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: fixed !important;
    z-index: 10000 !important;
    top: 0 !important;
    left: 0 !important;
}

.A_janela {
    background: #ccc !important;
    width: 600px !important;
    border-radius: 7px !important;
    border: 1px solid #666 !important;
    text-align: center !important;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.4) !important;
}

.A_janela div {
    border-radius: 7px  7px 0 0 !important;
    background: #333 !important;
    border: 1px solid #666;
    width: 100% !important;
    padding: 10px !important;
    font-size: 1.4em !important;
    color: #ddd !important;
    text-align: left !important;
}

.A_janela p {
    width: 100% !important;
    padding: 20px 10px !important;
    text-align: left;
}

/* FIM - AVISO ------------------------------------------------------------------------------------------- */

.A_formtitulo {
    font-size: 1.4em !important;
    border-bottom: 1px solid #dddddd !important;
    margin: 6px 0 10px 0 !important;
}

.A_obrigatorio {
    border: 1px solid #f00;
    background: rgb(255, 78, 78);
}

.A_opcoes {
    left: -70px !important;
    top: 12px !important;
    transform: scale(0.5);
    opacity : 0.4;
    transition: opacity 0.5s, transform 0.5s;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}

.A_opcoes:hover {
    transform: scale(0.8);
    opacity : 1;
    transition: opacity 0.5s, transform 0.5s;
    background: none !important;
    border: none !important;
}

.A_titulo-light {
    font-size: 1.6em !important;
    text-shadow: 2px 2px 3px rgba(0,0,0,0.4) !important;
    float: left !important;
    color: rgba(0, 0, 0, 0.6) !important;
    width: 100% !important;
    text-align: left !important;
}

.A_titulo-dark {
    font-size: 1.6em !important;
    text-shadow: 2px 2px 3px rgba(0,0,0,0.4) !important;
    float: left !important;
    color: rgba(255, 255, 255, 0.6) !important;
    width: 100% !important;
}

.A_fecha {
    float: right !important;
    top: 0px !important;
    margin-right: 30px !important;
    margin-left: 5px !important;
    text-align: center !important;
    cursor: pointer !important;
    font-size: 32px !important;
    text-shadow: none !important;
}

.A_registrosX {
    float: right !important;
    margin-top: 9px !important;
    text-align: center !important;
    cursor: pointer !important;
    font-size: 0.5em !important;
    text-shadow: none !important;
    height: 32px !important;
    border-radius: 16px !important;
    padding: 0px 20px !important;
}

.A_registros {
    float: right !important;
    margin-top: 9px !important;
    text-align: center !important;
    cursor: pointer !important;
    font-size: 0.5em !important;
    text-shadow: none !important;
    height: 32px !important;
    border-radius: 16px !important;
    padding: 0px 20px !important;
    background: #f00;
}

.A_loader {
    width: 40px;
    filter: hue-rotate(0deg);
    animation-name: example;
    animation-duration: 10s;
    animation-iteration-count: infinite;
  }
  
  @keyframes example {
    from {
    filter: hue-rotate(0deg);
    }
    to {
    filter: hue-rotate(360deg);
    }
  }

/* TABELA DE DADOS --------------------------------------------------------------------------------------- */

.tabelaexames {
    border-collapse: collapse;
    width: 100%;
}

.tabelaexames th, .tabelaexames td {
    border: 1px solid #ccc;
    padding: 0 5px;
}

.tabelaexames th {
    background: #ccc;
    color: #000;
    font-weight: bold;
    text-align: center;
}

.tabelaexames input {
    border: 0;
    background: none;
    width: 100%;
    text-align: right;
}

.A_datatable {
    border: 1px solid #aaa !important;
    margin-bottom: 0 !important;
    border-radius: 7px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
    box-shadow: 0 0.46875rem 2.1875rem rgb(4 9 20 / 3%), 0 0.9375rem 1.40625rem rgb(4 9 20 / 3%), 0 0.25rem 0.53125rem rgb(4 9 20 / 5%), 0 0.125rem 0.1875rem rgb(4 9 20 / 3%);
}

.A_datatable thead tr th {
    background-color: rgba(255, 255, 255, 0.6) !important;
}

.A_datatable tbody {
    background: none !important;
}

.A_datatable tbody tr:hover {
    background-color: rgb(71, 71, 71) !important;
    color: #fff !important;
    transition: background-color 0.5s, color 0.5s;
}

.A_datatable tbody tr {
    background-color: auto !important;
    color: auto !important;
    transition: background-color 0.5s, color 0.5s;
}

.A_datatable tbody tr td {
    padding: 4px !important;
}

.A_datatablecontroles {
    position: absolute !important;
    right: 3px !important;
    top: 0px !important;
    font-size: 1.2em !important;
}

.A_campos, .A_icones, .A_camposesquerda, .A_iconesdireita, .A_iconesmeio {
    background: #eee !important;
    color: #666 !important;
    font-size: 0.9em !important;
    border: 1px solid #bbb !important;
    height: 30px;
    margin: 0 !important;
}

.A_campolimpo {
    padding: 0px !important;
}

.A_iconeBusca {
    background: #eee !important;
    color: #666 !important;
    height: 32px;
    margin: 0 !important;
    border-radius: 16px !important;
    font-size: 0.5em !important;
    width: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: right;
    cursor: pointer !important;
    margin-top: 8px !important;
    border: 1px solid #bbb !important;
    text-shadow: none !important;
}

.A_campoBusca {
    background: #eee !important;
    color: #666 !important;
    font-size: 0.5em !important;
    border: 1px solid #bbb !important;
    height: 32px;
    margin: 0 !important;
    border-radius: 16px !important;
    float: right;
    padding-left: 10px;
    margin-top: 8px !important;
}

.A_campos {
    border-radius: 6px !important;
    float: left;
}

.A_campo {
    font-size: 13px !important;
    padding: 6px 8px !important;
    max-width: 100% !important;
    margin: 1px 0 !important;
    color: #394263 !important;
    border: 1px solid #dbe1e8 !important;
    text-align: left !important;
    display: block !important;
    min-height: 34px !important;
    border-radius: 4px !important;
    flex: 1;
    background: #fff;
}

.A_botao {
    font-size: 13px !important;
    padding: 6px 8px !important;
    width: 34px !important;
    margin: 1px 0 !important;
    color: #ffffff !important;
    border: 1px solid #dbe1e8 !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px !important;
    border-radius: 4px !important;
    cursor: pointer;
}

.red {background-color: #ff0000;}
.green {background-color: #06c200;}
.blue {background-color: #0501da;}
.grey {background-color: #757575;}

.A_campo2 {
    font-size: 13px !important;
    max-width: 100% !important;
    margin: 2px 0 !important;
    color: #394263 !important;
    border: 1px solid #dbe1e8 !important;
    text-align: left !important;
    min-height: 34px !important;
    border-radius: 4px !important;
    flex: 1;
    background: #fff;
    padding-bottom: 5px;
}

.A_label {
    padding: 8px !important;
    font-weight: bold;
}

.A_icones {
    border-radius: 6px !important;
    font-size: 1em !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: left;
    width: 30px !important;
    cursor: pointer !important;
}

.A_camposesquerda {
    border-radius: 6px 0 0 6px !important;
    float: right;
}

.A_iconesdireita {
    border-radius: 0 6px 6px 0 !important;
    font-size: 1em !important;
    width: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: right;
    cursor: pointer !important;
}

.A_iconesmeio {
    font-size: 1em !important;
    width: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: right;
    cursor: pointer !important;
}

.A_botaoExtra, .A_botaoNormal, .A_botaoDesabilitado {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.2em !important;
    width: 30px !important;
    height: 30px !important;
    border: 1px solid #aaa
}

.statusA, .statusI, .statusG {
    width: 80px;
    text-align: center;
    border-radius: 10px !important;
    padding: 2px 0;
    font-weight: bold;
}

.statusA {
    background: rgb(100, 255, 100);
}

.statusI {
    background: rgb(255, 100, 100);
}

.statusG {
    background: rgb(147, 135, 255);
}

.A_botaoDesabilitado {
    background: #ccc;
    color: #ddd !important;
}

.A_botaoNormal {
    background: #ccc;
}

.A_botaoNormal:hover {
    background: #bbb;
}

.A_paginacao {
    text-align: right !important;
    background: rgba(255, 255, 255, 0.6) !important;
    padding: 3px !important;
}

.A_paginacao2 {
    width: 100% !important;
    padding: 2px !important;
}

.A_paginacao3 {
    float: right !important;
}

.A_paginacao4 {
    margin: 0 !important;
}

.A_contaRegistros {
    float: left !important;
    font-weight: bold !important;
}



.A_dados thead tr th {
    /*resize: horizontal;*/
    overflow: auto;
    position: relative !important;
}

.A_dados {
    margin-bottom: 40px !important;
}

.AC0 {
    border-radius: 6px 6px 0 0 !important;
}

.AC1 {
    border-radius: 6px 0 0 0 !important;
}

.AC2 {
    border-radius: 0 6px 0 0 !important;
}

.AC3 {
    border-radius: 0 0 6px 0 !important;
}

.AC4 {
    border-radius: 0 0 0 6px !important;
}

.AC5 {
    border-radius: 0 0 6px 6px !important;
}

.AC6 {
    border-radius: 6px !important;
}

label {
    white-space: nowrap !important;
    width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.Atopo {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: right !important;
    position: relative !important;
    padding-right: 5px !important;
}

.Ahamburger {
    margin-left: 20px !important;
    position: absolute !important;
}

.Asubmenu {
    padding: 3px 5px !important;
    display: inline-block !important;
    border-radius: 5px !important;
    border: 1px solid rgba(0, 0, 0, 0.3) !important;
    text-align: center !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.Asubmenu:hover {
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.4) !important;
}

.Agrupo {
    background: #797979;
    cursor: pointer;
    padding-top: 12px;
    color: #fff;
}

.Agrupo2 {
    background: #797979;
    cursor: pointer;
    padding-top: 8px;
    color: #fff;
    width: 40px !important;
    display: inline-block;
    text-align: center;
}

.Agrupo3 {
    background: #797979;
    cursor: pointer;
    padding-top: 8px;
    color: #fff;
    width: 40px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.Agrupo:hover, .Agrupo2:hover, .Agrupo3:hover {
    background: #9b9b9b;
    color: #414141;
}

.Aopcoes {
    display: none;
    height: 200px;
    overflow-y: auto;
    padding: 0 !important;
    position: absolute;
    z-index: 1000;
}

.AlinhaCombo {
    width: 100%;
    cursor: pointer;
    padding: 6px;
}

.AlinhaComboFechar {
    width: 100%;
    cursor: pointer;
    padding: 6px;
    font-weight: bold;
    background: #ddd;
}

.AlinhaCombo:hover {
    background: #ccc;
}


  /* Ajustes visuais para imagem + texto */
  .selopt { display:flex; align-items:center; gap:8px; }
  .selopt img { width:20px; height:20px; object-fit:contain; }


.comboImg, .comboImg2, .comboImg3 {
    list-style-type: none;
    font-size: 13px !important;
    max-width: 100% !important;
    margin: 1px 0 !important;
    color: #394263 !important;
    border: 1px solid #dbe1e8 !important;
    text-align: left !important;
    display: block !important;
    min-height: 34px !important;
    border-radius: 4px !important;
    flex:1;
    max-height: 300px;
    background: #fff;
}

.comboImg3 img {
    width: 20px;
}

.comboImg3 {
    padding: 6px 8px;
}

.comboImg {
    overflow-y: scroll;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 0 !important;
}

.comboImg2 {
    overflow-y: none;
    padding: 0 !important;
}

.comboImg img {
    width: 20px;
}

.comboImg2 li {
    display: none;
}

.comboImg2 li:first-child {
    border: none !important;
    padding: 6px 8px !important;
    display: block;
    background: url('../assets/images/setinhacombo.png') no-repeat right center;
}

.comboImg li {
    border-top: 1px solid #dbe1e8;
    padding: 3px 8px;
    cursor: pointer;
}

.comboImg li:hover {
    background: #dbe1e8;
}

.comboImg li:first-child {
    border: none !important;
    padding: 6px 8px !important;
}

.notificacoes {
    position: relative !important;
    width: 100% !important;
}


.mes {
    border-spacing: 1px;
    border-collapse: separate;
}

.mes td {
    padding: 2px;
}

.mesTitulo {
    font-size: 1.8em;
}

.mudaMes {
    cursor: pointer !important;
    margin-left: 15px !important;
    font-size: 1.5em !important;
    color: #fff !important;
}

.iconeMes {
    cursor: pointer !important;
    color: #344a3d !important;
}

.mes1 {
    width: 40px !important;
    text-align: center !important;
}

.mes2 {
    width: 60px !important;
    text-align: left !important;
}

.mes3 {
    width: calc(33.33% - 220px) !important;
    text-align: left !important;
}

.mes4 {
    width: 80px !important;
    text-align: center !important;
}

.botoesMes {
    position: absolute;
    margin-top: -52px !important;
    right: 30px !important;
    font-size: 2em;
    z-index: 1000 !important;
}

.dia1 {
    background: #eeeeee !important;
}

.dia2 {
    background: #fcc6c6 !important;
    color: #aaaaaa !important;
}

.dia3 {
    background: #ffe7ba !important;
    color: #aaaaaa !important;
}

.preview {
    display: none;
    width: 250px;
}

.imagemAmpliada {
    background: rgba(0,0,0,0.5) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    position: fixed !important;
    z-index: 10000 !important;
    top: 0 !important;
    left: 0 !important;
}

.ampliada {
    max-width: 100%;
    max-height: 100%;
}

.miniaturaExibe {
    width: 100%;
    height: 0;
    padding-top: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    border: 1px solid #ddd;
    border-radius: 6px !important;
    position: relative;
    font-size: 16px;
    color: #fff;
}

.miniatura {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 90px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 6px !important;
    font-size: 16px;
    color: #fff;
}

.mini_fecha, .mini_abre {
    position: absolute !important;
    top: 3px !important;
    right: 3px !important;
    cursor: pointer !important;
    background: #000;
    border-radius: 12px !important;
    box-shadow: 0px 0px 5px #fff !important;
    padding: 4px;
    height: 24px;
    width: 24px;
    text-align: center;
}

.mini_abre {
    left: 3px !important;
}

.mini_fecha2 {
    position: absolute !important;
    top: 3px !important;
    right: 6px !important;
    cursor: pointer !important;
    text-shadow: 0px 0px 5px #fff !important;
    color: #000;
}

.sanfona {
    float: left !important;
    margin-right: 5px !important;
    cursor: pointer !important;
}

.A_linha {
    padding: 0px !important;
    min-height: 40px !important;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {

    .A_datatablecontroles {
        position: relative !important;
        float: left !important;
        width: auto;
        font-size: 1.2em !important;
    }

}