body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
	position: relative; /* Necessário para o overlay */
}

/* Imagem de fundo */
.background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(to bottom, transparent 10%, #C2E2E1 60%), 
                        url(../img/fundo2a.jpg) no-repeat center center fixed;*/
	background: linear-gradient(to bottom, #01151e 10%, #3B3F57 50%);

	background-size: cover;
	z-index: -1; /* Mantém a camada atrás do conteúdo */
	opacity: 0.6; /* Aplica opacidade */
}

#loading-bar {
	display: none;
	width: 100%;
	height: 10px;
	border: 1px	solid #CECECE;
	background: linear-gradient(90deg, #4caf50, #81c784);
	animation: loading 2s infinite;
}


.login-container {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
    text-align: center;
}

/* DIV CADASTRO E EDIÇÃO */
.div_add_edit section{
	padding-bottom:5px;
	border-top:1px #E9E9E9 solid;
	border-right:1px #E9E9E9 solid;
	border-bottom:1px #FFFFFF solid;
	border-left:1px #FFFFFF solid;
/*	border:1px #F7F3F3 solid;*/
	border-radius:8px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.div_add_edit {
  display: grid;
  column-gap: 10px;
  grid-template-columns: 400px auto;*/
  /*grid-template-columns: repeat(auto-fit, minmax(400px, auto));*/
  /*grid-template-columns: repeat(auto-fill, minmax(500px, auto));*/
  grid-gap: 10px;
  padding: 10px;
}

.div_add_edit > div {
  border: 1px	solid #CECECE;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.div_add_edit > div .linha{
	display: flex;
	flex-flow: row wrap;
	font-size: 14px;
	color: #666;
}

.div_add_edit > div .linha2{
	display: flex;
	flex-flow: row wrap;
	font-size: 14px;
	color: #666;
	padding:5px 0px 5px 0px;
}

.div_add_edit > div .linha2 > div{
	margin-left:5px;
	margin-bottom:3px;
}

.quebra_linha{
	padding:5px 0px 5px 0px;
	width:100%;
 }

hr {
/*    display: block;
    margin-block-start: 0.5em;
    margin-block-end: 0.5em;
    margin-inline-start: auto;
    margin-inline-end: auto;
    unicode-bidi: isolate;
    overflow: hidden;
    border-style: inset;
    border-width: 1px;
*/
    width: 100%;
    height: 1px;
    border: 0px;
    border-top: 1px solid #F9F9F9;
    background-color: #f4f4f4;
}

ul {
    width:100%;
    list-style-type:none;
    list-style-position:outside;
    margin:0px;
    padding:0px;
}

li{
    padding: 0px 0px 8px 8px; 
    border-bottom: 1px solid #eee;
    position: relative;
    text-align: left;
    display: flex;
    flex-direction: column; /* Organização vertical */
    gap: 0.5rem; /* Espaçamento entre o label e o input */
}

label{
	white-space:nowrap;
	/*margin: 0 0 -15px;*/
    text-align: left;
    font-size: 14px;
    color: #666;
/*    text-align: left;
    font-size: 14px;
    color:#000;
*/
}

.radio-group {
  display: grid;
  grid-template-columns: auto auto auto auto;
}

.radio-group > div {
  text-align: center;
}

.radio_linha{
	display: block;
	margin: -20px 50px 20px;
}

.div_add_edit > div .coluna-100 {
	word-break: break-all;
	width: 100%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-75 {
	word-break: break-all;
	width: 71%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-60 {
	word-break: break-all;
	width: 55%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-50 {
	word-break: break-all;
	width: 47%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-40 {
	word-break: break-all;
	width: 38%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-33 {
	word-break: break-all;
	width: 31%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-30 {
	word-break: break-all;
	width: 28%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-25 {
	word-break: break-all;
	width: 24%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-20 {
	word-break: break-all;
	width: 18%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-15 {
	word-break: break-all;
	width: 14%;
	height:28px;
	padding:10px 0px 0px 10px;
}

.div_add_edit > div .coluna-10 {
	word-break: break-all;
	width: 10%;
	height:28px;
	padding:10px 0px 0px 10px;
}

/* FIM DIV CADASTRO E EDIÇÃO */

/***** DIV TABLE *****/
.grid_tbl{
  display: grid;
  gap: 0px; /* linha - coluna */
  grid-template-columns: auto auto auto auto;
}

.grid_tbl #col_tbl_tit{
	background:#3B3F57;
	padding:15px;
}

.grid_tbl .col_tbl_item img{
	width:25px;
	height:25px;
	cursor:pointer;
}

.grid_tbl > div {
  background-color:#333;
  padding:5px 0px 0px 0px;
  justify-content: center;
  font-size: 14px;
  color:#FFF;
  text-align: center;
  border-bottom:1px #999999 solid;
}

/***** FIM DIV TABLE *****/

/*
.login-container-cadastros {
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 600px;
    text-align: center;
}
*/

form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

h2 {
    margin-bottom: 10px;
    font-size: 24px;
    color: #333;
}
/*
label {
	margin: 0 0 -15px;
    text-align: left;
    font-size: 14px;
    color: #666;
}
*/
input {
    width: 95%;
    padding: 13px 10px 5px 10px;
    margin: 5px 0;
	border: none;
	border-bottom:1px #EBEBEB solid;
    border-radius: 5px;
    font-size: 14px;
	background-color: #f4f4f4;
	outline: none;
}

input:focus {
	border-bottom:2px #0099FF solid;
	/*transition: all 0.3s ease;*/
}

:root {
  --form-control-color: #0099FF;
}

.form-control {
  /*font-family: system-ui, sans-serif;
  font-size: 2rem;
  
  font-weight: bold;*/
  font-size: 14px;
  line-height: 1.1;
  display: grid;
  grid-template-columns: 2em auto;
  gap: 0.5em;
  padding-bottom:15px;
}

.form-control + .form-control {
  margin-top: 0.3em;
}

.form-control:focus-within {
  color: var(--form-control-color);
}
/*RADIO BUTTON*/
input[type="radio"] {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  /* Remove most all native input styles */
  appearance: none;
  /* For iOS < 15 */
  background-color: var(--form-background);
  /* Not removed via appearance */
  margin: 0;

  font: inherit;
  color: currentColor;
  width: 0.4em;
  height: 0.4em;
  border: 0.15em solid currentColor;
  border-radius: 50%;
  transform: translateY(-0.075em);

  display: grid;
  place-content: center;
}

input[type="radio"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--form-control-color);
  /* Windows High Contrast Mode */
  background-color: CanvasText;
}

input[type="radio"]:checked::before {
  transform: scale(1);
  margin-bottom:7px;
}

input[type="radio"]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}
/*FIM RADIO BUTTON*/

/*CHECKBOX*/
input[type="checkbox"] {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  /* Remove most all native input styles */
  appearance: none;
  /* For iOS < 15 */
  background-color: var(--form-background);
  /* Not removed via appearance */
  margin: 0;

  font: inherit;
  color: currentColor;
  width: 0.4em;
  height: 0.4em;
  border: 0.15em solid currentColor;
/*  border-radius: 50%;*/
  transform: translateY(-0.075em);

  display: grid;
  place-content: center;
}

input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
/*  border-radius: 50%;*/
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--form-control-color);
  /* Windows High Contrast Mode */
  background-color: CanvasText;
}

input[type="checkbox"]:checked::before {
  transform: scale(1);
  margin-bottom:7px;
}

input[type="checkbox"]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}
/*FIM CHECKBOX*/

select {	  
    width: 95%;
    padding: 13px 10px 5px 10px;
    margin: 5px 0;
	border: none;
	border-bottom:1px #EBEBEB solid;
    border-radius: 5px;
    font-size: 14px;
	background-color: #f4f4f4;
	outline: none;
}

button {
    padding: 10px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}

button:hover {
    background-color: #0056b3;
}

p {
    margin: 10px 0 0;
    font-size: 14px;
    color: #555;
}

p a {
    color: #007BFF;
    text-decoration: none;
}

p a:hover {
    text-decoration: underline;
}

.div_avisos_sucess {
	position: absolute;
	width:400px;
	height:50px;
	background:#FFF;
	bottom:20px;
	right:2000px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	border:1px #CCCCCC solid;
	border-radius: 8px;
	border-left:8px #00CC00 solid;
	padding: 15px;
    /*text-align: left;*/
    font-size: 14px;
    color: #666;	
}

#message {
    position: fixed;
    top: 20px;
    right: -300px;
    padding: 10px 20px;
    border-radius: 5px;
    /*color: white;*/
    font-weight: bold;
    transition: transform 0.5s ease-in-out;
}

.hidden {
    display: none;
}

#message.success {
    /*background-color: #4caf50;*/
	width:400px;
	height:50px;
	background:#FFF;
	bottom:20px;
	border:1px #E6E6E6 solid;
	border-left:12px #4caf50 solid;
    font-size: 14px;
    color: #666;	
	z-index: 99999;
}

#message.error {
    /*background-color: #f44336;*/
	width:400px;
	height:50px;
	background:#FFF;
	bottom:20px;
	border:1px #E6E6E6 solid;
	border-left:12px #f44336 solid;
    font-size: 14px;
    color: #666;	
}

#message_modal {
/*    position: fixed;
    top: 10%;
    right: -300px;
    padding: 10px 20px;
    border-radius: 10px;
    /*color: white;*/

	width: 80%;
	height: 80%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	/*font-weight: bold;*/
    padding: 10px 20px;
    border-radius: 10px;
    transition: transform 0.5s ease-in-out;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}


#message_modal.modal_form {
    /*background-color: #4caf50;*/
	position:fixed;
	width:60%;
	max-width:600px;
	/*height:70%;*/
	background:#FFF;
	bottom:20px;
	border:1px #E6E6E6 solid;
    font-size: 14px;
    color: #666;	
	z-index: 99999;
	overflow:auto;
	/*display: grid;/******/
}
/*
#message_modal.modal_form #btn_fechar {
	background:#666;
	
}
*/
/*
#message_modal.modal_form #fechar_message_modal:hover {
	opacity:50%;
}
*/
/*#message_modal.modal_form #btn_fechar img#fechar_message_modal {*/
#btn_fechar{
	width:100%;
	height:35px;
/*	background:#3B3F57;
	border-radius: 8px 8px 0px 0px;
	border-bottom:1px #CCC solid;*/
}

img#fechar_message_modal {
	margin-left:94%;
	padding-top:5px;
	width:27px;
}

#message_modal.modal_form #btn_fechar button.btn_salvar_add_del_olt{
	position: fixed;	
	margin:0px 0px 0px 12px;
}

#message_modal.modal_form #conteudo {
	overflow:auto;
	display: grid;
}

#message_modal.modal_form #conteudo .div_add_edit {
	overflow: visible;
	overflow-wrap: anywhere;
	box-sizing: border-box;
	grid-template-columns: auto auto;
	font-size: 14px;
}

#message_modal.modal_form #conteudo .div_add_edit .olts_cadastradas_cliente {
	font-size: 14px;
}

#message_modal.modal_form #conteudo .div_add_edit .lista_olts_cadastradas {
	font-size: 14px;
}

/*#message_modal.modal_form #conteudo .div_add_edit .lista_olts_cadastradas .div_add_olt_user {*/
#message_modal.modal_form #conteudo .div_add_edit .div_add_olt_user {
	/*list-style: none;*/
	padding-top:8px;
	height:25px;
	font-size: 14px;
	border-radius: 5px;
	margin-bottom:5px;
	border:1px #E6E6E6 solid;
}

#message_modal.modal_form #conteudo .div_add_edit .olts_cadastradas_cliente .div_del_olt_user {
	/*list-style: none;*/
	padding-top:8px;
	height:25px;
	font-size: 14px;
	border-radius: 5px;
	margin-bottom:5px;
	border:1px #E6E6E6 solid;
}

#message_modal.modal_form #conteudo .div_add_edit .olts_cadastradas_cliente .btn_del_olt_user {
	margin-left:86%;
	margin-top:-25px;
	width:35px;
	height:33px;
	background:#F00;
	border-radius: 0 5px 5px 0;
}

/*#message_modal.modal_form #conteudo .div_add_edit .olts_cadastradas_cliente .btn_add_temp_olt_user {*/
#message_modal.modal_form #conteudo .div_add_edit .btn_add_temp_olt_user {
	margin-left:86%;
	margin-top:-25px;
	width:35px;
	height:33px;
	background:#F60;
	border-radius: 0 5px 5px 0;
}

#message_modal.modal_form #conteudo .div_add_edit .lista_olts_cadastradas .btn_add_olt_user {
	margin-left:85%;
	margin-top:-25px;
	width:35px;
	height:33px;
	background:#0C3;
	border-radius: 0 5px 5px 0;
}

#message_modal.modal_form .lista_olts_cadastradas li {
	border-radius: 5px;
	margin-bottom:5px;
	border:1px #E6E6E6 solid;
	width:100%;
	font-size: 14px;
}

.modalDialog_form {
	/*	position:fixed;
		font-family: Arial, Helvetica, sans-serif;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: rgba(0,0,0,0.8);
		z-index: 99999;
		opacity:0;
		-webkit-transition: opacity 400ms ease-in;
		-moz-transition: opacity 400ms ease-in;
		transition: opacity 400ms ease-in;
		pointer-events: none;
		overflow:auto;
		*/
		position:fixed;
		background: rgba(0,0,0,0.8);
		z-index: 99999;
		overflow:auto;
	}


/* DIV RELATORIOS */

/* Grid */
.grid {
	display: grid;
}

/* 100px é o valor total, ignora conteúdo, margem e etc. Respeita apenas o min-width do item.*/
.grid-template-columns-1 {
	grid-template-columns: 100px 100px 100px 100px;
}

/* fr é uma unidade fracional */
.grid-template-columns-2 {
	grid-template-columns: 1fr 2fr;
}

/* minmax define um valor mínimo e máximo para a coluna */
.grid-template-columns-3 {
	grid-template-columns: minmax(200px, 1fr) 1fr 1fr;
}

/* O repeat vai repetir o número de colunas */
.grid-template-columns-4 {
	grid-template-columns: repeat(3, 1fr);
	margin-bottom:10px;
}

/* Auto-fit vai calcular automaticamente o total de colunas */
.grid-template-columns-5 {
	grid-template-columns: repeat(auto-fit, 100px);
}

/* Com o auto-fit realmente é criado um layout responsivo */
.grid-template-columns-6 {
	grid-template-columns: repeat(auto-fit, minmax(100px, auto));
}

/* Com o auto-fit realmente é criado um layout responsivo */
.grid-template-columns-7 {
	grid-template-columns: repeat(auto-fill, minmax(100px, auto));
}

.grid-template-columns-8 {
	grid-template-columns:  minmax(200px, 1fr) 1fr;
	margin-bottom:10px;
}


/* Estilos Gerais */
.item {
	margin: 5px;
	/*background: tomato;*/
	text-align: left;
    font-size: 14px;
    color: #666;
	word-break: break-word;
	/*padding:5px;*/
}

.grid {
	max-width: 100%;
	/*margin: 0 auto;*/
	border: 1px solid #ccc;
}
/*

h1 {
	text-align: center;
	font-size: 1.25em;
	font-weight: normal;
}

body {
	font-family: monospace;
	color: #333;
	margin: 0px;
	padding-bottom: 60px;
}

body > div {
	padding: 40px 0;
}
body > div:nth-of-type(even) {
	background: rgba(0,0,0,.03);
}
*/

/* FIM DIV RELATORIOS */

@keyframes loading {
	0% { background-position: 0% 50%; }
	100% { background-position: 100% 50%; }
}

@media (max-width: 1200px){

	.div_add_edit {
		/*grid-template-columns: repeat(auto-fit, minmax(400px, auto));*/
		grid-template-columns: auto auto;
		grid-gap: 10px;
	}
	
	.grid-template-columns-4 {
		grid-template-columns: auto auto;
	}
	
}

/* Responsividade */
@media (max-width: 800px) {

	.div_add_edit {
		/*grid-template-columns: repeat(auto-fit, minmax(400px, auto));*/
		grid-template-columns: auto;
		grid-gap: 10px;
	}
	
	.grid-template-columns-4 {
		grid-template-columns: auto auto;
	}
}

@media (max-width: 600px) {

	.div_add_edit > div .linha, .coluna-100, .coluna-75, .coluna-60, .coluna-50, .coluna-40, .coluna-33, .coluna-30, .coluna-25, .coluna-20, .coluna-15{
		flex: 100%;
	}
	
	.grid-template-columns-4 {
		grid-template-columns: auto;
	}

}