@charset "utf-8";
/* CSS Document */

html {
    min-height: 100%;
	margin: 0px;;
	font-family: verdana;
	font-size: 12px;
    background-repeat: no-repeat;
    
      background: -webkit-linear-gradient(rgba(9,94,173,1) 0%, rgba(9,94,173,1) 26%, rgba(0,29,61,1) 79%, rgba(0,29,61,1) 100%);
      background: -moz-linear-gradient(rgba(9,94,173,1) 0%, rgba(9,94,173,1) 26%, rgba(0,29,61,1) 79%, rgba(0,29,61,1) 100%);
      background: -o-linear-gradient(rgba(9,94,173,1) 0%, rgba(9,94,173,1) 26%, rgba(0,29,61,1) 79%, rgba(0,29,61,1) 100%);
      background: linear-gradient(rgba(9,94,173,1) 0%, rgba(9,94,173,1) 26%, rgba(0,29,61,1) 79%, rgba(0,29,61,1) 100%);
}
body{
	margin: 0px;
}
header{
	position: fixed;
	top: 0px;
	height: 33px;
	width: 100%;
	background-color: #2e518b;
	z-index: 99999;
}
main{
	margin: 50px 20px;
	background-color: rgba(255,255,255,0.60);
	padding: 10px;
	border-radius: 10px;
	min-height: 50%;
}
footer{
	position: fixed;
	bottom: 0px;
	height: 30px;
	width: 100%;
	padding-top: 8px;
	color: #FF9E00;
	background-color: #161616;
	text-align: center;
}
.derecha{
	text-align: right;
	margin-right: 5px;
}
.red{
	color:#C70002;
}
table{
	width: 90%;
	margin-left: 5%;
}
table tr{
	height:25px;
}

h3{
	text-align:center;
	margin-top:0px;
}
.table{
	background-color: #E9E9E9;
	border-radius: 10px;
	font-size: 11px;
}
.table tr td{
	border-bottom: 1px solid #7E7E7E;
}
.table tfoot td{
	border:none;
	height: 2px;
}
.table tbody tr:hover{
	background-color: #C3E1F7;
}
#datos{
	padding: 5px;
	border-style: solid;
	border-width: thin;
	border-radius: 5px;
	width: 45%;
	float:left;
	margin-left: 3%;
	margin-top: 5px;
}
#datos label{
	font-weight: bold;
}
.modal {
  display: none;
  position: fixed;
  z-index: 100;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0.6);
}

.modal-content {
  background-color: #fff;
  padding: 20px;
  margin: 15% auto;
  width: 300px;
  border-radius: 8px;
  text-align: center;
}

.modal-buttons button {
  margin: 10px;
  padding: 8px 16px;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.formulario{
	margin:0px 10px;
}
.formulario label{
	width:120px;
	display:inline-block;
	height: 30px;
	padding-top: 2px;
}
.formulario input{
	height: 28px;
	margin:5px 0px 2px 0px;
	display:inline-block;
}
.formulario select{
	height: 25px;
	margin:5px 0px 2px 0px;
	display:inline-block;
}
.formulario textarea{
	width: 200px;
	height: 100px;
}
.centrado{
	position: absolute;
	padding: 20px;
	text-align: center;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
	background-color: #FFFFFF;
	border:solid 1px #3B3B3B;
	border-radius: 10px;
	box-shadow: 5px 5px 5px #000;
}
.p100{
	width: 90%;
	margin-left: 5%;
}
.p50{
	width: 45%;
	margin-left: 4%;
	float:left;
}
.p30{
	width: 27%;
	margin-left: 1%;
	display: inline-block;
}
.p50 label{
	color:rgba(172,107,0,1.00);
	font-weight: bold;
	min-width: 100px;
	float: left;
	height: 30px;
}
.p50 span{
	min-width: 100px;
	float: left;
	height: 30px;
}
.completo{
	width: 500px;
}
.btn-peq{
	background-color:#008B8E;
	border-radius: 4px;
	border: none;
	color:#E4E4E4;
	padding:3px 10px;
	text-decoration: none;
	font-size: 10px;
	margin:5px;
	cursor: pointer;
}
.btn-peq:hover{
	background-color:#00B8BC;
	color:#000;
}
.btn{
	height: 30px;
	padding: 5px 10px;
	border:thin;
	border-radius: 5px;
	border-color:#646464;
	border-style: solid;
	text-decoration: none;
	cursor: pointer;
}
.btn:hover{
	box-shadow: 1px 1px 2px #000;
}
.danger{
	background-color:#AF0002;
	color: #FFF;
}
.danger:hover{
	background-color:#780002;
	color:#C0C0C0;
}
.success{
	background-color: #1D9600;
	color:#000;
}
.success:hover{
	background-color: #2DAF00;
	color:#4B4B4B;
}
.alert{
	background-color: #EBC440;
	color:#000;
}
.alert:hover{
	background-color: #C9A119;
	color:#4B4B4B;
}
.icon{
	font-size: 20px;
}
.error{
	color:#F00;
}
.form{
	width:70%;
	margin-left:15%;
}
.form label{
	height: 40px;
	display: inline-block;
	width:150px;
}
.form input{
	height: 25px;
}
.t100{
	width: 100px;
}
.t200{
	width: 200px;
}
.t300{
	width: 300px;
}
.v50{
	height: 50px;	
}
.v70{
	height: 70px;	
}
.separado{
	margin:30px;
}
.detalle{
	width: 600px;
	min-width: 450px;
}
.letra10{font-size: 10px;}
/*  PARA RESPONSIVE */
/* IGUAL QUE EL MENU*/
.ingresosdebito{
	>label{
		display: inline-table;
		width: 100px;
		min-width: 100px;
	}
	>input{
		height: 30px;
	}
	>input[type='checkbox']{
		width: 30px;
		height: 30px;
		background-color: #FF0004;
	}
}
#prdcts{
	padding:20px;
}
.tablai{
	width: auto;
	align-self: flex-start;
	min-width: 500px;
	border-collapse: collapse;
}
.tablai td, th {
  border: 1px solid #E0E0E0;
  padding: 2px 5px;
}
.ensweet{
	width:90%;
	margin:5px 5%;
	height: 30px;
}
.alerta{
	clear:both;
	margin: 20px;
	padding: 20px;
	border:solid 2px #F00;
	border-radius: 10px;
	background-color: #F4787B;
	color:#820002;
}
.nada{
	border:none;
	background-color: rgba(255,255,255,0.00);
}
.info{
	font-size: 8px;
	border-radius: 5px;
	padding: 2px 5px;
}
.caja{
	margin: 10px 0;
	padding: 30px 5px;
	border: solid 1px #000;
	border-radius: 10px;
}
.caja h3{
	position:relative;
	float: left;
	margin-left: 20px;
	margin-top: -40px;
	background-color: #FFFFFF;
	border: 1px solid #000;
	border-radius: 5px;
	padding: 3px;
	font-weight: normal;
}

.display {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Dos columnas de igual ancho */
  gap: 30px; /* Espacio entre los divs (opcional) */
}
.panel{	
	padding:10px;
	border-radius: 20px;
	min-height: 300px;
	background-color: #FFFFFF;
	margin:5px 5%;
	line-height: 24px
}
.solovinculo{
	text-decoration: none;
	font-weight: bold;
	color:#C59609;
	cursor: pointer;
}
.oculto{
	display: none;
}
/* Estilos generales para el contenedor */
.checkbox-container {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  cursor: pointer;
  user-select: none;
  padding: 10px;
  border-radius: 8px;
  transition: background-color 0.3s ease;
}

.checkbox-container:hover {
  background-color: #f0f0f0;
}

/* Oculta el checkbox nativo */
.hidden-checkbox {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Estilo del contenedor visual del checkbox */
.custom-checkbox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 2px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

/* Estilos de los íconos */
.checkbox-icon-x, .checkbox-icon-check {
  position: absolute;
  font-size: 14px;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease;
}

/* Estado por defecto: Muestra la X roja y oculta el visto */
.checkbox-icon-x {
  color: #d9534f; /* Color rojo de Bootstrap */
  opacity: 1;
  transform: scale(1);
}

.checkbox-icon-check {
  color: #5cb85c; /* Color verde de Bootstrap */
  opacity: 0;
  transform: scale(0);
}

/* Estado: Cuando el checkbox está seleccionado */
.hidden-checkbox:checked + .custom-checkbox {
  background-color: #f8f9fa; /* Un fondo claro para que el visto resalte */
  border-color: #5cb85c; /* Borde verde */
}

/* Estado: Al seleccionar, muestra el visto verde y oculta la X */
.hidden-checkbox:checked + .custom-checkbox .checkbox-icon-x {
  opacity: 0;
  transform: scale(0);
}

.hidden-checkbox:checked + .custom-checkbox .checkbox-icon-check {
  opacity: 1;
  transform: scale(1);
}

/* Estilo para el texto */
.checkbox-text {
  font-size: 1rem;
  color: #333;
}

/* Estilo para el enfoque con el teclado */
.hidden-checkbox:focus + .custom-checkbox {
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.4);
}
/* Estilos generales para el contenedor de la tabla para un mejor manejo de la responsividad */
.tablaResponsive {
	width: 90%;
	margin: 10px auto;
    /*overflow-x: auto; /* Permite desplazamiento horizontal en pantallas pequeñas */
    -webkit-overflow-scrolling: touch; /* Mejora el desplazamiento en iOS */
    margin-bottom: 1.5em; /* Espacio debajo de la tabla */
}

/* Estilos base para la tabla */
.modernTable {
    width: 100%; /* La tabla ocupa todo el ancho disponible */
    border-collapse: collapse; /* Colapsa los bordes de las celdas */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* Fuente moderna */
    color: #333; /* Color de texto principal */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Sombra sutil para un efecto flotante */
    border-radius: 8px; /* Bordes redondeados para la tabla */
    overflow: hidden; /* Asegura que los bordes redondeados se apliquen correctamente */
}

/* Estilos para el encabezado de la tabla */
.modernTable thead {
    background-color: #2034A4; /* Un azul profundo y elegante */
    color: #ffffff; /* Texto blanco para contraste */
}

.modernTable th {
    padding: 15px 20px; /* Relleno generoso */
    text-align: center; /* Alineación del texto a la izquierda */
    font-weight: 600; /* Texto seminegrita */
    letter-spacing: 0.5px; /* Espaciado entre letras para mejor legibilidad */
    text-transform: uppercase; /* Texto en mayúsculas */
	border: 1px solid rgba(21,73,124,0.81);
    border-bottom: 2px solid rgba(255, 255, 255, 0.2); /* Línea sutil en la parte inferior del encabezado */
}

/* Estilos para las filas del cuerpo de la tabla */
.modernTable tbody tr {
    border-bottom: 1px solid rgba(21,73,124,0.30); /* Línea divisoria sutil entre filas */
    transition: background-color 0.3s ease; /* Transición suave para el hover */
}

.modernTable tbody tr:last-child {
    border-bottom: none; /* No hay borde en la última fila */
}

.modernTable tbody tr:hover {
    background-color: #f5f5f5; /* Fondo más claro al pasar el ratón */
}

/* Estilos para las celdas de datos */
.modernTable td {
    padding: 12px 20px; /* Relleno */
    text-align: left; /* Alineación del texto a la izquierda */
    vertical-align: middle; /* Alineación vertical */
    border-right: 1px solid rgba(21,73,124,0.30); /* Borde vertical sutil entre celdas */
}

.modernTable td:last-child {
    border-right: none; /* No hay borde a la derecha en la última celda */
}

/* Estilos para celdas de datos específicas, si se necesita un contraste o estilo adicional */
/* Ejemplo: para una columna de estado, o un número */
/*
.modernTable td.status-active {
    color: #4CAF50;
    font-weight: bold;
}
.modernTable td.price {
    font-family: 'Roboto Mono', monospace;
    color: #e91e63;
}
*/

/* Estilos para el pie de tabla (si lo hay) */
.modernTable tfoot {
    background-color: #e0e0e0; /* Un gris claro */
    color: #555;
    font-weight: 500;
}

.modernTable tfoot td {
    padding: 12px 20px;
    text-align: left;
    border-top: 1px solid #ccc; /* Borde superior para separar del cuerpo */
}

@media screen and (max-width: 800px) {
	.modernTable thead {
        display: none; /* Oculta el encabezado de la tabla */
    }

    .modernTable, .modernTable tbody, .modernTable tr, .modernTable td {
        display: block; /* Hace que los elementos de la tabla se comporten como bloques */
        width: 100%; /* Ocupan todo el ancho */
    }

    .modernTable tr {
        margin-bottom: 1em; /* Espacio entre filas */
        border: 1px solid #ddd; /* Borde para cada "fila" */
        border-radius: 8px; /* Bordes redondeados */
        box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* Sombra ligera */
        overflow: hidden;
    }

    .modern-table td {
        border: none;
        border-bottom: 1px solid #eee; /* Línea inferior para separar los datos */
        position: relative;
        padding-left: 55%; /* <--- Aumenta este valor para dar más espacio al contenido */
        padding-right: 15px; /* <--- Añade un padding a la derecha para que el contenido no se pegue al borde */
        text-align: right; /* Alinea el contenido (el valor real) a la derecha */
        min-height: 40px; /* Asegura una altura mínima para la celda si el contenido es corto */
        display: flex; /* <--- Usa flexbox para un control más robusto de la alineación */
        align-items: center; /* Centra verticalmente el contenido dentro de la celda */
        justify-content: flex-end; /* Alinea el contenido a la derecha del espacio disponible */
    }

    .modern-table td::before {
        content: attr(data-label);
        position: absolute; /* Sigue siendo absoluto para estar a la izquierda */
        left: 15px; /* <--- Ajusta la posición izquierda */
        width: calc(45% - 30px); /* <--- Reduce el ancho para el data-label. (45% del ancho de la celda, menos los paddings) */
        /* white-space: nowrap; */ /* <--- Descomenta si las etiquetas son muy largas y se cortan, permitiendo que se envuelvan */
        text-align: left; /* Alinea la etiqueta a la izquierda */
        font-weight: bold;
        color: #555;
        top: 50%; /* <--- Centra verticalmente la etiqueta */
        transform: translateY(-50%); /* <--- Ajuste fino para el centrado vertical */
        box-sizing: border-box; /* Asegura que padding y border se incluyan en el ancho */
        padding-right: 10px; /* Añade un pequeño padding a la derecha de la etiqueta */
    }

    .modernTable td:last-child {
        border-bottom: none; /* No hay borde en la última celda */
    }


    .modernTable tfoot {
        display: block; /* Asegura que el pie de tabla se muestre como un bloque */
        width: 100%;
    }

    .modernTable tfoot td {
        text-align: center; /* Centra el texto en el pie de tabla */
        border-top: 1px solid #ccc;
        border-right: none;
    }
	.p50, #datos{
		width:90%;
		margin-left: 5%;
	}
	.detalle{
	width: 90%;
}
	.formulario label{
		display: none;
	}
	.completo{
		width:100%;
	}
	.table{
           width:90%;
			margin-left: 4%;
       }
     .table thead {
           display: none;
       }
     .table tr:nth-of-type(2n) {
           background-color: inherit;
       }
      .table tr td:first-child {
           background: #f0f0f0;
           font-weight:bold;
           font-size:1.1em;
		  	border-top: 1px solid #7F7F7F;
       }
       .table tbody td {
           display: block;
           text-align:center;
		   height: 35px;
		   border:none;
       }
       .table tbody td:before {
           content: attr(data-th);
           display: block;
           text-align:center;
       }
	.display {
	  display: block;
	}
	.panel{
		width: 80%;
		margin: 5px 9%;
		border-radius: 5px;
		min-height: 300px;
		
	}
}