html {
	scrollbar-gutter: stable;
}

/* Metronic usa overflow-y: scroll en .menu-sub-dropdown y reserva carril aunque no haya scroll */
.menu.menu-sub.menu-sub-dropdown,
#menu-filtros.menu-sub-dropdown,
#menu-filters.menu-sub-dropdown {
	max-height: calc(100vh - 100px);
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: auto;
}

/* Sin alto propio la equis flota sobre la esquina sin empujar el título, y el
   sticky la mantiene a la vista mientras se recorre el panel. */
.odp-menu-cerrar-barra {
	position: sticky;
	top: 0;
	z-index: 3;
	display: flex;
	justify-content: flex-end;
	height: 0;
	overflow: visible;
}
.odp-menu-cerrar {
	margin: 0.5rem 0.5rem 0 0;
	background-color: #fff;
}
@media (min-width: 768px) {
	.odp-menu-cerrar-barra {
		display: none;
	}
}

/* Safari en iOS no siempre resuelve la tipografía del tema en los campos de
   formulario y cae a la del sistema, que dibuja los dígitos más grandes: los
   campos de fecha se veían mayores que el texto de los Select2 vecinos. */
.form-control,
.form-select,
.form-check-input {
	font-family: inherit;
}

/* Lo que se ve de un Select2 es un span, así que se queda en el 1rem del tema y
   no recibe los 16px anti-zoom de más abajo. El campo de fecha se iguala a mano;
   queda fuera de esa regla, de modo que iOS hará zoom al enfocarlo. */
.form-control.odp-campo-fecha {
	font-size: 1rem;
}

/* comun.js ancla el panel bajo el campo con position:fixed y, cuando no cabe,
   limita el alto de .odp-drp-cuerpo para que el pie siga visible. */
.odp-drp-cuerpo {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
}
.daterangepicker .drp-calendar {
	float: none !important;
	flex: 0 0 auto;
	width: 22rem;
	max-width: 22rem;
	overflow: visible;
	box-sizing: border-box;
}
.daterangepicker .drp-calendar.left,
.daterangepicker .drp-calendar.right {
	padding: 0.75rem !important;
}
.daterangepicker .calendar-table,
.daterangepicker .calendar-table table {
	width: 100%;
	table-layout: auto;
}
.daterangepicker .odp-drp-fila-oculta {
	display: none;
}
.odp-drp-cabecera {
	display: grid;
	grid-template-columns: 1.5rem minmax(0, 1fr) 1.5rem;
	align-items: center;
	gap: 0.4rem;
	width: 100%;
	padding: 0 0 0.65rem;
	box-sizing: border-box;
}
.odp-drp-selectores {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(7.25rem, 2fr);
	gap: 0.5rem;
	min-width: 0;
}
.odp-drp-selectores .select2-container {
	width: 100% !important;
	min-width: 0;
}
.odp-drp-selectores .select2-selection,
.daterangepicker .calendar-time .select2-selection {
	min-height: 2.65rem;
	padding: 0.55rem 2rem 0.55rem 0.75rem;
	font-size: 1rem;
	font-weight: 500;
	text-align: left;
}
.odp-drp-selectores .select2-selection__rendered,
.daterangepicker .calendar-time .select2-selection__rendered {
	color: inherit;
	overflow: hidden;
	text-overflow: ellipsis;
}
.odp-drp-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 2.65rem;
	padding: 0;
	border: 0;
	border-radius: 0.475rem;
	background: transparent;
}
.odp-drp-nav.available:hover {
	background-color: #f1faff;
}
.odp-drp-nav:disabled {
	visibility: hidden;
}
.odp-drp-nav span {
	display: inline-block;
	padding: 0.25rem;
	border: solid #5e6278;
	border-width: 0 2px 2px 0;
}
.odp-drp-nav.prev span {
	transform: rotate(135deg);
}
.odp-drp-nav.next span {
	transform: rotate(-45deg);
}
.daterangepicker.show-calendar .drp-buttons {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	flex-wrap: nowrap;
}
.daterangepicker .drp-selected {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding-right: 0;
}
.daterangepicker .drp-buttons .btn {
	flex: 0 0 auto;
	margin-left: 0;
}
.daterangepicker .calendar-time {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	line-height: normal;
}
.daterangepicker .calendar-time .select2-container {
	width: 6rem !important;
}
/* El desplegable vive en <body> para no recortarse con el scroll del calendario. */
.daterangepicker-select2-dropdown {
	z-index: 2000 !important;
	min-width: 12rem;
}

/* El vacío del menú de avisos no debe verse si aún hay ítems en la lista. */
.menu-notificaciones-scroll:has(#notificaciones [id^="notificacion-"]) #sin-notificaciones {
	display: none !important;
}

/* Los dos meses no caben lado a lado: se apilan y el rango del pie sobra. */
@media (max-width: 767.98px) {
	/* Popper hace clamp horizontal del menú: con cualquier ancho menor al del
	   viewport lo pega a un borde y el aire sobrante queda de un solo lado. Se
	   ocupa el ancho completo (único desplazamiento posible: 0) y el margen se
	   simula con bordes transparentes, que sí quedan simétricos. */
	#menu-filtros.menu-sub-dropdown,
	#menu-filters.menu-sub-dropdown,
	.menu-notificaciones-dropdown {
		width: 100% !important;
		max-width: 100% !important;
		border-left: 0.5rem solid transparent;
		border-right: 0.5rem solid transparent;
		background-clip: padding-box;
	}
	.odp-drp-cuerpo {
		flex-direction: column;
	}
	.daterangepicker .drp-calendar {
		width: 100%;
		max-width: none;
	}
	.daterangepicker .drp-selected {
		display: none;
	}
}

@media (min-width: 992px) {
	/* La columna se pega bajo el toolbar y se suelta al final del contenido.
	   Si el resumen es más alto que la pantalla, comun.js baja el top para
	   que al hacer scroll se vea completo. */
	.reporte-resumen-col,
	.resumen-sticky-col {
		position: sticky;
		top: 150px;
		z-index: 95;
		align-self: flex-start;
	}
}

.highlight-search,
mark.highlight-search,
.fila-venta .highlight-search,
.fila-compra .highlight-search,
.fila-rma .highlight-search {
    background: #fff4cc;
    background-color: #fff4cc;
    color: #665000;
}

.conteo-linea {
	border-left: 4px solid transparent;
	border-radius: 0.35rem;
}
.conteo-linea--exacto {
	border-left-color: #50cd89;
	background: rgba(80, 205, 137, 0.1);
}
.conteo-linea--sobrante {
	border-left-color: #ffc700;
	background: rgba(255, 199, 0, 0.12);
}
.conteo-linea--faltante {
	border-left-color: #f1416c;
	background: rgba(241, 65, 108, 0.1);
}

/* Código de colores del resumen (misma paleta que la franja izquierda) */
.estado-leyenda {
	display: inline-block;
	width: 4px;
	height: 14px;
	border-radius: 1px;
	margin-right: 8px;
	flex-shrink: 0;
}
.estado-leyenda--primary { background: var(--bs-primary, #009EF7); }
.estado-leyenda--success { background: #50cd89; }
.estado-leyenda--warning { background: #ffc700; }
.estado-leyenda--danger { background: #f1416c; }
.estado-leyenda--dark { background: #7e8299; }

/* Franja de estado: pendientes de surtir, pendientes de entrada, pendientes de RMA + cola de procesamiento */
.fila-venta,
.fila-compra,
.fila-rma {
	border-left: 4px solid transparent;
	border-radius: 0.35rem;
	background-color: #fff;
}
.fila-compra,
.fila-rma {
	border-left-color: var(--bs-primary, #009EF7);
}
.fila-venta.bg-light-success,
.fila-venta.bg-light-warning,
.fila-venta.bg-light-danger,
.fila-venta.bg-light,
.fila-venta.bg-light-dark,
.fila-compra.bg-light-success,
.fila-compra.bg-light-warning,
.fila-compra.bg-light-danger,
.fila-compra.bg-light,
.fila-compra.bg-light-dark,
.fila-rma.bg-light-success,
.fila-rma.bg-light-warning,
.fila-rma.bg-light-danger,
.fila-rma.bg-light,
.fila-rma.bg-light-dark {
	background-color: #fff !important;
}
body.dark-mode .fila-venta,
body.dark-mode .fila-compra,
body.dark-mode .fila-rma,
[data-bs-theme="dark"] .fila-venta,
[data-bs-theme="dark"] .fila-compra,
[data-bs-theme="dark"] .fila-rma,
body.dark-mode .fila-venta.bg-light-success,
body.dark-mode .fila-venta.bg-light-warning,
body.dark-mode .fila-venta.bg-light-danger,
body.dark-mode .fila-venta.bg-light,
body.dark-mode .fila-venta.bg-light-dark,
body.dark-mode .fila-compra.bg-light-success,
body.dark-mode .fila-compra.bg-light-warning,
body.dark-mode .fila-compra.bg-light-danger,
body.dark-mode .fila-compra.bg-light,
body.dark-mode .fila-compra.bg-light-dark,
body.dark-mode .fila-rma.bg-light-success,
body.dark-mode .fila-rma.bg-light-warning,
body.dark-mode .fila-rma.bg-light-danger,
body.dark-mode .fila-rma.bg-light,
body.dark-mode .fila-rma.bg-light-dark,
[data-bs-theme="dark"] .fila-venta.bg-light-success,
[data-bs-theme="dark"] .fila-venta.bg-light-warning,
[data-bs-theme="dark"] .fila-venta.bg-light-danger,
[data-bs-theme="dark"] .fila-venta.bg-light,
[data-bs-theme="dark"] .fila-venta.bg-light-dark,
[data-bs-theme="dark"] .fila-compra.bg-light-success,
[data-bs-theme="dark"] .fila-compra.bg-light-warning,
[data-bs-theme="dark"] .fila-compra.bg-light-danger,
[data-bs-theme="dark"] .fila-compra.bg-light,
[data-bs-theme="dark"] .fila-compra.bg-light-dark,
[data-bs-theme="dark"] .fila-rma.bg-light-success,
[data-bs-theme="dark"] .fila-rma.bg-light-warning,
[data-bs-theme="dark"] .fila-rma.bg-light-danger,
[data-bs-theme="dark"] .fila-rma.bg-light,
[data-bs-theme="dark"] .fila-rma.bg-light-dark {
	background-color: #1e1e2d !important;
	color: #e1e3ea;
}
.fila-venta.text-success,
.fila-venta.text-warning,
.fila-venta.text-danger,
.fila-venta.text-dark,
.fila-compra.text-warning,
.fila-compra.text-dark,
.fila-rma.text-warning,
.fila-rma.text-dark {
	color: inherit !important;
}
body.dark-mode .fila-venta.text-success,
body.dark-mode .fila-venta.text-warning,
body.dark-mode .fila-venta.text-danger,
body.dark-mode .fila-venta.text-dark,
body.dark-mode .fila-compra.text-warning,
body.dark-mode .fila-compra.text-dark,
body.dark-mode .fila-rma.text-warning,
body.dark-mode .fila-rma.text-dark,
[data-bs-theme="dark"] .fila-venta.text-success,
[data-bs-theme="dark"] .fila-venta.text-warning,
[data-bs-theme="dark"] .fila-venta.text-danger,
[data-bs-theme="dark"] .fila-venta.text-dark,
[data-bs-theme="dark"] .fila-compra.text-warning,
[data-bs-theme="dark"] .fila-compra.text-dark,
[data-bs-theme="dark"] .fila-rma.text-warning,
[data-bs-theme="dark"] .fila-rma.text-dark {
	color: #e1e3ea !important;
}
body.dark-mode .fila-venta .text-gray-600,
body.dark-mode .fila-compra .text-gray-600,
body.dark-mode .fila-rma .text-gray-600,
[data-bs-theme="dark"] .fila-venta .text-gray-600,
[data-bs-theme="dark"] .fila-compra .text-gray-600,
[data-bs-theme="dark"] .fila-rma .text-gray-600 {
	color: #a1a5b7 !important;
}
body.dark-mode .highlight-search,
[data-bs-theme="dark"] .highlight-search,
body.dark-mode mark.highlight-search,
[data-bs-theme="dark"] mark.highlight-search,
body.dark-mode .fila-venta .highlight-search,
body.dark-mode .fila-compra .highlight-search,
body.dark-mode .fila-rma .highlight-search,
[data-bs-theme="dark"] .fila-venta .highlight-search,
[data-bs-theme="dark"] .fila-compra .highlight-search,
[data-bs-theme="dark"] .fila-rma .highlight-search {
	background: #fff4cc;
	background-color: #fff4cc;
	color: #665000;
}
.fila-venta.bg-light-success,
.fila-compra.bg-light-success,
.fila-rma.bg-light-success { border-left-color: #50cd89; }
.fila-venta.bg-light-warning,
.fila-compra.bg-light-warning,
.fila-rma.bg-light-warning { border-left-color: #ffc700; }
.fila-venta.bg-light-danger,
.fila-compra.bg-light-danger,
.fila-rma.bg-light-danger { border-left-color: #f1416c; }
.fila-venta.bg-light,
.fila-compra.bg-light,
.fila-rma.bg-light { border-left-color: #A1A5B7; }
.fila-venta.bg-light-dark,
.fila-compra.bg-light-dark,
.fila-rma.bg-light-dark { border-left-color: #7e8299; }

.video-responsive {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	padding-top: 30px;
	position: relative;
}
.video-responsive iframe, .video-responsive object, .video-responsive embed {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.switch{
	display: grid !important;
}

/* Input image */
.image-input.image-input-outline .image-input-wrapper {
	position: relative;
}

.image-input.image-input-outline [data-kt-image-input-action] {
	position: absolute !important;
	transform: none !important;
	z-index: 1;
	margin: 0;
}

.image-input.image-input-outline [data-kt-image-input-action="change"] {
	top: 4px;
	right: 4px;
	left: auto;
}

.image-input.image-input-outline [data-kt-image-input-action="cancel"],
.image-input.image-input-outline [data-kt-image-input-action="remove"] {
	bottom: 4px;
	right: 4px;
	top: auto;
	left: auto;
}
/* Input image */

.scroll-menu {
	overflow: auto;
	white-space: nowrap;
}

/* Works on Firefox */
.scroll-menu {
	scrollbar-width: thin;
	scrollbar-color: #e2e2e280 #f6f9fa80;
}

/* Works on Chrome, Edge, and Safari */
.scroll-menu::-webkit-scrollbar {
	height: 4px;
}

.scroll-menu::-webkit-scrollbar-track {
	background:  #f6f9fa80;
}

.scroll-menu::-webkit-scrollbar-thumb {
	background-color: #e2e2e280;
}
.noHover{
    pointer-events: none;
}
.no_checkbox > i.jstree-checkbox {
	display: none;
}

.disabled{
  pointer-events: none;
  opacity: 0.5 !important;
}

.box{
	max-width: 300px;
	width: 100%;
	padding: 0 15px;
}

/*Css para el efecto de carga tipo Skeleton*/
.skeleton {
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  background-color: #9B9B9B;
  opacity: 0.1;
  height: 40px;
  margin-bottom: 10px;
  text-align: center;
  display: inline-block;
}

.skeleton-10 {
  width: 10%;
}

.skeleton-20 {
  width: 20%;
}

.skeleton-30 {
  width: 30%;
}

.skeleton-40 {
  width: 40%;
}

.skeleton-50 {
  width: 50%;
}

.skeleton-60 {
  width: 60%;
}

.skeleton-70 {
  width: 70%;
}

.skeleton-80 {
  width: 80%;
}

.skeleton-90 {
  width: 90%;
}

.skeleton-100 {
  width: 100%;
}

.skeleton-loading::before {
  content: '';
  display: block;
  position: absolute;
  left: -150px;
  top: 0;
  height: 100%;
  width: 150px;
  background: linear-gradient(to right, transparent 0%, #e6e4e4  50%, transparent 100%);
  animation: load 1.5s cubic-bezier(0.4, 0.0, 0.2, 1) infinite;
}

@keyframes load {
  from {
      left: -150px;
  }
  to   {
      left: 100%;
  }
}
/*####### Fin loading Skeleton ##############*/

@media (max-width: 400px) {
  #my_camera video {
      max-width: 80%;
      max-height: 80%;
  }

  #results img {
      max-width: 80%;
      max-height: 80%;

  }
}

/* Estilos para los badge de dispersion */
  span.badge-success.dispersion-SI{
    border-radius: .475rem 0 0 .475rem;
  }

  span.badge-warning.dispersion-NO{
    border-radius: 0;
  }

  span.badge-danger.dispersion-ERROR{
    border-radius: 0 .475rem .475rem 0;
  }

  .contenedor-dispersion span{
    font-size: 9px;
  }
  .contenedor-dispersion{
    display: block-ruby;
  }
/* Estilos para los badge de dispersion */

.drawer-jstree{
  overflow-y: scroll;
  max-height: calc(100vh - 280px);
}

.drawer-jstree-permisos{
  overflow-y: scroll;
  max-height: calc(100vh - 360px);
}

.drawer-jstree-plantillas{
  overflow-y: scroll;
  max-height: calc(100vh - 430px);
}

/* Drawer de ayuda: ancho fijo en desktop y completo en movil */
[data-kt-drawer-close="#drawer_close"]{
  width: 500px !important;
  max-width: 500px !important;
}

@media (max-width: 767.98px) {
  [data-kt-drawer-close="#drawer_close"]{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Evita salto de ancho al hacer hover dentro de ayuda */
[data-kt-drawer-close="#drawer_close"] .hover-scroll-overlay-y{
  overflow-y: auto !important;
  scrollbar-gutter: stable;
}

[data-kt-drawer-close="#drawer_close"] .hover-scroll-overlay-y:hover{
  overflow-y: auto !important;
}

.popover.popover-fotografia {
  max-width: 140px;
}

.popover.popover-fotografia .popover-body {
  overflow: hidden;
  padding: 0.5rem;
}

.popover.popover-fotografia img {
  display: block;
  max-width: 100%;
  height: auto;
}

.en-revision{
  color: #3f4254 !important;
  background-color: #eff2f5 !important;
}

.badge-en-revision{
  position: static;
  margin-top: 0;
}

.fila-venta .pendientes-surtir-usuario .symbol,
.fila-compra .pendientes-entrada-usuario .symbol,
.fila-rma .pendientes-rmas-usuario .symbol{
  top: 0 !important;
  margin-left: 0 !important;
}

.fila-venta .pendientes-surtir-pin-mapa{
  color: inherit;
  text-decoration: none;
  vertical-align: baseline;
}

.fila-venta .pendientes-surtir-pin-mapa:hover{
  color: var(--bs-primary);
}

.fs10{
  font-size: 10px !important;
}

hr.gris{
  border-top: 1px solid #d9dcde
}

.disabledbutton {
  pointer-events: none;
  opacity: 0.4;
}

#contador-notificaciones{
  position: absolute;
  margin-left: 30px;
  margin-top: 5px;
}

.ql-video {
	display: block;
	max-width: 100%;
}
.ql-toolbar.ql-snow button.ql-html-edit {
	width: auto !important;
	padding: 0 8px;
	font-size: 12px;
	font-weight: 600;
	color: #A1A5B7 !important;
	background: none;
	border: none;
}
.ql-toolbar.ql-snow button.ql-html-edit:hover,
.ql-toolbar.ql-snow button.ql-html-edit:focus,
.ql-toolbar.ql-snow button.ql-html-edit.ql-active,
.ql-toolbar.ql-snow button.ql-html-edit:active {
	color: #009EF7 !important;
	background: none;
}
.producto-descripcion-quill > .ql-container {
	min-height: 200px;
}
.producto-descripcion-quill .producto-descripcion-codigo {
	border: 1px solid #EFF2F5;
	border-top: 0;
	border-bottom-left-radius: 0.475rem;
	border-bottom-right-radius: 0.475rem;
	background-color: #ffffff;
	overflow: hidden;
	height: 400px;
	width: 100%;
}
.producto-descripcion-quill .producto-descripcion-codigo .ace_editor,
.producto-descripcion-quill .producto-descripcion-codigo .ace_scroller {
	width: 100% !important;
}
.producto-descripcion-quill .producto-descripcion-codigo .ace_editor {
	height: 100% !important;
	border: 0;
	border-bottom-left-radius: 0.475rem;
	border-bottom-right-radius: 0.475rem;
}
.ql-video.ql-align-center {
	margin: 0 auto;
}
.ql-video.ql-align-right {
	margin: 0 0 0 auto;
}
.ql-bg-black {
	background-color: #000;
}

.ql-bg-red {
	background-color: #e60000;
}
.ql-bg-orange {
	background-color: #f90;
}
.ql-bg-yellow {
	background-color: #ff0;
}
.ql-bg-green {
	background-color: #008a00;
}
.ql-bg-blue {
	background-color: #06c;
}
.ql-bg-purple {
	background-color: #93f;
}
.ql-color-white {
	color: #fff;
}
.ql-color-red {
	color: #e60000;
}
.ql-color-orange {
	color: #f90;
}
.ql-color-yellow {
	color: #ff0;
}
.ql-color-green {
	color: #008a00;
}
.ql-color-blue {
	color: #06c;
}
.ql-color-purple {
	color: #93f;
}
.ql-color-gray {
	color: rgb(161, 161, 161);
}
.ql-font-serif {
	font-family: Georgia, Times New Roman, serif;
}
.ql-font-monospace {
	font-family: Monaco, Courier New, monospace;
}
.ql-size-small {
	font-size: 0.75em;
}
.ql-size-large {
	font-size: 1.5em;
}
.ql-size-huge {
	font-size: 2.5em;
}
.ql-direction-rtl {
	direction: rtl;
	text-align: inherit;
}
.ql-align-center {
	text-align: center;
}
.ql-align-justify {
	text-align: justify;
}
.ql-align-right {
	text-align: right;
}

.dataTables_paginate .paginate_button {
  font-weight: 500;
  cursor: pointer;
  color: #5e6278;
  font-size: 13px !important;
}

.dataTables_paginate .paginate_button:hover {
  color: #009ef7;
}

.dataTables_paginate .paginate_input {
  background-color: #f5f8fa;
  color: #5e6278;
  padding: 0.55rem 0.75rem;
  border-radius: 0.475rem;
  font-size: 1.1rem;
  border: 0px;
  appearance: none;
  width: 60px;
  display: inline;
}

.dataTables_paginate .paginate_input:focus {
  border: 0px;
  outline: none !important;
  border-color: #f5f8fa;
}

body.dark-mode .dataTables_paginate .paginate_input,
[data-bs-theme="dark"] .dataTables_paginate .paginate_input {
  background-color: #1b1b29;
  border: 1px solid #1b1b29;
  color: #e1e3ea;
}

body.dark-mode .dataTables_paginate .paginate_input:focus,
[data-bs-theme="dark"] .dataTables_paginate .paginate_input:focus {
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(80, 205, 137, 0.25);
}

.dataTables_paginate .paginate_button:hover{
  color: #009ef7 !important;
}

#editor {
  margin: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

/* Select2 en modales: dropdown se posiciona con position:fixed desde JS (coordenadas de vista) */
.modal .select2-dropdown {
  z-index: 1056;
}

.utilidad-flotante-precio-lista {
  position: fixed;
  z-index: 1070;
  min-width: 210px;
  max-width: 320px;
  pointer-events: none;
}

.utilidad-flotante-precio-lista--modal {
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}

/* Asegurar que el input de búsqueda sea visible, focusable y que el cursor (caret) se vea */
.modal .select2-dropdown .select2-search__field {
  opacity: 1;
  position: relative;
  z-index: 1;
  caret-color: currentColor;
  color: inherit;
}
.modal .select2-dropdown .select2-search {
  cursor: text;
}

/* Dark mode (clase Metronic en body o tema Bootstrap): .btn-close usa SVG negro; sin esto no se ve en cabeceras/fondos oscuros */
body.dark-mode .btn-close,
[data-bs-theme="dark"] .btn-close {
  filter: var(--bs-btn-close-white-filter, invert(1) grayscale(100%) brightness(200%));
}

/* Los estilos del splash (html.odp-splash-* body) tienen especificidad (0,1,2) y persisten
   durante toda la sesión, superando los bundles de tema (0,0,1). !important los anula. */
body.dark-mode {
  background-color: #151521 !important;
}
html.odp-splash-dark body:not(.dark-mode) {
  background-color: #f5f8fa !important;
}
body:not(.dark-mode) {
  background-color: #f5f8fa !important;
}
html:not(.odp-splash-dark) {
  background-color: #f5f8fa !important;
}

/* Toolbar global de vistas Vue (kt_toolbar) con fondo blanco como productivo */
body:not(.dark-mode) #kt_toolbar {
  background-color: #ffffff !important;
}

/* Menú resumen: el enlace debe ocupar todo el ancho del ítem (Metronic lo deja al ancho del texto) */
#menu-resumen > .menu-item > .menu-link,
#menu-extendido > .menu-item > .menu-link {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Toasts: opacos y colores sólidos de Metronic */
#toastr-container > div,
.toastr {
  opacity: 1 !important;
}
.toastr.toastr-success {
  background-color: #50CD89 !important;
  color: #fff !important;
}
.toastr.toastr-error {
  background-color: #F1416C !important;
  color: #fff !important;
}
.toastr.toastr-warning {
  background-color: #FFC700 !important;
  color: #fff !important;
}
.toastr.toastr-info {
  background-color: #7239EA !important;
  color: #fff !important;
}

.producto-linea-thumb {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 0.35rem;
  background: var(--bs-gray-100, #f5f8fa);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.producto-linea-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.dark-mode .producto-linea-thumb {
  background: #1e1e2d;
}

.producto-linea-thumb .numero-partida {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 1px 3px;
  border-radius: 0.2rem 0 0;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.15;
  pointer-events: none;
  user-select: none;
}

.producto-linea-sku {
  color: var(--bs-gray-600, #7e8299);
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.3;
  word-break: break-word;
}
.producto-linea-sku a {
  color: inherit;
  text-decoration: none;
}
.producto-linea-sku a:hover,
.producto-linea-sku a:focus {
  color: inherit;
  text-decoration: none;
}
.producto-linea-existencias {
  font-weight: 400;
}
body.dark-mode .producto-linea-sku {
  color: #9899ac;
}

@media (max-width: 767.98px) {
  .draggable-zone > .row.draggable > [class*="col-"]:not(:first-child):not(.separator) {
    margin-top: 0.75rem;
  }
}

.popover-impuestos-dashboard {
  max-width: 280px;
}
.popover-impuestos-dashboard .popover-body {
  min-width: 200px;
}

.select2-producto {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.15rem 0;
}
.select2-producto__thumb {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 0.35rem;
  background: var(--bs-gray-100, #f5f8fa);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.select2-producto__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.select2-producto__texto {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 auto;
}
.select2-producto__nombre {
  font-weight: 500;
  color: var(--bs-gray-900, #181c32);
  line-height: 1.25;
  word-break: break-word;
}
.select2-producto__sku-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}
.select2-producto__sku {
  color: var(--bs-gray-600, #7e8299);
  font-size: 0.8rem;
  line-height: 1.3;
}
.select2-producto__existencias {
  color: var(--bs-gray-500, #a1a5b7);
  font-size: 0.8rem;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}
.select2-producto__existencias::before {
  content: "·";
  margin-right: 0.35rem;
  color: var(--bs-gray-400, #b5b5c3);
}
.select2-producto__precio {
  font-weight: 500;
  color: var(--bs-primary, #009ef7);
  font-size: 0.9rem;
  line-height: 1.2;
}
.select2-container--default .select2-results__option--highlighted .select2-producto__nombre,
.select2-container--default .select2-results__option--highlighted .select2-producto__sku,
.select2-container--default .select2-results__option--highlighted .select2-producto__existencias,
.select2-container--default .select2-results__option--highlighted .select2-producto__existencias::before,
.select2-container--default .select2-results__option--highlighted .select2-producto__precio {
  color: #fff;
}
.select2-container--default .select2-results__option--highlighted .select2-producto__thumb {
  background: rgba(255, 255, 255, 0.2);
}
.select2-producto--seleccion {
  align-items: center;
  max-width: 100%;
  padding: 0;
}
.select2-producto--seleccion .select2-producto__thumb {
  flex-basis: 28px;
  width: 28px;
  height: 28px;
}
.select2-producto--seleccion .select2-producto__nombre,
.select2-producto--seleccion .select2-producto__sku {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select2-container--default .select2-selection--single:has(.select2-producto--seleccion) {
  height: auto;
  min-height: calc(1.5em + 1.5rem + 2px);
  display: flex;
  align-items: center;
}
.select2-container--default .select2-selection--single:has(.select2-producto--seleccion) .select2-selection__rendered {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  display: flex;
  align-items: center;
}
body.dark-mode .select2-producto__thumb {
  background: #1e1e2d;
}
body.dark-mode .select2-producto__nombre {
  color: #fff;
}
body.dark-mode .select2-producto__sku,
body.dark-mode .select2-producto__existencias,
body.dark-mode .select2-producto__existencias::before {
  color: #9899ac;
}

.buscador-producto-scan__dropdown {
  display: none;
  position: fixed;
  max-height: 320px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--bs-gray-300, #e4e6ef);
  border-radius: 0.475rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
  z-index: 2000;
  padding: 0.35rem 0;
}
.buscador-producto-scan__dropdown.is-open {
  display: block;
}
.buscador-producto-scan__item {
  display: block;
  width: 100%;
  padding: 0.45rem 0.85rem;
  cursor: pointer;
  background: transparent;
  border: 0;
  text-align: left;
}
.buscador-producto-scan__item.is-active,
.buscador-producto-scan__item:hover {
  background: var(--bs-primary, #009ef7);
}
.buscador-producto-scan__item.is-active .select2-producto__nombre,
.buscador-producto-scan__item.is-active .select2-producto__sku,
.buscador-producto-scan__item.is-active .select2-producto__existencias,
.buscador-producto-scan__item.is-active .select2-producto__existencias::before,
.buscador-producto-scan__item.is-active .select2-producto__precio,
.buscador-producto-scan__item:hover .select2-producto__nombre,
.buscador-producto-scan__item:hover .select2-producto__sku,
.buscador-producto-scan__item:hover .select2-producto__existencias,
.buscador-producto-scan__item:hover .select2-producto__existencias::before,
.buscador-producto-scan__item:hover .select2-producto__precio {
  color: #fff;
}
.buscador-producto-scan__item.is-active .select2-producto__thumb,
.buscador-producto-scan__item:hover .select2-producto__thumb {
  background: rgba(255, 255, 255, 0.2);
}
.buscador-producto-scan__vacio,
.buscador-producto-scan__cargando {
  padding: 0.65rem 0.85rem;
  color: var(--bs-gray-500, #a1a5b7);
  font-size: 0.9rem;
}
body.dark-mode .buscador-producto-scan__dropdown {
  background: #1e1e2d;
  border-color: #323248;
}

.card .card-header .card-toolbar.card-toolbar-productos {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  max-width: 100%;
}
.card .card-header .card-toolbar.card-toolbar-productos .buscador-producto-scan-wrap {
  flex: 1 1 0%;
  min-width: 0;
  width: auto;
  max-width: 100%;
}
.card .card-header .card-toolbar.card-toolbar-productos .buscador-producto-scan-wrap .form-control {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.card .card-header .card-toolbar.card-toolbar-productos #agregar-producto {
  flex: 0 0 auto;
  flex-shrink: 0;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .card .card-header .card-toolbar.card-toolbar-productos {
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0;
  }
}
@media (max-width: 575.98px) {
  .card .card-header .card-toolbar.card-toolbar-productos #agregar-producto {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }
}

/*
 * iOS hace zoom al enfocar un campo con letra menor a 16px y el <meta viewport>
 * no lo evita: Safari ignora maximum-scale desde iOS 10.
 */
@media (pointer: coarse) {
	.form-control:not(.odp-campo-fecha),
	input:not([type='checkbox']):not([type='radio']):not(.odp-campo-fecha),
	select,
	textarea {
		font-size: 16px;
	}
}

.agenda-evento {
	display: flex;
	align-items: center;
	min-width: 0;
	gap: 0.15rem;
}
.agenda-evento-avatares {
	display: flex;
	flex-shrink: 0;
	align-items: center;
}
.agenda-evento-texto {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 767.98px) {
	#calendario .fc-daygrid-event .agenda-evento-avatares {
		display: none;
	}
	#calendario .fc-toolbar-title {
		font-size: 1.05rem;
	}
	#calendario .fc-button {
		padding: 0.4rem 0.65rem;
		font-size: 0.85rem;
	}
	#calendario .fc-col-header-cell .fc-col-header-cell-cushion {
		font-size: 0.85rem;
	}
	#calendario .fc-daygrid-event {
		font-size: 0.7rem;
	}
	#calendario .fc-list-event-title,
	#calendario .fc-list-event-time {
		font-size: 0.9rem;
	}
	#calendario .fc-list-table td {
		padding: 0.55rem 0.65rem;
	}
}

.mapa-domicilio-canvas {
	width: 100%;
	border-radius: 0.65rem;
	overflow: hidden;
	background: #eef3f7;
}
#modal-mapa-domicilio.modal,
#modal-mapa-domicilio .modal-dialog,
#modal-mapa-domicilio .modal-content {
	transform: none !important;
}
.mapa-domicilio-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 1.5rem;
	text-align: center;
	color: #7e8299;
}
.dark-mode .mapa-domicilio-canvas {
	background: #1e1e2d;
}
.dark-mode .mapa-domicilio-placeholder {
	color: #92929f;
}
.mapa-clientes-canvas {
	width: 100%;
	height: 100%;
	min-height: 280px;
	border-radius: 0;
	overflow: hidden;
	background: #eef3f7;
}
.mapa-clientes-canvas .leaflet-container,
.mapa-domicilio-canvas .leaflet-container {
	width: 100%;
	height: 100%;
	font-family: inherit;
}
#kt_toolbar .mapa-clientes-proveedor {
	width: 170px;
	min-width: 170px;
}
#kt_toolbar .mapa-clientes-proveedor .select2-container {
	width: 100% !important;
}
.mapa-clientes-popup,
.mapa-clientes-popup * {
	box-sizing: border-box;
}
.mapa-clientes-popup {
	position: relative;
	overflow: visible;
	width: 276px;
	max-width: 276px;
	padding: 1.25rem;
	font-family: var(--bs-font-sans-serif);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #3f4254;
	text-align: left;
	word-wrap: break-word;
}
.mapa-clientes-popup-nombre {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 0.5rem 0;
	padding-right: 1.25rem;
	font-weight: 500;
	font-size: 1rem;
	line-height: 1.5;
	color: #181c32;
}
.mapa-clientes-popup-link {
	font-weight: 500;
	color: #009ef7;
	text-decoration: none !important;
}
.mapa-clientes-popup-link:hover {
	color: #006dab;
	text-decoration: none !important;
}
.mapa-clientes-popup-maps {
	position: static;
	top: auto;
	right: auto;
	z-index: auto;
	width: 1.5rem !important;
	height: 1.5rem !important;
	min-width: 1.5rem;
	min-height: 1.5rem;
	margin: 0 0 0 0.35rem;
	padding: 0 !important;
	border: 0;
	border-radius: 50%;
	background: #d4eef6 !important;
	color: #3f6f7d !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	flex-shrink: 0;
	line-height: 0;
	box-shadow: none;
	overflow: hidden;
}
.mapa-clientes-popup-maps-ico {
	display: block !important;
	width: 0.8rem !important;
	height: 0.8rem !important;
	background-color: currentColor;
	pointer-events: none;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}
.mapa-clientes-popup-maps:hover,
.mapa-clientes-popup-maps:focus {
	background: #bfe6f2 !important;
	color: #2f5966 !important;
	text-decoration: none !important;
}
.mapa-clientes-popup-meta,
.mapa-clientes-popup-dir {
	color: #7e8299;
	font-size: 1rem;
	line-height: 1.5;
}
.mapa-clientes-popup-dir {
	margin: 0.25rem 0 0.75rem;
}
.mapa-clientes-popup.mapa-pendientes-surtir-popup {
	width: 340px;
	max-width: 340px;
	padding: 1.25rem;
}
.mapa-pendientes-surtir-popup .mapa-clientes-popup-nombre {
	margin-right: 1.25rem;
}
.mapa-pendientes-surtir-popup .mapa-clientes-popup-dir .mapa-clientes-popup-maps {
	display: inline-flex !important;
	vertical-align: -0.2em;
}
.mapa-pendientes-surtir-productos {
	max-height: 14rem;
	overflow-y: auto;
	margin: 0.25rem 0 0;
	padding-right: 0.15rem;
}
.mapa-pendientes-surtir-producto {
	margin-bottom: 0.65rem;
	word-break: break-word;
}
.mapa-pendientes-surtir-producto:last-child {
	margin-bottom: 0;
}
.mapa-pendientes-surtir-producto-nombre {
	color: #3f4254;
	line-height: 1.35;
}
.mapa-pendientes-surtir-totales {
	font-size: 1rem;
	line-height: 1.5;
}
.mapa-pendientes-surtir-totales .row {
	margin-bottom: 0.15rem;
}
.mapa-pendientes-surtir-totales .row:last-child {
	margin-bottom: 0;
}
.mapa-pendientes-surtir-totales .text-gray-800 {
	white-space: nowrap;
}
.mapa-clientes-popup-resumen {
	margin: 0;
	padding-top: 0.75rem;
	border-top: 1px solid #f5f8fa;
}
.mapa-clientes-popup .row {
	display: flex;
	flex-wrap: wrap;
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 0;
	width: auto;
	margin-top: 0;
	margin-right: calc(-0.5 * var(--bs-gutter-x));
	margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.mapa-clientes-popup .row > [class*="col-"] {
	flex-shrink: 0;
	max-width: 100%;
	padding-right: calc(var(--bs-gutter-x) * 0.5);
	padding-left: calc(var(--bs-gutter-x) * 0.5);
}
.mapa-clientes-popup .col-5 {
	flex: 0 0 auto;
	width: 41.66666667%;
}
.mapa-clientes-popup .col-6 {
	flex: 0 0 auto;
	width: 50%;
}
.mapa-clientes-popup .col-7 {
	flex: 0 0 auto;
	width: 58.33333333%;
}
.mapa-clientes-popup .col-12 {
	flex: 0 0 auto;
	width: 100%;
}
.mapa-clientes-popup .text-end {
	text-align: right;
}
.mapa-clientes-popup .text-gray-400 {
	color: #a1a5b7 !important;
}
.mapa-clientes-popup .text-gray-800 {
	color: #3f4254 !important;
}
.mapa-clientes-popup h6 {
	margin-top: 0;
	margin-bottom: 0.5rem;
	font-size: 1.075rem;
	font-weight: 600;
	line-height: 1.2;
	color: #181c32;
}
.mapa-clientes-popup .text-muted {
	color: #a1a5b7 !important;
}
.mapa-clientes-popup .text-gray-600 {
	color: #7e8299 !important;
}
.mapa-clientes-popup-cargando {
	color: #7e8299;
	border-top: none;
	padding-top: 0.15rem;
}
.mapa-clientes-canvas .leaflet-popup {
	text-align: left;
}
.mapa-clientes-canvas .leaflet-popup-content-wrapper {
	padding: 0;
	background: #fff;
	color: #3f4254;
	border: 1px solid #fff;
	border-radius: 0.475rem;
	box-shadow: 0 0 50px 0 rgba(82, 63, 105, 0.15);
}
.mapa-clientes-canvas .leaflet-popup-content {
	margin: 0;
	width: auto !important;
	min-width: 0;
	font-size: 1rem;
	line-height: 1.5;
	font-family: var(--bs-font-sans-serif);
}
.mapa-clientes-canvas .leaflet-popup-tip {
	background: #fff;
	box-shadow: none;
}
.mapa-clientes-canvas.leaflet-container a.leaflet-popup-close-button,
.mapa-clientes-canvas .leaflet-container a.leaflet-popup-close-button {
	top: 0.85rem;
	right: 0.85rem;
	width: 24px;
	height: 24px;
	padding: 0;
	font-size: 16px;
	line-height: 24px;
	font-family: Tahoma, Verdana, sans-serif;
	font-weight: 400;
	color: #a1a5b7;
	text-align: center;
	z-index: 20;
	pointer-events: auto !important;
}
.mapa-clientes-canvas.leaflet-container a.leaflet-popup-close-button:hover,
.mapa-clientes-canvas .leaflet-container a.leaflet-popup-close-button:hover {
	color: #5e6278;
}
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-link,
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-link:link,
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-link:visited,
.mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-link,
.mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-link:link,
.mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-link:visited,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-link,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-link:link,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-link:visited {
	color: #009ef7 !important;
	text-decoration: none !important;
	background: none;
}
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-link:hover,
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-link:focus,
.mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-link:hover,
.mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-link:focus,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-link:hover,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-link:focus {
	color: #006dab !important;
	text-decoration: none !important;
}
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-maps,
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-maps:link,
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-maps:visited,
.mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-maps,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-maps,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-maps:link,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-maps:visited {
	background: #d4eef6 !important;
	color: #3f6f7d !important;
	text-decoration: none !important;
}
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-maps:hover,
.mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-maps:focus,
.mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-maps:hover,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-maps:hover,
.mapa-clientes-canvas .gm-style a.mapa-clientes-popup-maps:focus {
	background: #bfe6f2 !important;
	color: #2f5966 !important;
	text-decoration: none !important;
}
.mapa-clientes-canvas .gm-style-iw-c {
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #fff !important;
	border-radius: 0.475rem !important;
	box-shadow: 0 0 50px 0 rgba(82, 63, 105, 0.15) !important;
	max-width: none !important;
	overflow: visible !important;
	font-family: var(--bs-font-sans-serif) !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	display: block !important;
}
.mapa-clientes-canvas .gm-style-iw-d {
	overflow: hidden !important;
	max-height: none !important;
	padding: 0 !important;
	position: relative;
	z-index: 1;
}
.mapa-clientes-canvas .gm-style-iw-ch {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	height: 2.5rem !important;
	width: 2.5rem !important;
	padding: 0 !important;
	overflow: visible !important;
	z-index: 20 !important;
	pointer-events: auto !important;
}
.mapa-clientes-canvas .gm-style-iw-chr {
	position: absolute !important;
	top: 0.35rem !important;
	right: 0.35rem !important;
	height: 1.75rem !important;
	width: 1.75rem !important;
	min-width: 1.75rem !important;
	padding: 0 !important;
	overflow: visible !important;
	z-index: 21 !important;
	pointer-events: auto !important;
}
.mapa-clientes-canvas button.gm-ui-hover-effect {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	top: 0.85rem !important;
	right: 0.85rem !important;
	padding: 0 !important;
	margin: 0 !important;
	opacity: 1 !important;
	overflow: visible !important;
	background: transparent !important;
	border: 0 !important;
	box-sizing: content-box !important;
	font-size: 16px !important;
	line-height: 24px !important;
	font-family: Tahoma, Verdana, sans-serif !important;
	font-weight: 400 !important;
	color: #a1a5b7 !important;
	-webkit-text-fill-color: #a1a5b7 !important;
	text-align: center !important;
	z-index: 22 !important;
	pointer-events: auto !important;
}
.mapa-clientes-canvas button.gm-ui-hover-effect > span,
.mapa-clientes-canvas button.gm-ui-hover-effect img {
	display: none !important;
}
.mapa-clientes-canvas button.gm-ui-hover-effect::after {
	content: "\00d7";
	display: block;
	width: 24px;
	height: 24px;
	font-size: 16px !important;
	line-height: 24px !important;
	font-family: Tahoma, Verdana, sans-serif !important;
	font-weight: 400 !important;
	color: #a1a5b7 !important;
	-webkit-text-fill-color: #a1a5b7 !important;
	text-align: center;
}
.mapa-clientes-canvas button.gm-ui-hover-effect:hover,
.mapa-clientes-canvas button.gm-ui-hover-effect:hover::after {
	color: #5e6278 !important;
	-webkit-text-fill-color: #5e6278 !important;
}
.dark-mode .mapa-clientes-popup {
	color: #e4e6ef;
}
.dark-mode .mapa-clientes-popup h6 {
	color: #e4e6ef;
}
.dark-mode .mapa-clientes-popup-link,
.dark-mode .mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-link,
.dark-mode .mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-link,
.dark-mode .mapa-clientes-canvas .gm-style a.mapa-clientes-popup-link {
	color: #009ef7 !important;
}
.dark-mode .mapa-clientes-popup-link:hover,
.dark-mode .mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-link:hover,
.dark-mode .mapa-clientes-canvas .leaflet-container a.mapa-clientes-popup-link:hover,
.dark-mode .mapa-clientes-canvas .gm-style a.mapa-clientes-popup-link:hover {
	color: #006dab !important;
}
.dark-mode .mapa-clientes-popup-maps,
.dark-mode .mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-maps,
.dark-mode .mapa-clientes-canvas .gm-style a.mapa-clientes-popup-maps {
	background: #1b3a44 !important;
	color: #9ed4e4 !important;
}
.dark-mode .mapa-clientes-popup-maps:hover,
.dark-mode .mapa-clientes-canvas.leaflet-container a.mapa-clientes-popup-maps:hover,
.dark-mode .mapa-clientes-canvas .gm-style a.mapa-clientes-popup-maps:hover {
	background: #234a56 !important;
	color: #c5eaf3 !important;
}
.dark-mode .mapa-clientes-popup-meta,
.dark-mode .mapa-clientes-popup-dir,
.dark-mode .mapa-clientes-popup-cargando {
	color: #92929f;
}
.dark-mode .mapa-clientes-popup .text-muted,
.dark-mode .mapa-clientes-popup .text-gray-600 {
	color: #92929f !important;
}
.dark-mode .mapa-clientes-popup-resumen {
	border-top-color: #2b2b40;
}
.dark-mode .mapa-pendientes-surtir-producto-nombre,
.dark-mode .mapa-clientes-popup .text-gray-800 {
	color: #e4e6ef !important;
}
.dark-mode .mapa-clientes-popup .text-gray-400 {
	color: #92929f !important;
}
.dark-mode .mapa-clientes-popup .separator {
	border-bottom-color: #2b2b40;
}
.dark-mode .mapa-clientes-canvas .leaflet-popup-content-wrapper,
.dark-mode .mapa-clientes-canvas .leaflet-popup-tip {
	background: #1e1e2d;
	color: #e4e6ef;
	border-color: #1e1e2d;
}
.dark-mode .mapa-clientes-canvas .gm-style-iw-c {
	background: #1e1e2d !important;
	border-color: #1e1e2d !important;
}
.dark-mode .mapa-clientes-canvas .gm-style-iw-t::after,
.dark-mode .mapa-clientes-canvas .gm-style-iw-tc::after {
	background: #1e1e2d !important;
}
.dark-mode .mapa-clientes-canvas {
	background: #1e1e2d;
}
body.pagina-mapa-clientes-activa {
	overflow: hidden;
}
body.pagina-mapa-clientes-activa #kt_toolbar {
	margin-bottom: 0 !important;
}
body.pagina-mapa-clientes-activa #kt_footer {
	display: none !important;
}
body.pagina-mapa-clientes-activa #kt_wrapper {
	height: 100dvh;
	overflow: hidden;
}
body.pagina-mapa-clientes-activa #kt_content {
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	height: auto;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
body.pagina-mapa-clientes-activa #kt_post.pagina-mapa-clientes {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0;
	overflow: hidden;
}
body.pagina-mapa-clientes-activa #kt_post.pagina-mapa-clientes #kt_content_container,
body.pagina-mapa-clientes-activa #kt_post.pagina-mapa-clientes .card,
body.pagina-mapa-clientes-activa #kt_post.pagina-mapa-clientes .card-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
	padding: 0 !important;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	max-width: none;
	overflow: hidden;
}
body.pagina-mapa-clientes-activa .mapa-clientes-canvas {
	flex: 1 1 auto;
	height: 100%;
	min-height: 0;
}
body.pagina-mapa-clientes-activa.mapa-clientes-google .dca__fab {
	transform: translateY(-5rem);
}
@media (max-width: 991.98px) {
	body.pagina-mapa-clientes-activa #kt_toolbar .page-title {
		display: none !important;
	}
	body.pagina-mapa-clientes-activa #kt_toolbar_container {
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
	body.pagina-mapa-clientes-activa #kt_toolbar .scroll-menu {
		flex: 1 1 auto;
		flex-wrap: nowrap;
		min-width: 0;
		width: 100%;
		margin-left: 0;
		overflow-x: auto;
	}
	body.pagina-mapa-clientes-activa #kt_toolbar .scroll-menu > * {
		flex-shrink: 0;
	}
	body.pagina-mapa-clientes-activa #kt_toolbar .mapa-clientes-proveedor {
		width: 140px;
		min-width: 140px;
	}
}
@media (max-width: 768px) {
	body.pagina-mapa-clientes-activa.mapa-clientes-google .dca__fab {
		transform: none;
		bottom: 6rem;
	}
}