/* 4.0 -webkit- (Safari, Chrome) / 3.0 -moz- */
@charset "UTF-8";
*, *:before, *:after{margin: 0; padding: 0; box-sizing: border-box;}
body{margin: 0; padding: 0; box-sizing: border-box;}
html, body {height:100%; font:12px Arial, Helvetica, sans-serif; margin: 0; padding: 0; box-sizing: border-box;}
/*h1,h2,h3,h4,h5,h6{display: block; text-align: center; margin: 0 0 6px 0; padding: 3px 0; border: 1px #000000 solid;}*/
h1,h2,h3,h4,h5,h6{display: block; text-align: center; margin: 0 0 6px 0; padding: 3px 0;}
img{margin: 10px auto; border: none;}
.texto {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
}
.texto_courier {
    font-family: "Courier New", Courier, mono;
    font-size: 12px;
    color: #000000;
    background-color: #FFFFFF;
    border-radius: 5px; /* CSS3 */
}
.titulo {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #FFFFFF;
    line-height: normal;
    text-transform: none;
    background-color: #0000CC;
    text-align: center;
    font-weight: bold;
    border-radius: 5px; /* CSS3 */
}
.linkmenu:hover {
    color: #FFFF00;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
.exibe {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    background-color: #CCCCCC;
    text-align: left;
    border: none;
    border-radius: 5px; /* CSS3 */
}
.campo {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #CCCCCC;
    border: thin outset;
    border-radius: 5px; /* CSS3 */
}
.exititulo {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: normal;
    text-transform: none;
    background-color: #999999;
    text-align: center;
    color: #FFFFFF;
    font-weight: normal;
    border-radius: 5px; /* CSS3 */
}
.exilinha {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: normal;
    text-transform: none;
    background-color: #CCCCCC;
    text-align: left;
    color: #000000;
    font-weight: normal;
    white-space: normal;
}
.exilinhabranca {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: normal;
    text-transform: none;
    background-color: #FFFFFF;
    text-align: left;
    color: #000000;
    font-weight: normal;
    white-space: normal;
    border-collapse:collapse;
}
.tabela {
    clear:none;
    border-collapse: collapse;
    border-color: #000000;
}
.selecao {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #C1E0FF;
    background-position: left top;
    text-align: left;
    vertical-align: top;
    border-radius: 5px; /* CSS3 */
}
.dados {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #FFFFFF;
    background-position: left;
    text-align: left;
    border-radius: 5px; /* CSS3 */
}
.dadosn {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #FFFFFF;
    background-position: right;
    text-align: right;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px; /* CSS3 */
}
.cheque {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #000000;
    background-color: #FFFFFF;
    background-position: left;
    text-align: left;
}
fieldset{
    border: 2px solid #000;
    border-radius: 5px; /* CSS3 */
    margin: 10px auto;
    padding: 5px 0;
}
legend{
    display: table;
    min-width: 0px;
    max-width: 70%;
    position: relative;
    margin: auto;
    padding: 5px 25px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    text-decoration: underline;
    border-radius: 5px; /* CSS3 */
}
.textorel {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
}
.form_cabecalho {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    border-radius: 5px; /* CSS3 */
}

/* botoes geral */
.botao {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #C6E2FF;
    border-radius: 5px; /* CSS3 */
}
.botao_adm {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #FFFACD;
    border-radius: 5px; /* CSS3 */
}
.botao_sair {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #E9967A;
    border-radius: 5px; /* CSS3 */
}
.botao_courier {
    font-family: "Courier New", Courier, mono;
    font-size: 12px;
    color: #000000;
    background-color: #FFCC66;
    border-radius: 5px; /* CSS3 */
}
.botoes {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #F5F5F5;
    border-radius: 5px; /* CSS3 */
}
.botao_close {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #FFFFFF;
    background-color: #FF0000;
    font-weight: bold;
    border-radius: 5px; /* CSS3 */
}
.botao_inclui {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #C6E2FF;
    border-radius: 5px; /* CSS3 */
}
.botao_insere img{margin: 0 !important; padding: 0;}
.botao_cancela {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #E9967A;
    border-radius: 5px; /* CSS3 */
}
.botao_altera {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #FFFACD;
    border-radius: 5px; /* CSS3 */
}
.botao_ok {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #C1FFC1;
    border-radius: 5px; /* CSS3 */
}
.botao_fechar {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #E9967A;
    border-radius: 5px; /* CSS3 */
}
.botao_limpa {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #FFFACD;
    border-radius: 5px; /* CSS3 */
}
/* botoes geral */

.borda {
    height: auto;
    width: auto;
    border: thin solid #000000;
}

/* Index - login */
.gradeIndex{
    display: block;
    width: 620px;
    margin: 20px auto 0 auto;
    border: solid 1px #000;
    text-align: center;
    border: none;
}
/*
.gradeIndex{
    display: flex;
    margin: 50% auto;
    text-align: center;
}
*/
.gradeIndex p{border: solid 1px;}
.gradeIndex form{
    display: block;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #FFFFFF;
}
.gradeIndex form button[type="submit"]{
    display: inline-block !important;
    margin: 10px auto;
}
#gridFrm span{
    display: flex;
    justify-content: center;
/*    border: solid 1px red;*/
    margin: 10px 0;
}
#gridFrm label{
    color: #000;
/*    border: solid 1px black;*/
    width: 100px;
    text-align: right;
    padding-right: 5px;
}
.titleIndex {
    border: none !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    color: blue;
    text-align: center;
    margin: 20px 0;
}
.textoIndex {
    border: none !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    text-align: center;
    margin: 20px 0;
}
.textologo {
    font-family: Times New Roman, Times, serif;
    font-size: 72px;
    color: #FFCC00;
}
.dadosIndex{
    text-align: center !important;
}
.btn_closeIndex {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #FFFFFF;
    background-color: #FF0000;
    font-weight: bold;
    border-radius: 5px; /* CSS3 */
}
.btn_okIndex {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    background-color: #C1FFC1;
    padding: 3px 10px;
    border-radius: 5px; /* CSS3 */
}
/* Index - login */

#mensagem{
    display: block;
    padding: 5px;
    text-align: center;
    color: #000000;
}

.text-uppercase{text-transform: uppercase !important;}
.text-lowercase{text-transform: lowercase !important;}

/*input { border: 1px solid blue; }*/
input::placeholder { text-align: center !important; }
/*input:required { border: 1px dashed red; }*/
input:invalid { border: 1px solid dashed red; }
/*input:valid { border: 2px solid green; }*/

.valido { border: 2px solid green; }
.invalido { border: 2px solid red; }

input[type=checkbox]{ margin: 0 4px !important; }
input[type=radio]{ margin: 0 4px !important; }
input[type="button"]{padding: 2px 4px !important;}
input[type="submit"]{padding: 2px 4px !important;}
input[type="reset"]{padding: 2px 4px !important;}
input[type="number"]{width: 110px; padding: 0;}

button[type="button"]{padding:3px 6px !important;}
button[type="submit"]{padding:3px 6px !important;}
button[type="reset"]{padding:3px 6px !important;}

button.glyphicon{margin: 0 2px;}

table { display: table; margin:4px auto; border-collapse: collapse; }
tr { display: table-row; }
thead { display: table-header-group; text-transform: uppercase; }
tbody { display: table-row-group; }
tfoot { display: table-footer-group; }
col { display: table-column; }
colgroup { display: table-column-group; }
tbody > tr td{ display: table-cell; vertical-align: middle !important; }
caption { display: table-caption; }

th{ padding: 0 2px; text-align: center !important; }
thead th{text-align: center !important;}
thead > th{ text-align: center !important; vertical-align: middle !important; }
thead > tr.titulo{ text-align: center !important; vertical-align: middle !important; }
tbody > td[nowrap]{ white-space: nowrap; padding: 0 !important; }

tr.botao_fechar{ color: #FFFF; font-weight: bold; }
td{ padding:0 2px !important; vertical-align: text-top !important; }
td[align="center"] {text-align: center !important; vertical-align: middle; padding:0 !important;}
td[align="right"] {text-align: right !important; vertical-align: middle; padding-right:4px !important;}
td[valign="top"]{ vertical-align: top !important; }
td[nowrap]{ white-space: nowrap; padding: 0 !important; }
td:has(.itemColumn){
  display: flex;
  justify-content: space-around;
  flex-direction: row;
}

caption{font-weight:bold; text-align: left; padding: 4px;}
caption.exititulo{font-weight:bold; border:#000000 solid 1px; color:#000000; padding:4px;}
caption.botao_fechar{text-transform: none !important; border:#000000 solid 1px; text-align: center;}
caption p{display: inline-flex; padding:5px 0 5px 0; text-align: center; border: none;}
caption form{display: inline-flex; padding:5px 10px; margin: 0 auto; text-align: center !important;}
caption button[type="button"]{float:right !important;}
caption button[type="button"].botao_inclui{float:right !important;}
caption button[type="button"].botao_close{float:right !important;}
caption button[type="button"].botao_fechar{float:right !important;}
caption button[type="button"].botoes{float:left !important;}

/*h1 button[type="button"]{float:right !important;}*/
/*h2 button[type="button"]{float:right !important;}*/
/*h1,h2,h3,h4,h5,h6 button[type="button"]{float: right;}*/

/**Retira bordas internas tabela consulta/selecao**/
table.selecao{
  border: 1px solid;
  th, td{ border: 0px; }
}
/**Retira bordas internas tabela consulta/selecao**/

/*table.selMenu button[type="button"]{text-align: center; padding: 4px;}*/
/*table.selMenu{margin:10px auto;}*/
table.selMenu{margin:10px auto; border: solid 2px #000;}
table.selMenu button[type="button"]{width: 400px; text-align: center; padding: 4px;}
table.selMenu button[type="button"]:hover{color:white; background-color:green;}

/**Menu**/
.grid-col-3{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3);
  grid-gap: 5px;
}
label:has(input[type=radio]){
  display: inline-block; min-width: 100px !important; margin-right: 10px; white-space: nowrap;
}

/**Header table fixed**/
.table-header-fixed {
    width: 100%;
    max-height: 700px; /* altura da área com scroll */
    overflow-y: auto;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    position: relative;
}

/* tabela */
.table-header-fixed table {
    width: 100%;
    border-collapse: collapse;
}

/* Fixando o Caption */
.table-header-fixed caption {
    padding: 15px;
    font-weight: bold;
    font-size: 1.2em;
    background-color: #0000CC;
    text-align: center;
    color: white;
    caption-side: top;
    position: sticky;
    top: 0;
    z-index: 1;
}

.table-header-fixed thead {
    display: table-header-group;
}

/* Fixando o thead */
.table-header-fixed th {
    background-color: #007bff;
    border-bottom: 2px solid #0056b3;
    color: white;
    padding: 12px;
    text-align: left;
    /* O top deve ser a altura aproximada do caption para não sobrepor */
    position: sticky;
    top: 50px;
    z-index: 2;
}
/**Header table fixed**/

/**Menu**/
section.selecao{display: block; width: 50%; margin: 20px auto; padding: 0 10px; border: 1px #000000 solid;}
nav.selecao{display: flex;}
.menuV {list-style: none; width: 300px; margin: 0 10px; padding: 0;}
.menuV li{position: relative;}
.menuV li a{display: block; padding: 8px; text-align: center; text-decoration: none; background-color: #e9e9ed; color: #000000; border: 1px #000000 solid; border-radius: 5px; /* CSS3 */ -moz-border-radius:5px; /* Firefox */ -webkit-border-radius: 5px; /* Safari, Chrome */ }
.menuV li a:hover{color:white; background-color:green;}
/**Menu**/

h1 button[type="button"].botao_close{float:right !important; top: 0;}

img{margin: 10px auto; border: none;}
.imgSelecao{margin: 0px !important}
img[alt="assinatura"]{margin: 0px !important}
img[src="imagens/selecao.jpg"]{margin: 0px !important; width:24px; height: 24px;}
img[src="imagens/delete.png"]{margin: 0px !important; width:24px; height: 24px;}
img[src="imagens/logo_rel.jpg"]{display: block; margin: 10px auto !important; width:24px; height: 24px;}
img[src="imagens/impressora.png"]{display: block; margin: 10px auto !important; width:24px; height: 24px;}
img[src="imagens/download.png"]{display: block; margin: 10px auto !important; width:24px; height: 24px;}
img[src="imagens/corte_aqui.jpg"]{display: block; margin: 40px auto !important;}

.itemColumn{ flex: 1; }
.itemColumn label{ display: block; }

#codAdm{ float: right; margin-right: 10px; }
code{ display: none; }

/**dialog**/
dialog {
    min-width: 700px;
    text-align: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
}
dialog button[type="button"]:not(.botao_close){
    display: block;
    margin: 40px 10px !important;
}
dialog .col-ln{
    display: block;
    text-align: left;
    margin: 10px 0;
    padding: 0;
}
.col-ln span{
    float: left;
    width: 20%;
    margin: 0;
    text-align: left;
    padding: 0 10px;
}
dialog::backdrop {
    position: fixed;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    inset: 0px;
    background: #CCCCCC;
    /*background: rgba(0, 0, 0, 0.1);*/
    backdrop-filter: blur(1px);
}
/**dialog**/
