* {
    box-sizing: border-box;
    word-wrap: break-word;
    margin: 0;
    padding: 0;
    color: inherit;
    font-family: Arial;
    font-size: inherit;
    outline: 0;
}

body {
    color: #000;
    font-size: 13px;
    overflow-x: hidden;
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #DDD;
}

::-webkit-scrollbar-thumb {
    background: #04AA6D;
}

::-webkit-scrollbar-thumb:hover {
    background: #1077A9;
}

#fundo {
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 3;
}

#carregando {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    z-index: 999;
}

#carregando::after {
    content: "";
    width: 50px;
    height: 50px;
    border: 5px solid #93B3CC;
    border-top-color: #04AA6D;
    border-radius: 50%;
    animation: carregando 1s linear infinite;
}

#alerta {
    position: fixed;
    display: none;
    justify-content: center;
    align-items: center;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 998;
}

#container {
    display: none;
    justify-content: center;
    align-items: center;
    min-width: 100vw;
    min-height: 100vh;
    background-color: #93B3CC;
}

.subdiv {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.flex0 {
    flex: 0;
}

.row {
    flex-direction: row;
}

.wrap {
    flex-wrap: wrap;
}

.gap5 {
    gap: 5px;
}

.gap10 {
    gap: 10px;
}

.checkbox {
    align-items: center;
    gap: 5px;
    margin: 10px 0;
}










/* CSS PADRÃO */

label,
.label {
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

label span {
    font-weight: normal;
}

input {
    font-size: 13px;
}

input[type=text],
input[type=email],
input[type=password],
input[type=date],
input[type=url],
input[type=tel],
input[type=number],
input[type=file],
select,
option {
    height: 35px;
    line-height: 35px;
    padding: 0 10px;
    border: 1px solid #BBB;
    border-radius: 4px;
    box-shadow: 0 0 5px #BEBEBE;
}

input[type=email],
input[type=url],
input[class=editar],
input[class=imagens] {
    text-transform: lowercase;
}

input[id=observacao_produto],
input[id=chave] {
    text-transform: none;
}

input[type=number]::-webkit-inner-spin-button { 
    -webkit-appearance: none;
}

input[type=date],
.date {
    width: 140px;
}

input[type=time] {
    width: 80px;
}

input[type=file] {
    width: 320px;
    background-color: #FFF;
}

input[type=submit],
button,
.botoes .button {
    display: inline-block;
    height: 35px;
    line-height: 35px;
    padding: 0 20px;
    background-color: #224074;
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
}

input[type=submit]:hover,
button:hover,
.botoes .button:hover,
.verPagamento:hover,
.verRecebimento:hover {
	background-color: rgba(34, 64, 116, 0.8);
}

#importar {
    background-color: #03B8FF;
}

#importar:hover {
    background-color: rgba(3, 184, 255, 0.8);
}

#filtrar {
    background-color: #4CAF50;
}

#filtrar:hover {
    background-color: rgba(76, 175, 80, 0.8);
}

input[type=submit][disabled] {
	background-color: rgba(34, 64, 116, 0.5);
    cursor: no-drop;
}

input:-webkit-autofill {
    box-shadow: inset 0 0 0 20px #FFF;
}

.required {
    color: #F00;
}

label :not(span[class="required"]) {
    display: none;
}

.disabled,
#disabled,
*[disabled],
*[readonly] {
    background: #DDD;
    color: #777;
    cursor: no-drop;
    pointer-events: none;
    touch-action: none;
}

*[type=checkbox][readonly] {
    all: unset;
    display: inline-block;
    width: 11px;
    height: 11px;
    background-color: #DDD;
    border: 1px solid #BBB;
    border-radius: 2px;
}

.botoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

ul,
li {
    list-style: none;
}

a {
    text-decoration: none;
}

a.link:hover {
    text-decoration: underline;
	cursor: pointer;
}

/*
a.link {
	color: #FFF;
}

a.link:hover {
    text-decoration: underline;
	cursor: pointer;
}

a.acoes img {
    width: 22px;
    height: 22px;
}

a.acoes img:hover {
    opacity: 0.5;
    cursor: pointer;
}
*/

.tabela {
    background-color: red;
}

table {
    margin: 30px 0;
    width: 100%;
    border: 0;
    border-collapse: collapse;
}

table input {
	display: none;
}

table input[type=checkbox],
table input[type=time],
table input[type=radio] {
    display: inline-block;
}

thead tr,
tfoot tr {
	background-color: #224074;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
}

tbody tr {
    background-color: #FFF;
}

tbody tr:nth-child(even) {
    background-color: #E4F3FF;
}

tbody tr:hover {
    background-color: #B9DAF3;
}

tbody td {
    vertical-align: top;
}

th,
td {
	padding: 14px 10px;
    text-align: start;
}

th.id {
    width: 70px;
}

th.checkbox {
    width: 30px;
}

th.data {
    width: 90px;
}

th.acoes {
    width: 100px;
}

td.acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding-bottom: 11px;
}

td.acoes img {
    width: 22px;
    height: 22px;
}

td.acoes img:hover {
    opacity: 0.5;
    cursor: pointer;
}


div.tags {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0 5px;
}

span.tags {
    padding: 5px;
    font-size: 11px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    text-transform: uppercase;
}

img.pesquisar {
    width: 35px;
    height: 35px;
}

img.pesquisar:hover {
    opacity: 0.5;
    cursor: pointer;
}

#id_pessoa_tipo {
    width: 150px !important;
}

#id_identificador_tipo {
    width: 150px !important;
}

#identificador {
    width: 150px !important;
}

#id_plano {
    width: 150px !important;
}

#id_situacao {
    width: 150px !important;
}

#end_cep_nacional,
#end_cep_exterior {
    width: 100px;
}

#end_numero_nacional,
#end_numero_exterior {
    width: 100px;
    text-transform: uppercase;
}

#end_ibge_nacional,
#end_ibge_exterior {
    display: none;
}

#end_pais_exterior {
    width: 518px;
}

#end_estado_exterior {
    width: 668px;
}

#end_municipio_exterior {
    width: 668px;
}

#tel_ddi {
    width: 100px;
}

#tel_mascara {
    width: 150px;
}

#id_funcao {
    width: 200px !important;
}

#id_pais,
#id_paises {
    width: 100vw !important;
}

#id_estado,
#id_estados {
    width: 100vw !important;
}

#id_municipio {
    width: 100% !important;
}

#id_departamento {
    width: 150px !important;
}










/* LOGIN */

/*ESCREVER ABAIXO*/

#login {
    display: flex;
    flex-direction: column;
    margin: 20px;
    width: 100%;
    max-width: 400px;
    background-color: #FFF;
    border-radius: 10px;
}

#login .site-nome {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
    background-color: #1C4A84;
    color: #FFF;
    font-size: 30px;
    font-weight: bold;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
}

#login form {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px;
    padding-bottom: 40px;
}

#login form .botoes {
    justify-content: flex-end;
}










/* EMPRESAS */

#form-cadastros-empresas-selecionar {
    display: flex;
    flex-direction: column;
    margin: 20px;
    width: 100%;
    max-width: 400px;
    background-color: #FFF;
    border-radius: 10px;
}

#empresas {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px;
    padding-bottom: 40px;
}

#empresas .botoes {
    justify-content: flex-end;
}










/* MENU */

#menu {
    width: 200px;
    height: 100vh;
    background-color: #1F232A;
    color: #FFF;
    transition: 0.5s;
    overflow-x: hidden;
    overflow-y: scroll;
    z-index: 1;
}

#menu::-webkit-scrollbar {
    width: 5px;
}

#menu .dados {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 20px;
    font-weight: bold;
    text-align: center;
}

#menu .dados .empresa {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

#menu .dados .empresa .logomarca img {
    max-width: 150px;
    max-height: 150px;
    border: 1px solid #FFF;
}

#menu .dados .empresa .nome {
    font-size: 16px;
}

#menu .dados .usuario .nome {
    font-size: 14px;
}

#menu .dados .trocar-empresa {
    font-size: 11px;
}

#menu .dados .trocar-empresa a:hover {
    text-decoration: underline;
}

#menu nav li {
    position: relative;
}

#menu nav a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px;
    padding-right: 35px;
    cursor: pointer;
}

#menu nav a.ativo {
    background-color: #04AA6D;
}

#menu nav a:hover {
    background-color: #1077A9;
}

#menu nav .mostrar {
    position: absolute;
    display: flex;
    justify-content: flex-end;
    top: 0;
    right: 0;
    height: 35px;
    cursor: pointer;
    transition: bottom 0.5s ease 0s;
}

#menu nav .mostrar .seta {
    width: 35px;
    height: 35px;
}

#menu nav li.pagina .mostrar .seta {
    background-color: #25385A;
}

#menu nav li.subpagina .mostrar .seta {
    background-color: #1D3D76;
}

#menu nav li.pagina .mostrar .seta:hover,
#menu nav li.subpagina .mostrar .seta:hover {
    background-color: #1077A9;
}

#menu nav .mostrar .seta::after {
    content: "";
    position: absolute;
    top: 0;
    margin: 15px 12px;
}

#menu nav .mostrar .seta::after {
    border-top: 5px solid #FFF;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

#menu nav .mostrar .seta::after {
    right: 0;
}

#menu nav ul.subpagina,
#menu nav ul.subpagina2 {
    display: none;
    position: relative;
}

#menu nav ul.subpagina {
    background-color: #25385A;
}

#menu nav ul.subpagina2 {
    background-color: #1D3D76;
}

#menu nav ul li.subpagina a {
    padding-left: 20px;
}

#menu nav ul li.subpagina2 a {
    padding-left: 30px;
}










/* CONTEÚDO */

#conteudo {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100vh;
    background-color: #DDD;
}

#conteudo > .dados {
    display: none;
    gap: 5px;
    height: 40px;
    padding: 10px;
    padding-left: 60px;
    background-color: #1F232A;
    color: #FFF;
    font-size: 17px;
    font-weight: bold;
}

#conteudo > .dados .usuario .nome::before {
    content: " | ";
}

#conteudo > .main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 10px;
    overflow-y: scroll;
}

.main > .titulo {
    font-size: 20px;
    font-weight: bold;
}

.main > .pagina,
.main > .pagina form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}










/* DIV TABLE */

.div-table {
    position: fixed;
    display: none;
    justify-content: center;
    align-items: center;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 4;
}

.div-table > div {
    display: flex;
    flex-direction: column;
    margin: 20px;
    width: 100vw;
    max-width: 728px;
    height: calc(100vh - 40px);
    max-height: 500px;
    background-color: #FFF;
    border-radius: 10px;
    border-top-right-radius: 0;
}

.div-table .head {
    position: relative;
}

.div-table .head .titulo {
    padding: 20px;
    font-size: 20px;
    font-weight: bold;
}

.div-table .head .fechar {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    right: 0;
    width: 50px;
    height: 30px;
    background-color: rgba(255, 0, 0, 0.5);
    color: #FFF;
}

.div-table .head .fechar:hover {
    background-color: rgba(255, 0, 0, 1);
    cursor: pointer;
}

.div-table .body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-right: 10px;
    padding: 0 20px;
    overflow-y: scroll;
}

.div-table .foot {
    display: flex;
    justify-content: flex-end;
    padding: 20px;
}

#endereco-nacional,
#endereco-exterior {
    gap: 10px;
}




















/* MEDIA */

/*ESCREVER ABAIXO*/




















/* KEYFRAMES */

@keyframes carregando {

    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }

}















































