* {
	box-sizing: border-box;
	font-size: 14px;
}

@font-face {
	font-family: "Open Sans";
	src: url("fonts/OpenSans-Regular.ttf");
}

@font-face {
    font-family: "Proxima Nova";
    src: url("fonts/ProximaNova/proximanova_regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

/* Bold - MISMA familia, diferente peso */
@font-face {
    font-family: "Proxima Nova";
    src: url("fonts/ProximaNova/proximanova_bold.otf") format("opentype");
    font-weight: 700; /* Usa 700 para bold, no 900 */
    font-style: normal;
}

body {
	font-family: 'Proxima Nova', sans-serif;
	background: #E9ECF4;
	color: #000;
}

.contenedor_general {
	display: grid;
	grid-template-areas: "header header header"
						 "contenido contenido contenido"; /*"contenido contenido sidebar"*/
						 /*"widget_uno widget_dos sidebar"
						 "footer footer footer";*/
}
.contenedor_general .header,
.contenedor_general .contenido,
.contenedor_general .sidebar,
.contenedor_general .widget_uno,
.contenedor_general .widget_dos,
.contenedor_general .footer {
	padding: 20px;
}
.contenedor_general .contenido {
	margin-top: 60px;
}
.header_fixed {
	position: fixed;
	width: 100%;
	z-index: 999;
}
.header {
	grid-area: header;
	background: #12203e;
	color: #fff;
	height: 60px;

	display: grid;
	grid-template-columns: 22px auto;
	grid-template-rows: 20px;

	font-weight: 600;
}

.header > i {
	cursor: pointer;
	width: 14px;
	font-size: 16px;
	line-height: 20px;
}
.header > p {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 20px;
}
.contenedor_menu {
	position: fixed;
	z-index: 999;
	top: 60px;

	width: 0;
	height: 100%;

	background-color: rgba(0, 0, 0, .0);

	-webkit-transition: background-color .3s;
	-moz-transition: background-color .3s;
	-o-transition: background-color .3s;
	transition: background-color .3s;
}

.menu_contenido {
	margin: 0;
	padding: 0;

	width: 260px;
	height: calc(100vh - 60px); /* viewport height menos el header fijo */
	background: #fff;
	list-style: none;

	position: absolute;
	top: 0;
	left: -260px;

	-webkit-transition: left .3s;
	-moz-transition: left .3s;
	-o-transition: left .3s;
	transition: left .3s;

	/* Scroll vertical */
    overflow-y: auto; /* activa scroll si es necesario */
    scrollbar-width: none; /* Oculta en Firefox */

}
.menu_titulo {
	padding: 10px;
	background: #193166;
	color: #fff;
	text-align: center;
	line-height: 20px;
	font-weight: 600;
}
.menu_contenido > a {
	text-decoration: none;
	color: #252525;
}
.menu_opcion {
	padding: 10px 10px 10px 10px;
	line-height: 10px;
	color: #303030;
	border-bottom: 1px solid #303030;
	font-weight: 600;
}
.menu_opcion > i {
	margin-right: 8px;
}
.menu_opcion:hover {
	background: #F3F3F3;
}
.contenido {
	grid-area: contenido;
	text-align: justify;
	background: #fff;
}
.sidebar {
	grid-area: sidebar;
	background: #FAA43D;
	display: flex;
	justify-content: center;
	align-items: center;
}
.widget_uno,
.widget_dos {
	grid-area: widget_uno;
	background: #55a8fd;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
}
.widget_dos {
	grid-area: widget_dos;
}
.footer {
	grid-area: footer;
	background: #12203e;
	color: #fff;
	font-weight: 600;
	text-align: center;
}
.footer > p {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 20px;
}

.menu_dropdown {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.flecha_dropdown {
    font-size: 12px;
    transition: transform 0.3s;
}
.menu_dropdown.active .flecha_dropdown {
    transform: rotate(180deg);
}
.submenu {
    display: none;
    background: #f9f9f9;
}
.submenu a {
    text-decoration: none;
    color: #252525;
}
.submenu .menu_opcion {
    padding-left: 30px;
    border-bottom: 1px solid #ccc;
}
/* Quitar los puntos o círculos de cualquier lista */
ul, li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Evitar subrayado o línea morada al hacer click */
.menu_contenido a,
.submenu a {
    text-decoration: none;
    color: inherit;
}

.menu_contenido a:focus,
.submenu a:focus,
.menu_contenido a:active,
.submenu a:active {
    outline: none;
    text-decoration: none;
}
/* PÁGINA FACTURAS DOBLE */
.ajuste_facturas_v3 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 20px;
}
.formulas_linea {
	display: grid;
	grid-template-columns: 25% 25% 17.5% 17.5% 15%;
}
.formulas_linea p {
	margin: 0;
	padding: 8px;
}
.linea_titulo {
	color: #fff;
	background-color: #282A2F;
	border-radius: 3px 3px 0px 0px;
	border-bottom: 3px solid #9ea7af;
}
.linea_titulo p {
	font-weight: 600;
	text-align: center;
}
.linea_comun {
	border-left: 1px solid #9ea7af;
	background-color: #EBEBEB;
}
.linea_comun p {
	border-right: 1px solid #9ea7af;
	border-bottom: 1px solid #9ea7af;
}
.linea_comun:hover {
	background-color: #4e5066;
	color: #fff;
}
.ajuste_form_grid {
	grid-template-columns: 15% 12.5% 30% 12.5% 12.5% 12.5% 5% !important;
}
.cverde {
	/*color: #f38f00;*/
	color: rgb(49, 208, 170);
	font-size: 18px;
}
.cverde:hover, .cnegro:hover, .cpersonalizado:hover {
	opacity: .7;
}
.cnegro {
	color: #000;
}
.cpersonalizado {
	color: #008DF9;
}
.color_titular_personalizado {
	color: #008DF9;
}

.btn_add_abono {
	background-color: #5cb85c;
	padding: 8px 10px;
	outline: none;
	border: none;
	color: #fff;
	cursor: pointer;
	border-radius: 2px;
}

.btn_add_abono:hover {
	background-color: #4D9D4D;
	color: #000;
}

.btn_rem_abono {
	background-color: #B85C5C;
}

.btn_rem_abono:hover {
	background-color: #9D4D4D;
}

.titulo_principal {
	padding: 0;
	margin: 0;
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
}

.titulo_cuentas_pendientes {
	font-size: 24px;
	font-weight: 600;
	padding: 0;
	margin: 0;
	margin-bottom: 20px;
	text-align: center;
	padding-bottom: 10px;
	border-bottom: 1px solid #d1d1d1;
}
.nuevo_titular_modulo {
	padding: 10px;
	text-align: center;
	font-weight: 600;
	font-size: 24px;
}
.borde_superior_titular {
	border-top: 1px solid #d1d1d1;
}
.borde_inferior_titular {
	border-bottom: 1px solid #d1d1d1;
}
.fondo_gris {
	background: #F0F0F0;
}

/* PÁGINA FACTURACIÓN POS */
.ajuste_facturacion {
	display: grid;
	/*grid-template-columns: repeat(2, 1fr);*/
	grid-template-columns: 40% 60%;
}
.ajuste_facturacion_v2 {
	display: grid;
	grid-template-columns: 15% 37.5% 47.5%;
}
.ajuste_compras_v3 {
	display: grid;
	grid-template-columns: 15% 25% 60%;
}
.ajuste_facturacion_v3 {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}
.ajuste_facturacion_alt {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.seccion_categorias, .seccion_categorias_new {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-row-gap: 5px;
	padding: 0px 20px 0px 0px;
	border-right: 1px solid #d1d1d1;
	grid-template-rows: repeat(7, max-content);
}
.seccion_categorias_new {
	padding: 0 10px 0 0;
	grid-template-rows: repeat(14, max-content);
}
.seccion_categorias > p, .seccion_categorias_new > p {
	height: 35px;
	/*padding: 8px;*/
	margin: 0px;
	border: 1px solid #616161;
	text-align: center;
	/*font-weight: 600;*/
	cursor: pointer;
}
.seccion_categorias_new > p {
	height: 35px;
	/*padding: 4px;*/
	font-size: 12px;
	justify-content: center;
	align-items: center;
	display: flex;
	border: 0px;
}
.ajuste_categorias {
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 5px;
}
.ajuste_seccion_mid {
	padding: 0 10px 0 10px;
}
.seccion_clientes {
	display: grid;
	grid-template-columns: 35% 8% 19% 19% 19%;
	grid-row-gap: 5px;
	padding: 0px 0px 0px 20px;
	grid-template-rows: max-content max-content max-content;
}
.ajuste_clientes {
	grid-template-columns: 54% 8% 19% 19%;
	padding: 0 0 0 10px;
}
.ajuste_new_clientes {
	grid-template-columns: 73% 8% 19%;
	padding: 0 0 0 10px;
}
.ajuste_new_vtas {
	display: grid;
	grid-template-columns: 1.75fr 0.25fr 1fr 1fr 1fr;
	grid-gap: 10px;
}
.ajuste_new_vtas_2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
}
.oculto {
	display: none !important;
}
.p_calculadora1 {
	margin: 0;
	padding: 0;
	font-size: 24px;
}
.btnprincipalventa, .btn_new_compras {
	font-size: 40px;
	margin: auto;
	cursor: pointer;
	color: #31d0aa;
}
.btn_new_compras {
	margin: none;
}
.btn_new_compras:hover {
	opacity: 0.7;
}
.seccion_clientes > i:hover, .seccion_categorias > i:hover, .seccion_categorias_new > i:hover {
	opacity: 0.7;
}
.bg_btn_ventas {
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-o-transition: all .2s;
	transition: all .2s;
	border-radius: 4px;
	box-shadow: 0px 2px 3px #939393;
}
.esqredondeada {
	border-radius: 8px;
	box-shadow: 0px 2px 3px #939393 !important;
}
.bg_celeste { background-color: #99E1E5; }
.bg_beige { background-color: #FFFFC2; }
.bg_rojo { background-color: #F79486; }
.bg_verde { background-color: #EBFFAF; }
.bg_verde2 { background-color: #B4E8C0; }
.bg_morado { background-color: #C3B9EA; }
.bg_naranja { background-color: #FFB072; }

.bg_celeste:hover { background-color: #29DBE5; }
.bg_beige:hover { background-color: #FDFD44; }
.bg_rojo:hover { background-color: #F54830; }
.bg_verde:hover { background-color: #D4FE57; }
.bg_verde2:hover { background-color: #51E974; }
.bg_morado:hover { background-color: #7A5EE9; }
.bg_naranja:hover { background-color: #FF892D; }

.btnredondeado {
	display: flex;
	width: 100%;
	height: 40px;
	/*padding: 8px;*/
	text-align: center;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border-radius: 8px;
	font-size: 14px;
	background-color: #008280;
	color: #EBEBEB;
	box-shadow: 0px 2px 3px #939393;
}
.btnredondeado:hover {
	color: #1B1B1B;
}
.new_gext_compras {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
	overflow-x: hidden;
}
.gext_ventas {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
	overflow-x: hidden;
}
.gint_ventas {
	border: 1px solid #9ea7af;
}
.datos_producto_pos {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.imagen_facturacion_2, .new_imagen_facturacion_2 {
	display: flex;
	text-align: center;
	justify-content: center;
	margin: auto;
	height: 120px;
	border-bottom: 1px solid #9ea7af;
}
.imagen_facturacion_2:hover > img {
	transform: scale(1.7);
}
.p_facturacion_pos {
	margin: 0;
	padding: 0;
	/*font-weight: 600;*/
	padding: 4px;
	font-size: inherit;
}
.p_facturacion_pos i {
	font-size: inherit;
}
.new_imagen_facturacion_2{
	overflow: hidden;
}
.new_imagen_facturacion_2 img {
    transition: transform 0.1s ease-in-out; /* Transición suave para el scale */
}
.new_imagen_facturacion_2:hover img {
	transform: scale(1.5);
}
.new_imagen_facturacion_2:hover .existencia_badge {
    background-color: rgba(255, 0, 0, 1); /* Totalmente opaco */
}

.new_imagen_facturacion_2:hover .codigo_badge {
    background-color: rgba(173, 173, 173, 1); /* Totalmente opaco */
}
.existencia_badge {
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: rgba(255,0,0,0.7); /* Fondo rojo semi-transparente */
    color: white;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 5px;
    border-radius: 3px;
    z-index: 10;
    margin: 0; /* Para evitar margen del <p> */
    text-align: center;
    transition: background-color 0.3s ease-in-out;
}
.codigo_badge {
    position: absolute;
    bottom: 5px;
    left: 5px;
    background-color: rgba(173,173,173,0.7); /* Fondo rojo semi-transparente */
    color: white;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 5px;
    border-radius: 3px;
    z-index: 10;
    margin: 0; /* Para evitar margen del <p> */
    text-align: center;
    transition: background-color 0.3s ease-in-out;
}

.border_bt_pos {
	border-bottom: 1px solid #9ea7af;
}
.border_rg_pos {
	border-right: 1px solid #9ea7af;
}
.border_tp_pos {
	border-top: 1px solid #9ea7af;
}
.color_dinero_pos {
	color: #ff0000;/*#00A100;*/
}
.ajuste_new_padding_ventas {
	padding-top: 0px !important;
}
/* BUSCADOR */
.input_buscador {
	width: 100%;
	height: 40px;
	padding: 0 16px;
	background-color: rgb(238, 234, 244);
	box-shadow: rgba(74, 74, 104, 0.1) 0px 2px 2px -1px inset;
	border: 1px solid rgb(215, 202, 236);
	outline: 0px;
}
.new_input_buscador {
	width: 50%;
	height: 30px;
	padding: 0 16px;
	background-color: rgb(238, 234, 244);
	box-shadow: rgba(74, 74, 104, 0.1) 0px 2px 2px -1px inset;
	border: 1px solid rgb(215, 202, 236);
	outline: 0px;
}
.ajuste_pd_cxc {
	padding: 0 8px;
}
.buscador {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}
.buscador i {
	margin-left: 10px;
	font-size: 40px;
	cursor: pointer;
	color: rgb(49, 208, 170);
}
.buscador i:hover {
	opacity: 0.7;
}

.buscador_select {
	flex-direction: column;
}
.buscador_select_css {
	display: flex;
	align-items: center;
}
.campo-busqueda {
    display: flex;
    gap: 10px;
}
/* DATOS CLIENTE */
.buscador_alt i {
	color: #D20202 !important;
}
.sin_margin {
	padding: 0;
	margin: 0;
}
.espacio_factura {
	margin-bottom: 10px;
}
.div_datos_cliente {
	font-size: 14px;
}
.color_verde {
	color: #003908;
}
.color_verde_vivido {
	color: #1e902f;
}
.color_vino {
	color: #b22222;
}
/* PRODUCTOS */
.tabla_productos {
	width: 100%;
	border-collapse: collapse;
	overflow: hidden;
}
.tabla_productos th {
	background-color: #282A2F;
	text-align: center;
	color: #fff;
	border-bottom: 4px solid #9ea7af;
}
.tabla_productos th:first-child {
	border-top-left-radius: 3px;
}
.tabla_productos th:last-child {
	border-top-right-radius: 3px;
}
.tabla_productos th:nth-child(1), .tabla_productos th:nth-child(2) {
	width: 20%;
}
.tabla_productos th:nth-child(3), .tabla_productos th:nth-child(4),
.tabla_productos th:nth-child(5), .tabla_productos th:nth-child(6) {
	width: 12.5%;
}
.tabla_productos th:last-child { width: 10%; }
.tabla_productos th, .tabla_productos td {
	padding: 8px;
}
.tabla_productos td {
	border: 1px solid #9ea7af;
}
.tabla_productos tbody tr:nth-child(odd) {
	background-color: #EBEBEB;
}
.tabla_productos tbody tr:hover {
	background-color: #4e5066;
	color: #fff;
}
.sin_datos {
	font-weight: 600;
	color: #f00;
	margin: 0;
	padding: 0;
}
/* GRID FACTURACIÓN */
.gext_facturacion {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 20px;
}
.gint_facturacion {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	border: 1px solid #9ea7af;
}
.imagen_facturacion {
	display: flex;
	text-align: center;
	border-right: 1px solid #9ea7af;
	height: 100%;
}
.imagen_facturacion img {
	width: 140px; /*140px*/
	margin: auto;
}
.p_facturacion {
	margin: 0;
	padding: 0;
	font-weight: 600;
	border-bottom: 1px solid #9ea7af;
	padding: 4px;
	margin-bottom: 2px;
}
.color_dinero {
	color: #00660F;
}
/* FACTURACIÓN DOBLE */
.tabla_formulas th:nth-child(1) {
	width: 15%;
}
.tabla_formulas th:nth-child(2) {
	width: 12.5%;
}
.tabla_formulas th:nth-child(3) {
	width: 30%;
}
.tabla_formulas th:nth-child(4), .tabla_formulas th:nth-child(5), .tabla_formulas th:nth-child(6) {
	width: 12.5%;
}
.tabla_formulas th:nth-child(7) {
	width: 5%;
}
/* CUENTAS PENDIENTES */
.tabla_cta_pend th:nth-child(1) {
	width: 50%;
}
.tabla_cta_pend th:nth-child(2) {
	width: 15%;
}
.tabla_cta_pend th:nth-child(3) {
	width: 15%;
}
.tabla_cta_pend th:nth-child(4) {
	width: 15%;
}
.tabla_cta_pend th:nth-child(5) {
	width: 5%;
}
/* CUENTAS PENDIENTES */
.tabla_alpha_facturas th:nth-child(1) {
	width: 35%;
}
.tabla_alpha_facturas th:nth-child(2) {
	width: 12%;
}
.tabla_alpha_facturas th:nth-child(3) {
	width: 12%;
}
.tabla_alpha_facturas th:nth-child(4) {
	width: 12%;
}
.tabla_alpha_facturas th:nth-child(5) {
	width: 12%;
}
.tabla_alpha_facturas th:nth-child(6) {
	width: 12%;
}
.tabla_alpha_facturas th:nth-child(7) {
	width: 5%;
}
/* TODAS LAS FACT */
.tabla_todas_fact th:nth-child(1) {
	width: 15%;
}
.tabla_todas_fact th:nth-child(2) {
	width: 20%;
}
.tabla_todas_fact th:nth-child(3) {
	width: 15%;
}
.tabla_todas_fact th:nth-child(4) {
	width: 15%;
}
.tabla_todas_fact th:nth-child(5) {
	width: 15%;
}
.tabla_todas_fact th:nth-child(6) {
	width: 10%;
}
.tabla_todas_fact th:nth-child(7) {
	width: 10%;
}

/* CUENTAS PENDIENTES ABONO */
.tabla_cta_pend_abono th:nth-child(1) {
	width: 15%;
}
.tabla_cta_pend_abono th:nth-child(2) {
	width: 20%;
}
.tabla_cta_pend_abono th:nth-child(3) {
	width: 15%;
}
.tabla_cta_pend_abono th:nth-child(4) {
	width: 15%;
}
.tabla_cta_pend_abono th:nth-child(5) {
	width: 15%;
}
.tabla_cta_pend_abono th:nth-child(6) {
	width: 15%;
}
.tabla_cta_pend_abono th:nth-child(7) {
	width: 5%;
}
/* GANANCIA */
.tabla_ganancia th:nth-child(1), .tabla_ganancia th:nth-child(2),
.tabla_ganancia th:nth-child(3), .tabla_ganancia th:nth-child(4),
.tabla_ganancia th:nth-child(5) {
	width: 20%;
}

/* GASTOS */
.tabla_gastos th:nth-child(1) {
	width: 5%;
}
.tabla_gastos th:nth-child(2) {
	width: 8%;
}
.tabla_gastos th:nth-child(3) {
	width: 20%;
}
.tabla_gastos th:nth-child(4), .tabla_gastos th:nth-child(5), .tabla_gastos th:nth-child(6) {
	width: 12%;
}
.tabla_gastos th:nth-child(7) {
	width: 26%;
}
.tabla_gastos th:nth-child(8) {
	width: 5%;
}

/* CLIENTES */
.tabla_clientes th:nth-child(1) {
	width: 80%;
}
.tabla_clientes th:nth-child(2) {
	width: 15%;
}
.tabla_clientes th:nth-child(3) {
	width: 5%;
}

/* PROVEEDORES */
.tabla_proveedores th:nth-child(1) {
	width: 80%;
}
.tabla_proveedores th:nth-child(2) {
	width: 15%;
}
.tabla_proveedores th:nth-child(3) {
	width: 5%;
}

/* CAJA */
.tabla_caja th:nth-child(1), .tabla_caja th:nth-child(2),
.tabla_caja th:nth-child(3), .tabla_caja th:nth-child(4),
.tabla_caja th:nth-child(5) {
	width: 16.66%;
}
.tabla_caja th:nth-child(6) {
	width: 16.67%;
}
/* FACTURAS */
.tabla_facturas th:nth-child(1) {
	width: 60%;
}
.tabla_facturas th:nth-child(2) {
	width: 15%;
}
.tabla_facturas th:nth-child(3) {
	width: 15%;
}
/* CXC TODOS */
.tabla_cxc_todos th:nth-child(1) {
	width: 50%;
}
.tabla_cxc_todos th:nth-child(2) {
	width: 25%;
}
.tabla_cxc_todos th:nth-child(3) {
	width: 25%;
}
/* USUARIOS */
.tabla_usuarios th:nth-child(1), .tabla_usuarios th:nth-child(2),
.tabla_usuarios th:nth-child(3) {
	width: 30%;
}
.tabla_usuarios th:nth-child(4) {
	width: 10%;
}
/* CATEGORÍAS */
.tabla_categorias th:nth-child(1), .tabla_categorias th:nth-child(2),
.tabla_categorias th:nth-child(3), .tabla_categorias th:nth-child(4),
.tabla_categorias th:nth-child(5) {
	width: 16%;
}
.tabla_categorias th:nth-child(6), .tabla_categorias th:nth-child(7) {
	width: 7.5%;
}
.tabla_categorias th:nth-child(8) {
	width: 5%;
}
#div_subcategorias {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 10px;
}
.btn_subcategoria {
	display: flex;
	font-size: 12px;
	text-align: center;
	justify-content: center;
	align-items: center;
	margin: 0;
	cursor: pointer;
	/*font-weight: 600;*/
	padding: 8px;
	background: #008280;
	color: #ebebeb;
	border-radius: 8px;
	box-shadow: 0px 2px 3px #939393;
}
.btn_subcategoria:hover {
	color: #1B1B1B;
}
/* COMPRAS */
.tabla_compras th:nth-child(1) {
	width: 8%;
}
.tabla_compras th:nth-child(2) {
	width: 20%;
}
.tabla_compras th:nth-child(3), .tabla_compras th:nth-child(4),
.tabla_compras th:nth-child(5), .tabla_compras th:nth-child(6),
.tabla_compras th:nth-child(7), .tabla_compras th:nth-child(8),
.tabla_compras th:nth-child(9), .tabla_compras th:nth-child(10) {
	width: 9%;
}

/* BÚSQUEDA VENTAS */
.tabla_busqueda_ventas th:nth-child(1), .tabla_busqueda_ventas th:nth-child(2) {
	width: 20%;
}
.tabla_busqueda_ventas th:nth-child(3), .tabla_busqueda_ventas th:nth-child(4),
.tabla_busqueda_ventas th:nth-child(5) {
	width: 16.66%;
}
.tabla_busqueda_ventas th:nth-child(6) {
	width: 10.02%;
}

/* VENTA ACTUAL */
.tabla_ventas th:nth-child(1) {
	width: 30%;
}
.tabla_ventas th:nth-child(2) {
	width: 25%;
}
.tabla_ventas th:nth-child(3) {
	width: 20%;
}
.tabla_ventas th:nth-child(4) {
	width: 25%;
}
.tabla_ventas th:nth-child(5) {
	width: 5%;
}

.new_tabla_compras th:nth-child(1) {
	width: 13.5%;
}
.new_tabla_compras th:nth-child(2), .new_tabla_compras th:nth-child(3), .new_tabla_compras th:nth-child(6),
.new_tabla_compras th:nth-child(7), .new_tabla_compras th:nth-child(9), .new_tabla_compras th:nth-child(10),
.new_tabla_compras th:nth-child(12) {
	width: 6.5%;
}
.new_tabla_compras th:nth-child(4), .new_tabla_compras th:nth-child(5),
.new_tabla_compras th:nth-child(8), .new_tabla_compras th:nth-child(11) {
	width: 9%;
}
.new_tabla_compras th:nth-child(13) {
	width: 5%;
}
.ajuste_color_credito > th {
	background-color: #b22222;
	border-bottom: 4px solid #870000;
}
.ajuste_color_costo > th {
	background-color: #222CB2;
	border-bottom: 4px solid #130087;
}
.final_venta {
	width: 100%;
	text-align: right;
	margin-top: 20px;
}
.color_header_costo {
	background: #b22222 !important;
}
.color_header_dolares {
	background: #1e902f !important;
}

.color_header_credito {
	background: #22B2A3 !important;
}
.color_turquesa {
	color: #22B2A3;
}
.linea_turquesa {
	background: #62F0E1 !important;
}
.linea_turquesa:hover {
	background-color: #C9FAF5 !important;
	color: #000 !important;
}
.final_venta_2 {
	width: 100%;
	text-align: right;
	margin-top: 10px;
}
.final_venta > i,
.final_venta_2 > i {
	font-size: 30px;
	color: rgb(49, 208, 170);
	cursor: pointer;
}
.final_venta > i:hover,
.final_venta_2 > i:hover {
	opacity: 0.7;
}
/* REGISTROS */
.tabla_registros th:nth-child(1) {
	width: 10%;
}
.tabla_registros th:nth-child(2) {
	width: 10%;
}
.tabla_registros th:nth-child(3) {
	width: 80%;
}

.pocas_existencias {
	background-color: #FFFDBC !important;
}
.pocas_existencias:nth-child(odd) {
	background-color: #FFFEE1 !important;
}
.pocas_existencias:hover {
	background-color: #4e5066 !important;
	color: #fff !important;
}
.error_precio {
	background-color: #FFBCBC !important;
}
.linea_verde {
	background-color: #8BFF9C !important;
}
.linea_verde:hover {
	background-color: #CCFFD3 !important;
	color: #000 !important;
}
/*.error_precio:nth-child(odd) {
	background-color: #FFE1E1 !important;
}*/
.error_precio:hover {
	background-color: #664E4E !important;
	color: #fff !important;
}

/* Checkbox */
/* Contenedor principal para el checkbox personalizado */
.checkbox-container {
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 10px 0;
}

/* Ocultamos el checkbox nativo */
.checkbox-container input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    cursor: pointer;
}

/* Creamos nuestro checkbox personalizado */
.checkmark {
    position: relative;
    height: 22px;
    width: 22px;
    background-color: #fff;
    border: 2px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
    display: inline-block;
    vertical-align: middle;
}

/* Cuando el checkbox está checked */
.checkbox-container input[type="checkbox"]:checked ~ .checkmark {
    background-color: #4CAF50;
    border-color: #4CAF50;
}

/* Creamos el checkmark (palomita) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Mostramos el checkmark cuando está checked */
.checkbox-container input[type="checkbox"]:checked ~ .checkmark:after {
    display: block;
}

/* Estilo de la palomita */
.checkbox-container .checkmark:after {
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Efecto hover */
.checkbox-container:hover input[type="checkbox"] ~ .checkmark {
    border-color: #bbb;
}

.checkbox-container:hover input[type="checkbox"]:checked ~ .checkmark {
    background-color: #45a049;
    border-color: #45a049;
}

/* Toggle switch */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 24px;
}

.toggle-switch input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 24px;
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input[type="checkbox"]:checked + .toggle-slider {
    background-color: #4CAF50;
}

input[type="checkbox"]:checked + .toggle-slider:before {
    transform: translateX(26px);
}

.btn_categorias_toggle {
	display: none;
}

/* Texto del label */
.checkbox-label {
    margin-left: 8px;
    vertical-align: middle;
    font-size: 14px;
    color: #333;
}
.configuracion_datos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 20px;
}



.togglehistorico {
	user-select: none;
	transition: color 0.3s;
}
/*
.togglehistorico:hover {
	color: #007bff;
}*/

/* Flechita animada */
.togglehistorico i {
	transition: transform 0.3s ease;
}

.togglehistorico.active #flecha_toggle {
	transform: rotate(90deg);
}

/* --- Panel desplegable --- */
.config_desplegable {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: all 0.5s ease;
}

.config_desplegable.mostrar {
	max-height: 500px; /* Ajusta según el contenido */
	opacity: 1;
	margin-top: 15px;
}

.nueva_facturacion {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 10px;
}
.dg2 { grid-column: span 2; }
.dg3, .dg3_a2_movil, .dg3_a1_movil { grid-column: span 3; }
.dg4, .dg4_a1_movil { grid-column: span 4; }
.dg5, .dg5to3 { grid-column: span 5; }
.dg7 { grid-column: span 7; }
.dg8 { grid-column: span 8; }
.dg10 { grid-column: span 10; }
.fz10 { font-size: 10px; }
.fz16_10 {
	font-size: clamp(0.8rem, 0.2vw + 0.55rem, 1rem) !important;
}
.fz12 { font-size: 12px; }
.fz16 { font-size: 16px; }
.fz18 { font-size: 18px; }

.tabla_vuelto .contenido_vuelto {
	border-bottom: 1px solid #ccc;
}
.tabla_vuelto .titulo {
	margin: 0;
	font-weight: 600;
	text-align: center;
	padding: 8px !important;
	background: #282A2F;
	font-size: 14px;
	border-radius: 3px 3px 0px 0px;
	grid-column: span 2;
	color: #fff;
}
.tabla_vuelto .celdaizq {
	padding: 0;
	margin: 0;
	padding: 8px !important;
	font-size: 14px;
	border: 1px solid #ccc;
	border-bottom: 0px;
	border-right: 0px;
}
.tabla_vuelto .celdader {
	padding: 0;
	margin: 0;
	padding: 8px !important;
	font-size: 14px;
	border: 1px solid #ccc;
	border-bottom: 0px;
}
.vuelto_input {
	width: 100%;
	background-color: #EFEFEF;
	/*font-size: 16px !important;*/
	padding: 8px 15px;
	color: #5F5F5F;
}
/* OTROS */
.centrado { text-align: center; }
.derecha { text-align: right; }
.izquierda { text-align: left; }
.negrita { font-weight: 600; }
.bdr_right_2px { border-right: 2px solid #9ea7af !important; }
.cursor_pointer { cursor: pointer; }
.ml_3px { margin-left: 3px; }
.ml_5px { margin-left: 5px; }
.ml_8px { margin-left: 8px; }
.ml_10px { margin-left: 10px; }
.mr_5px { margin-right: 5px; }
.mr_8px { margin-right: 8px; }
.mb_5px { margin-bottom: 5px; }
.mb_5px_i { margin-bottom: 5px !important; }
.mb_20px { margin-bottom: 20px; }
.mb_20px_i { margin-bottom: 20px !important; }
.mb_10px { margin-bottom: 10px; }
.mb_10px_i { margin-bottom: 10px !important; }
.mb_8px { margin-bottom: 8px; }
.mt_5px { margin-top: 5px; }
.mt_8px { margin-top: 8px; }
.mt_10px { margin-top: 10px !important; }
.mt_20px { margin-top: 20px; }

.pt_10px { padding-top: 10px !important; }
.pb_10px { padding-bottom: 10px !important; }
.mb_0px { margin-bottom: 0px; }
.pb_0px_i { padding-bottom: 0px !important; }
.p10_px_i { padding: 10px !important; }
.p5_px_i { padding: 5px !important; }

.label_swal_input {
	font-size: 1.2em;
	font-weight: 600;
	display: block;
}
.ajuste_html_swal {
	text-align: left !important;
}
.ajuste_input_number_swal {
	max-width: none !important;
}
.ajuste_bd_swal_1 {
	border-top: 1px solid #d9d9d9;
	padding-top: 10px;
	margin-top: 10px;
}
/* PRODUCTOS AGOTADOS */
.tabla_productos_agotados th:nth-child(1) {
	width: 5%;
}
.tabla_productos_agotados th:nth-child(2) {
	width: 30%;
}
.tabla_productos_agotados th:nth-child(3) {
	width: 20%;
}
.tabla_productos_agotados th:nth-child(4) {
	width: 20%;
}
.tabla_productos_agotados th:nth-child(5) {
	width: 20%;
}
.tabla_productos_agotados th:nth-child(6) {
	width: 5%;
}
.ajuste_productos_agotados {
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
	padding: 0 0 0 10px;
}
.ajuste_new_compras {
	grid-template-columns: 1fr;
}
.new_buscador_compras {
	grid-column: span 5;
	display: flex;
}
.color_btn_prod_agot {
	background-color: #b22222 !important;
}

.input_productos {
	display: block;
	width: 100%;
	padding: .5rem .75rem;
	line-height: 1.25;
    background-color: #e4f6fe;
	border: 1px solid #00a8ff;
    box-shadow: none;
    font-size: 1rem;
    color: #343434!important;
    border-radius: .25rem;
}
.input_productos:focus {
	outline: none;
}
.input_productos[placeholder] {
	color: #000;
}
.input_productos_error {
	background-color: #fee4e4;
	border: 1px solid #ff0000;
}
.nuevo_btn_productos {
	padding: 10px;
	background-color: #00a8ff;
	color: #fff;
	display: inline-block;
	border-radius: 4px;
}
.nuevo_btn_productos:hover {
	background-color: #37B9FD;
}

/* GRÁFICOS */
.primer_grafico {
	width: 90%;
	height: 300px;
}

.titulo_grafico {
	padding: 0;
	margin: 0;
	font-weight: 600;
	font-size: 24px;
	text-align: center;
	border-top: 1px solid #d1d1d1;
	border-bottom: 1px solid #d1d1d1;
	padding: 10px 0px;
}

/* LOGIN */
.contenedor_login {
	width: 100%;
	margin: auto;
}
.contenido_login {
	width: 360px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	padding: 20px;
	border-radius: 5px;
	-webkit-box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.38);
	-moz-box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.38);
	box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.38);
}
.login_input {
	width: 100%;
	border: 2px solid transparent;
	font-size: 16px;
	border-radius: 4px;
	color: #4a494e;

	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;

	background-color: #EFEFEF;
	padding: 10px 10px;
	margin-bottom: 10px;
}
.login_input:focus {
	border: 2px solid #5A5A5A;
	outline: none;
}
.boton_accion {
	width: 100%;
	background-color: #11a837;
	margin-bottom: 10px;

	border: 2px solid transparent;
	border-radius: 5px;
	cursor: pointer;
	color: #fff;

	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
}
.boton_accion:last-child {
	margin-bottom: 0;
}
.boton_accion p {
	text-align: center;
	margin: 0;
	padding: 10px;
	font-size: 16px;
}
.boton_accion:hover {
	border: 2px solid #5A5A5A;
}
.input_listas {
	width: 100%;
	outline: 0px;

	border: 2px solid #B0B0B0;
	border-radius: 4px;
	background-color: #fff;
	color: #4a494e;

	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;

	padding: 10px 10px;
	margin-bottom: 20px;
}
.input_listas:focus {
	border: 2px solid #5A5A5A;
	outline: none;
}
.textarea_listas {
	resize: none;
}
.ajuste_input_listas {
	width: 300px;
	display: inline-block;
	margin-right: 5px;
}
.boton_listas {
	width: auto;
	padding: 10px;
	background-color: #00B92F;
	font-weight: 600;

	border: 2px solid transparent;
	border-radius: 5px;
	cursor: pointer;
	color: #fff;

	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
}
.boton_listas:hover {
	border: 2px solid #000;
}
.p_lista {
	margin: 0;
	padding: 0;
}
.ir_arriba {
	display: none;
	padding: 15px;
	background: #b22222;
	font-size: 20px;
	color: #fff;
	cursor: pointer;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1;
	width: 50px;
	height: 50px;
	text-align: center;
	border-radius: 50%;
}
.ir_arriba:hover {
	background: #8a1d1d;
}

.new_gext_ventas {
	display: grid;
	grid-template-columns: repeat( auto-fit, calc(25% - 20px) ); /* DEFAULT ERA 180 */
	grid-gap: 10px;
	justify-content: center;
}
.ajuste_gext_ventas {
	grid-template-columns: repeat( auto-fit, calc(20% - 20px) ) !important;
}
.normalize_p {
	margin: 0;
	padding: 0;
}
.sizecheckbox {
	width: 20px;
	height: 20px;
}
.contenedorCheckbox {
	line-height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* CSS DATATABLES */
.datatables_buscador_only {

}
.dataTables_wrapper {
    z-index: 1 !important;
    transform: none !important;
    position: static !important; /* o relative si necesitas posicionar internamente */
}
.dataTables_scrollHead {
  position: relative !important;
  z-index: 10 !important; /* Menor que el header fijo */
}
/* Si usas FixedHeader */
table.dataTable thead th,
table.dataTable thead td {
    z-index: 2 !important; /* menor que el header */
    position: relative !important;
}
.dataTables_length,
.dataTables_filter {
    margin-bottom: 10px;
}


/* 320 480 768 1024 1200 */
@media (max-width: 640px) {
	.mt_10px_movil {
		margin-top: 10px;
	}

	.reajustar_span_movil {
		display: grid;
		grid-gap: 5px;
	}

	.reajustar_span_movil > span {
		margin: 0;
	}

	.configuracion_datos {
		grid-template-columns: 1fr;
	}

	#campo_cantidad {
		display: grid;
		grid-gap: 5px;
	}

	#campo_cantidad > i {
		margin-left: 0px;
		margin-right: 0px;
	}

	/*.tabla_vuelto .celdader, .tabla_vuelto .titulo, .tabla_productos th, .tabla_productos td {
		padding: 4px 8px !important;
	}*/

	.btnredondeado {
		display: flex;
		width: 100%;
		height: 40px;
		padding: 5px;
		margin: 0px 0px;
		text-align: center;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		border-radius: 8px;
		font-size: 14px;
		background-color: #008280;
		color: #EBEBEB;
		box-shadow: 0px 2px 3px #939393;
	}
	.ajuste_new_padding_ventas {
		padding-top: 25px !important;
	}
	.ajuste_new_padding_compras {
		padding-top: 40px !important;
	}
	.btn_categorias_toggle {
		display: flex;
		position: fixed;
	    top: 60px; /* justo debajo del header que mide 60px */
	    left: 0;
	    width: 100%;
	    z-index: 998;
	    text-align: center;
	    height: 25px;
	    background: #D3D3D3;
	    justify-content: center;
	    align-items: center;
	}

	.new_input_buscador {
		width: 100%;
		margin-bottom: 10px;
	}

	.contenido > span, #contenedor_newbtn > span {
		display: block;
		margin-left: 0px;
		margin-right: 0px;
		margin-bottom: 5px;
		text-align: center;
	}

	#contenedor_newbtn > span {
		margin-top: 5px;
	}

	.ajuste_movil_tabla {
		width: 100%;
		font-size: 0.8em;
	}
	.ajuste_movil_tabla thead {
		display: none;
	}
	.ajuste_movil_tabla tr {
		display: flex;
		flex-direction: column;
		border: 1px solid grey;
		padding: 1em;
		margin-bottom: 1em;
	}
	.ajuste_movil_tabla td[data-titulo] {
		display: flex;
	}

	.ajuste_movil_tabla td[data-titulo]::before {
		content: attr(data-titulo);
		width: 90px;
		font-weight: 600;
		text-align: left;
	}
	.gext_facturacion {
		grid-template-columns: repeat(1, 1fr);
	}

	.buscador_ajuste_movil {
		flex-wrap: wrap;
	    align-items: center;
	    justify-content: space-between;
	    margin-bottom: 10px;
	}

	.buscador_ajuste_movil i {
		margin-top: 10px;
		margin-left: 0px;
	}

	.ocultar_movil {
		display: none;
	}

	.ajuste_facturacion_v2, .ajuste_compras_v3 {
		grid-template-columns: 1fr;
	}

	.ajuste_categorias {
		grid-template-columns: repeat( auto-fit, minmax(80px, 1fr) );
		grid-template-rows: auto;
		margin-bottom: 20px;
	}

	.seccion_categorias {
		border-right: none;
		grid-template-rows: auto;
		margin-bottom: 20px;
	}

	.ajuste_seccion_mid {
		padding: 0 0 0 0;
	}

	.seccion_categorias_new {
		padding: 0 0 0 0;
		border-right: none;
	}

	.gext_ventas {
		grid-template-columns: repeat( auto-fit, minmax(100px, 1fr) );
	}

	.imagen_facturacion_2 {
		height: 80px;
	}

	.datos_producto_pos {
		font-size: 12px;
	}

	.ajuste_new_clientes {
		padding: 0 0 0 0;
		grid-template-columns: 60% 15% 25%;
	}

	.nueva_facturacion {
		grid-template-columns: 1fr;
		grid-gap: 0px;
	}

	.tabla_vuelto {
		margin-top: 20px;
	}

	.ajuste_facturas_v3 {
		grid-template-columns: 1fr;
		grid-gap: 10px;
	}

	.ajuste_productos_agotados {
		padding: 0 0 0 0;
		grid-template-columns: repeat(2, 1fr);
	}

	.dg3_a2_movil {
		grid-column: span 2;
	}

	.dg3_a1_movil, .dg4_a1_movil {
		grid-column: span 1;
	}

	.quitar_mt_movil {
		margin-top: 0px !important;
	}

	.mt20px_movil {
		margin-top: 20px;
	}

	.ajuste_new_compras {
		padding: 0;
	}

	.ajuste_new_vtas {
		grid-template-columns: repeat(3, 1fr);
	}

	.seccion_clientes {
		padding: 0;
	}

	.dg0to2 {
		grid-column: span 2;
	}

	.dg5to3 {
		grid-column: span 3;
	}
}