/* Menú */
img.menu-logo{
	height:8.375rem;
}
.nav-link{
	padding:8px !important;
	color:#ffffff !important;
}

/* Accesos directos */
.accesos-directos a.btn-primary{
	text-align:left !important;
	display:block;
}
.accesos-directos a.btn-primary .icon{
	width:48px;
	text-align:center;
}

/* Botones con ícono (.btn-icon-split, SB Admin 2: css/sb-admin-2.css). Ahí
   ".icon" y ".text" son "display:inline-block" dentro de un padre
   "align-items:stretch": ambos quedan de la misma altura, pero el navegador
   ubica su contenido (el glifo del ícono vs. el texto) arriba de esa caja
   según su propia línea, no centrado -y el glifo de Font Awesome no siempre
   ocupa la misma altura de línea que el texto, así que queda visualmente
   más arriba. Centrando cada uno con flexbox (independiente del tamaño de
   fuente/línea, a diferencia de vertical-align) el ícono y el texto quedan
   siempre al medio de su caja, se vea al lado de lo que se vea. */
.btn-icon-split .icon,
.btn-icon-split .text{
	display:flex;
	align-items:center;
	justify-content:center;
}

/* Genéricos */
.en-linea{
	display:inline-block;
}
.ocultar{
	display:none;
}
.alinear-derecha{
	text-align:right !important;
}
.alinear-centro{
	text-align:center !important;
}

/* Tablas */
#tabla-enlazable tr.fila-enlazable:hover, .tabla-enlazable_class tr.fila-enlazable:hover{
    background-color: #f5f4f9;
}
#tabla-enlazable tr.fila-enlazable td:hover, .tabla-enlazable_class tr.fila-enlazable td:hover{
    cursor: pointer;
}
#tabla-enlazable tr.fila-enlazable td a, .tabla-enlazable_class tr.fila-enlazable td a{
    color: #777777;
}
#tabla-enlazable tr.fila-enlazable td a:hover, .tabla-enlazable_class tr.fila-enlazable td a:hover{
    text-decoration: none;
}
.tabla-ancho-auto{
	width: auto;
}
tr.fila-deshabilitada{
	background-color: #eeeeee !important;
	color: #9f9ea3 !important;
}
tr.fila-cc-pagado{
	background: #ccffcc;
}
tr.fila-cc-no-pagado{
	background: #ffcccc;
}
tr input[type=date]{
	max-width: 170px;
	display: inline-block;
}
td.celda-negativa{
	color: #ff0000;
}
tr.fila-total{
	font-weight: bold;
}
.table-dialogo-busqueda{
	background:#fff6ff;
	border:solid 1px #dfdee3;
	width:100%;
	margin-top:10px;
}
tr.fila-alinear-medio td{
	vertical-align:middle;
}

/* Sugerir funcionalidad */
.sugerir-funcionalidad{
	display:inline-block;
	float:right;
	position:fixed;
	right:70px;
	bottom:20px;
}

@media screen and (max-width: 600px) {
	.card-header .en-linea{
		margin:0px 10px 10px 0px;
	}
	.table-responsive table{
		width:100%;
	}
	.table-responsive thead {
		display: none;
	}
	.table-responsive tr:nth-of-type(2n) {
		background-color: inherit;
	}
	.table-responsive tr td:first-child {
		background: #f0f0f0;
		font-weight:bold;
	}
	.table-responsive tbody td, .table-responsive tfoot td {
		display: block;
		text-align:left;
	}
	.table-busqueda-responsive td{
		display:inline-block !important;
		border:0px;
		font-weight:400;
	}
	.table-busqueda-responsive tr{
		border:solid 1px;
	}
	.table-busqueda-responsive tr.fila-enlazable td:first-child {
		display:none !important;
	}
	.sugerir-funcionalidad{
		display:none !important;
	}
}

@media screen and (max-width: 320px) {
	.alerta-encabezado{
		background: #ff0000;
		font-weight:bold;
		font: size 26;
		text-align:center;
	}
}

@media screen and (max-width: 1920px) {
	.alerta-encabezado{
		background: #ff0000;
		font-weight:bold;
		font: size 28 !important;
		color: #ffffff;
		text-align:center;
	}
}

@media screen and (max-width: 320px) {
	.alerta-encabezado2{
		background: #568abb;
		font-weight:bold;
		font: size 26;
		text-align:center;
	}
}

@media screen and (max-width: 1380px) {
	.alerta-encabezado2{
		background: #568abb;
		font-weight:bold;
		font: size 28 !important;
		color: #ffffff;
		text-align:center;
	}
}

/* Formularios */
.formulario-en-dialogo{
	padding:10px;
}

/* Imágenes */
.foto-perfil-cambio{
	width:200px;
	max-width:100%;
	margin-bottom:5px;
	border:solid 1px #dfdee3;
}

.canedit{
	cursor: text;
}

.canedit .realvalue{
	display: flex;
	height: 100%;
	
	border: none;
	align-items: center;
	overflow: hidden;
}


.realvalue span{
	display: flex;
	visibility: hidden;
	margin-left: 12px;
	margin-right: 12px;
}

.realvalue p {
	margin: 0px;
	padding: 0px;
	margin-right: 0.2rem;
}

.canedit:hover span{
	visibility: visible;
}

.hiddeninput{
	display: none;
}

.inputprice{
	max-width: 60% !important;
}


.inputreval{
	width: 100%;
	justify-content: flex-end;
	display: flex;
	align-items: center;
}

.inputcontainer{
	justify-content:flex-end;
	display: flex;
	align-items: center;
	max-width: 60% !important;
}

.actu{
	margin: 0px;
	padding: 0px;
}

.actunow{
	margin: 0px;
	padding: 0px;
	color: var(--green);
}

.actDeny{
	margin: 0px;
	padding: 0px;
	color: var(--danger);
}

.svgclock{
	margin-left: 0.2rem;
}

.alert-novedades{
	display: flex;
}

.icon-alert-nov{
	background-color: black;
  }

.button-noticias{
	background: #fefefe;
	border-radius: 1rem;
	color: #000000;
	padding: 0.2rem;
}

.pendientes{
	text-decoration: none !important;
}



.pendientes-si {
	background: linear-gradient(0deg, rgba(255, 184, 184, 1) 0%, rgba(255, 255, 255, 1) 25%);
	text-decoration: none !important;
	background-size: 200% 100%;
	animation: back 2s linear infinite alternate;
  }
  
  @keyframes back {
	0% {
	  background-position: 100% 0;
	}
	100% {
	  background-position: 0 0;
	}
  }

.bg-log {
	
	width: 100%;
	height: 100vh; /* Asegura que el fondo cubra toda la altura de la pantalla */
	background: rgb(2,0,36);
	background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%); 
}
  
.sideform{
	background-color: #ffffff;
	min-height: 100vh;
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-direction: column;

	-webkit-box-shadow: -4px 0px 42px -6px rgba(0,0,0,0.75);
	-moz-box-shadow: -4px 0px 42px -6px rgba(0,0,0,0.75);
	box-shadow: -4px 0px 42px -6px rgba(0,0,0,0.75);
}



.cartelera{

	padding: 0px !important;
	margin: 0px !important;
	width: 100%;
	overflow: hidden;
}


.cartelera img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
  }


  @media screen and (max-width: 1200px) {
		.cartelera {
			display: none !important;
		}
	}




.fade-desaparecer {
    animation: fade-pill 3s linear  !important;
	opacity: 0;
    
}

@keyframes fade-pill {
    0% {
        opacity: 1;
    }
	50%{
		opacity: 1;
	}
    100% {
        opacity: 0;
    }
}

.bg-mailer{
	background-color: rgba(133, 135, 203, 0.208);
}

.bg-mailer:hover{
	background-color: rgba(113, 116, 202, 0.364);
}

.delete-novedad{
	background-color: var(--primary);
	border-radius: 50%;
	width: 50px;
	height: 50px;
}

.bg-mailer-pago-realizado{
	background-color: rgba(114, 207, 105, 0.208);

}

.bg-mailer-pago-realizado:hover{
	background-color: rgba(66, 200, 54, 0.353);
}

.bg-mailer-pago-rechazado{
	background-color: rgba(207, 105, 105, 0.208);

}

.bg-mailer-pago-rechazado:hover{
	background-color: rgba(200, 54, 54, 0.353);
}

.bg-mailer-pago-eliminado{
	display: none;
}


@keyframes swing {

    0% { transform: rotate(0deg); }

    20% { transform: rotate(-10deg); }

    40% { transform: rotate(10deg); }

    60% { transform: rotate(-10deg); }

    80% { transform: rotate(10deg); }

    100% { transform: rotate(0deg); }

 }


 .bellswing i{

    animation: swing 1.5s linear infinite;

 }

 .button-admin-panel{
	padding: 0px !important;
 }

 .pago-registrado{
	width: 100%;
	background-color: var(--primary);
	width: 100px;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	border-radius: 50%;
 }

 .pago-registrado i{
	font-size: 40px;
 }

 .bg-modal-alerts{
	background-color: #00000061;
 }

 .loading-migration{
	animation: rotate 1.5s linear infinite;
 }
 @keyframes rotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
  }















   .planes-container {
      
		width: 100%;
        font-family: Arial, sans-serif;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        overflow: hidden;
    }

    .planes-table {
        width: 100%;
        border-collapse: collapse;
        text-align: center;
    }

    .planes-table thead {
        background: #f4f6f9;
    }

    .planes-table th,
    .planes-table td {
        padding: 12px 10px;
        border-bottom: 1px solid #ddd;
    }

    .planes-table th {
        font-weight: bold;
        color: #333;
    }

    .planes-table tr {
        cursor: pointer;
        transition: background 0.2s ease;
    }

    .planes-table tr:hover {
        background-color: #f9fafb;
    }

    .planes-radio {
        transform: scale(1.2);
        cursor: pointer;
    }

    .plan-nombre {
        font-weight: bold;
        color: #222;
    }

    .selected-row {
        background-color: #e8f0fe !important;
    }



	.help-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #6c757d; /* gris Bootstrap */
    color: white;
    font-size: 12px;
    font-weight: bold;
    margin-left: 6px;
    cursor: help;
}




.totalprice{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--secondary);
	color: #ffffff;
	padding: 0.5rem 1rem;
	border-radius: 0.3rem;
	
}

.totalprice *{
	margin: 0px;
	padding: 0px;
}


.totalrefund{
	white-space: nowrap;
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;

}
.totalrefund p{
	margin: 0px;
	padding: 0px;
}
/* Descuento general (agregar comprobante) */
.descuento-general{
	margin-top: 1rem;
	border: 1px solid #e3e6f0;
	border-left: 4px solid var(--primary);
	border-radius: 0.5rem;
	background-color: #f8f9fc;
	padding: 0.85rem 1rem;
}
.descuento-general__cabecera{
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}
.descuento-general__icono{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background-color: rgba(48, 49, 152, 0.1);
	color: var(--primary);
	flex-shrink: 0;
}
.descuento-general__titulo{
	font-weight: 700;
	color: #3a3b45;
	line-height: 1.2;
}
.descuento-general__subtitulo{
	font-size: 0.8rem;
	color: #858796;
}
.descuento-general__cuerpo{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}
.descuento-general__modo{
	display: inline-flex;
	padding: 3px;
	border-radius: 0.4rem;
	background-color: #eaecf4;
}
.descuento-general__modo button{
	border: 0;
	background: transparent;
	color: #5a5c69;
	font-size: 0.85rem;
	font-weight: 600;
	padding: 0.3rem 0.8rem;
	border-radius: 0.3rem;
	cursor: pointer;
}
.descuento-general__modo button.activo{
	background-color: #ffffff;
	color: var(--primary);
	box-shadow: 0 1px 3px rgba(58, 59, 69, 0.15);
}
.descuento-general__valor{
	width: 9.5rem;
}
.descuento-general__valor .form-control{
	text-align: right;
	font-weight: 600;
}
.descuento-general__rapidos{
	display: inline-flex;
	gap: 0.35rem;
}
.descuento-general__rapidos button{
	border: 1px solid #d1d3e2;
	background-color: #ffffff;
	color: #5a5c69;
	font-size: 0.8rem;
	padding: 0.2rem 0.55rem;
	border-radius: 1rem;
	cursor: pointer;
}
.descuento-general__rapidos button:hover{
	border-color: var(--primary);
	color: var(--primary);
}
.descuento-general__resumen{
	display: flex;
	flex-direction: column;
	margin-left: auto;
	text-align: right;
	line-height: 1.15;
}
.descuento-general__resumen span{
	font-size: 0.75rem;
	color: #858796;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.descuento-general__resumen strong{
	font-size: 1.1rem;
	color: #e74a3b;
}
.descuento-general__aviso{
	margin-top: 0.6rem;
	font-size: 0.85rem;
	color: #b02a1f;
}
@media (max-width: 576px){
	.descuento-general__resumen{
		margin-left: 0;
		text-align: left;
	}
	.descuento-general__aplicar{
		width: 100%;
	}
}
.fila-descuento-general td{
	background-color: #e8f7f0;
	color: #13855c;
	font-weight: 600;
}

/* Detalle del comprobante (agregar comprobante) */
.comprobante-contador{
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.7rem;
	border-radius: 1rem;
	background-color: rgba(48, 49, 152, 0.1);
	color: var(--primary);
	font-size: 0.8rem;
	font-weight: 600;
}
.comprobante-contador strong{
	margin-left: 0.25rem;
}
.tabla-comprobante{
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 0;
	color: #3a3b45;
}
.tabla-comprobante thead th{
	border-top: 0;
	border-bottom: 2px solid #e3e6f0;
	background-color: #f8f9fc;
	color: #858796;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
	vertical-align: middle;
}
.tabla-comprobante thead th:first-child{
	border-top-left-radius: 0.5rem;
}
.tabla-comprobante thead th:last-child{
	border-top-right-radius: 0.5rem;
}
.tabla-comprobante thead th:nth-child(4),
.tabla-comprobante thead th:nth-child(5){
	text-align: right;
}
.tabla-comprobante td{
	border-top: 1px solid #eaecf4;
	vertical-align: middle;
}
.tabla-comprobante tbody tr{
	transition: background-color 0.15s;
}
.tabla-comprobante tbody tr:hover td{
	background-color: #f8f9fc;
}
.tabla-comprobante tbody td:nth-child(5){
	font-weight: 700;
}
.tabla-comprobante .valor_cantidad{
	width: 5.5rem;
	text-align: center;
}
.tabla-comprobante .eliminar_item{
	background-color: transparent;
	border-color: transparent;
	color: #e74a3b;
	padding: 0.25rem 0.55rem;
}
.tabla-comprobante .eliminar_item:hover,
.tabla-comprobante .eliminar_item:focus{
	background-color: #fdecea;
	border-color: transparent;
	color: #c0392b;
	box-shadow: none;
}
.tabla-comprobante tbody tr.fila-descuento-general:hover td{
	background-color: #dcf2e7;
}
/* Fila para agregar artículos */
.tabla-comprobante .fila-buscador td{
	border-top: 0;
	padding: 0.75rem 0;
}
.tabla-comprobante .fila-buscador .form-group{
	margin-bottom: 0;
	padding: 0.6rem;
	border: 1px dashed #c5c8dc;
	border-radius: 0.5rem;
	background-color: #fbfbfe;
}
.buscador-comprobante .input-group-text{
	background-color: #ffffff;
	color: var(--primary);
	border-right: 0;
}
.buscador-comprobante .form-control{
	border-left: 0;
}
.buscador-comprobante .form-control:focus{
	box-shadow: none;
}
.buscador-comprobante:focus-within .input-group-text,
.buscador-comprobante:focus-within .form-control{
	border-color: var(--primary);
}
.tabla-comprobante .fila-buscador .row{
	margin-left: 0;
	margin-right: 0;
}
.tabla-comprobante .fila-buscador .row > [class*="col"]{
	padding-left: 0;
	padding-right: 0;
}
.tabla-comprobante .fila-buscador .row > .col-sm-auto{
	padding-left: 0.6rem;
}
.btn-no-inventariado{
	white-space: nowrap;
}
.tabla-comprobante .fila-buscador #fila_productos{
	margin-top: 0.5rem;
}
.tabla-comprobante .fila-buscador #lista_productos{
	max-height: 320px;
	overflow-y: auto;
	border: 1px solid #e3e6f0;
	border-radius: 0.5rem;
	background-color: #ffffff;
	box-shadow: 0 0.25rem 0.75rem rgba(58, 59, 69, 0.1);
}
.tabla-comprobante .fila-buscador #lista_productos:empty{
	display: none;
}
/* Resultados de la búsqueda (listas/dialogo_productos_lista.php) dentro del comprobante */
.tabla-comprobante .fila-buscador #lista_productos:not(:has(table)){
	padding: 0.75rem 1rem;
	color: #858796;
	font-size: 0.875rem;
}
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda{
	margin: 0;
	border: 0;
	background-color: #ffffff;
	font-size: 0.875rem;
}
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda thead th{
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 0.55rem 0.9rem;
	border-top: 0;
	border-bottom: 1px solid #e3e6f0;
	background-color: #f8f9fc;
	color: #858796;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda thead th:nth-child(2),
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda thead th:nth-child(5){
	text-align: center;
}
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda thead th:nth-child(3),
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda thead th:nth-child(4){
	text-align: right;
}
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda td{
	padding: 0.6rem 0.9rem;
	border-top: 1px solid #f1f2f7;
	vertical-align: middle;
	background-color: transparent;
}
.tabla-comprobante .fila-buscador #lista_productos .table-dialogo-busqueda tbody tr:first-child td{
	border-top: 0;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable{
	cursor: pointer;
	transition: background-color 0.12s;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable td:first-child{
	font-weight: 600;
	color: #3a3b45;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable td:nth-child(2){
	color: #b7b9cc;
	font-size: 0.75rem;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable td:nth-child(3){
	font-weight: 700;
	color: var(--primary);
	white-space: nowrap;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable td:nth-child(4){
	color: #6e707e;
	white-space: nowrap;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable td:nth-child(5){
	color: #858796;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable:hover{
	background-color: rgba(48, 49, 152, 0.06);
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable:hover td:first-child{
	box-shadow: inset 3px 0 0 var(--primary);
	color: var(--primary);
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable.fila-deshabilitada{
	background-color: #fafafc !important;
	cursor: default;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable.fila-deshabilitada td{
	color: #b7b9cc !important;
}
.tabla-comprobante .fila-buscador #lista_productos tr.fila-enlazable.fila-deshabilitada:hover td:first-child{
	box-shadow: none;
}
.tabla-comprobante .fila-buscador #lista_productos .badge-danger{
	padding: 0.3em 0.6em;
	border-radius: 1rem;
	background-color: #fdecea;
	color: #c0392b !important;
	font-weight: 600;
}
/* Totales */
.tabla-comprobante tfoot td{
	border-top: 0;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}
.tabla-comprobante #subtotal_fila td,
.tabla-comprobante #iva_fila td,
.tabla-comprobante #otros_impuestos_fila td{
	color: #6e707e;
}
.tabla-comprobante #subtotal_fila td{
	padding-top: 0.9rem;
}
.tabla-comprobante #total_fila td{
	border-top: 2px solid #e3e6f0;
	padding-top: 0.6rem;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--primary);
}
.tabla-comprobante #agregar_celda,
.tabla-comprobante #agregar_celda_descuento{
	border-top: 0;
}
/* "Marcar todos" del descuento por ítem, en el encabezado de la tabla de conceptos */
.descuento-marcar-todos{
	cursor: pointer;
	white-space: nowrap;
}
.descuento-marcar-todos__check{
	width: 1rem;
	height: 1rem;
	margin-right: 0.35rem;
	vertical-align: -2px;
	accent-color: var(--primary);
	cursor: pointer;
}
.descuento-marcar-todos__check:disabled{
	cursor: default;
}
