html,
body,
#root {
  height: 100%;
  margin: 0;
  overflow: hidden;
}
.login-topbar {
  height: 20px;
  display: flex;
  justify-content: flex-end;
}
.silent-print-container {
  position: absolute;
  left: -9999px;
  top: 0;
  visibility: hidden;
}
.drag-area {
  flex: 1;
  -webkit-app-region: drag;
}

.controls {
  -webkit-app-region: no-drag;
}
.pointer {
  cursor: pointer;
}

.not-allowed {
  cursor: not-allowed;
}

.progress {
  cursor: progress;
}

.wait {
  cursor: wait;
}
1aq
.zoom-in {
  cursor: zoom-in;
}

.zoom-out {
  cursor: zoom-out;
}

.text {
  cursor: text;
}

.move {
  cursor: grab !important;
}
.move:active {
  cursor: grabbing !important;
}

.tabBodyMargin {
  margin-top: 8px;
}

.hide-element {
  display: none !important;
}

.show-element {
  display: initial !important;
}

.my-modal {
  width: 90vw;
  /* Occupy the 90% of the screen width */
  max-width: 90vw;
}

.myModalMedium {
  width: 60vw;
  /* Occupy the 90% of the screen width */
  max-width: 60vw;
}

.inputInvoColor {
  background-color: #484950 !important;
}

.invoTotalColor {
  color: #45a164;
}

.max-overflow-y {
  overflow-y: "auto"
}

.tableInventoryScroll {
  overflow: scroll;
  height: 276px;
  overflow-y: auto;
  /*   Trigger vertical scroll    */
  overflow-x: hidden;
  /* Hide the horizontal scroll */
}

.tableListScroll {
  overflow: scroll;
  height: 50px;
  overflow-y: auto;
  /*   Trigger vertical scroll    */
  overflow-x: hidden;
  /* Hide the horizontal scroll */
}

.table-commission-scroll {
  height:50vh;
  overflow: auto;
  display:inline-block;
}

.table-credit-scroll {
  height:35vh;
  overflow: auto;
  display:inline-block;
}

.hideScroll {
  overflow: hidden;
}

* {
  scrollbar-width: thin;
  scrollbar-color: #4c4f54 #aaa;
}

/* Works on Chrome/Edge/Safari */
*::-webkit-scrollbar {
  width: 11px;
}

*::-webkit-scrollbar-track {
  background: #aaa;
  border-radius: 20px;
}

*::-webkit-scrollbar-thumb {
  background-color: #4c4f54;
  border-radius: 20px;
  border: 3px solid #aaa;
}

.subTitle {
  margin: 6px;
}

.menuSpace {
  margin-right: 5px;
  margin-top: -1px;
}

.tabBackColor {
  background-color: #181924;
}

.marginConfigInput {
  margin-top: 6px;
}

.loaderMySpinner {
  animation: spin-animation 2s linear infinite;
  display: inline-block;
}

.rotate_spinner {
  transform: rotate(35deg);
}

@keyframes spin-animation {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.no-underline {
  text-decoration: none !important;
}
.link-remove-color {
  color:inherit !important
}

.bp5-dark .bp5-input, .input-theme-bgcolor {
  background: #2F303A !important;
}
.remove-focus {
  outline-style: none !important;
  box-shadow: none;
  border-color: transparent;
}
.bp5-input-group .bp5-input-action,
.bp5-input-group>.bp5-input-left-container,
.bp5-input-group>.bp5-button,
.bp5-input-group>.bp5-icon .fix-input-group {
  top: 5px !important;
  margin-right: 5px;
}
.inner-btn {
  position: absolute;
  width: 10px;
  font-weight: 550;
  border: none;
  background-color: transparent;
  line-height: 33px;
  left: calc(100% - 30px);
  z-index: 99999;
}

.inner-btn:hover {
  color: grey;
}

.style-typeahead {

  background-color: #2F343C !important;
  color: #F2F3F5 !important;
  border: 0px solid var(--cui-input-border-color, #b1b7c1) !important;
  font-size: 14px !important;
  line-height: 0px !important;
  padding: 0 !important;
}

.style-typeahead-light {

  background-color: #F9FAFB !important;
  border: 1px solid #D1D5DB;
  color: #111827;
  font-size: 14px !important;
  line-height: 0px !important;
}

.td-typeahead {
  background-color: #2F343C !important;
}

.td-typeahead-light {
  background-color: #F9FAFB !important;
}

div.rbt-menu {
  width: auto !important;
}
.style-typeahead-form {
  font-size: 14px !important;
  line-height: 0px !important;
}
input.rbt-input-hint {
  color: #A2A4A8 !important;
}
.table-invoice-bg {
  background-color: #2F343C;
}
.table-invoice-td {
  padding: 0 !important;
}
.table-invoice-number-td {
  background-color: #393E47 !important;
}
.table-invoice-number-h-td {
  height: 29px !important;
}
.input-invoice {
  background-color: #2F343C;
  border: 0px;
  padding: 0;
  margin: 0;
  display: inline-block;
  height: 100%;
  width: 100%
}
.input-invoice-light {

  background-color: #F9FAFB;
  border: 1px solid #D1D5DB;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  color: #111827;
  padding: 0;
  margin: 0;
  display: inline-block;
  height: 100%;
  width: 100%
}
.input-invoice-currency-sep {
  padding-right: 7px;
}
.dropdown-button-table {
  line-height: 0px;
}
.placeholder-color::placeholder {
  color: #ffffff;
}
.placeholder-color-light::placeholder {
  color: #111827;
}
.max-width-product-search {
  width: 550px !important;
}
.drawer-margin-top {
  margin-top: 50px !important;
}
.bootstrap-icon-size {
  font-size: "0.83rem" !important
}
.bootstrap-input-yellow {
 background-color: #ffc200 !important
}

@media print {
  *,
  *:before,
  *:after {
      box-shadow: none !important;
      text-shadow: none !important;
      margin-right: 7px !important;
      margin-left: 0px !important;
      overflow: hidden !important;
  }
}
.print-hr {
  border-top: solid 1px #000 !important;
}

/* no allow user select text */
@supports (user-select:none) {
  div {
    user-select:none
  }
}

@supports (-moz-user-select:none) {
  div {
    -moz-user-select: none
  }
}
/* disabled link a */
.is-disabled {
  cursor: not-allowed !important;
  opacity: 0.5 !important;
}
.is-disabled > a {
  color: currentColor !important;
  pointer-events: none !important;
  text-decoration: none !important;
}
.app-region-drag {
  -webkit-app-region: drag;
}
.toaster-app {
  margin-bottom: 15px !important;
}
.table-header-fix th {
  position: sticky;
  top: 0;
}
.minimal-popover {
  height: 1px;
}
.app-purple-color {
  background-color: #5642A6;
}
.highlight-totals {
  background-color: #393E47;
}
.custom-focus:focus {
  outline: none !important;
  box-shadow: 0 0 3px 1px rgba(0, 123, 255, 0.75) !important; /* Resaltado más visible */
  border-color: #9791D4 !important; /* Bordes más oscuros */
}
.primary-bs {
  background-color: #0d6efd;
}
.primary-bp {
  background-color: rgb(86, 66, 166) !important;
}
.primary-bp:hover {
  background-color: #857dcc; /* Cambia el color de fondo */
  color: white; /* Cambia el color del texto si es necesario */
}
.primary-bp:active {
  background-color: rgb(86, 66, 166) !important;;
}
.turquoise-bp {
  background-color: #0F6894 !important; 
  color: white;
}
.turquoise-bp:hover {
  background-color: #147EB3; /* Cambia el color de fondo */
  color: white; /* Cambia el color del texto si es necesario */
}
.turquoise-bp:active {
  background-color: #0F6894 !important; /* Mantiene el color turquesa cuando se presiona */
  color: white; /* Mantiene el color del texto */
  border: none !important; /* Evita el borde */
  box-shadow: none !important; /* Elimina el box-shadow al hacer clic */
}
.other-bp {
  background-color: #7A542E !important;
  color: white;
}
.other-bp:hover {
  background-color: #946638; /* Cambia el color de fondo */
  color: white; /* Cambia el color del texto si es necesario */
}
.other-bp:active {
  background-color: #7A542E !important;; /* Cambia el color de fondo */
  color: white; /* Cambia el color del texto si es necesario */
}
.app-truncate-text {
  white-space: nowrap;  /* Evita que el texto haga saltos de línea */
  overflow: hidden;     /* Oculta el desbordamiento del contenido */
 /* max-width: 100px;     /* Define un ancho máximo para cortar */
}
.custom-border-top {
  border-top: 1px solid #ccc;
}
.total-fv {
  font-size: 1.8rem;
  font-weight: bold;
  color: #28a745;
}

.total-fv-det {
  font-size: 1.1rem;
}

.animate {
  animation: blink 3s ease-in-out, scaleUp 3s ease-in-out;
}

@keyframes scaleUp {
  0% { transform: scale(1); }
  50% { transform: scale(10.2); } /* Escala mayor para un efecto más visible */
  100% { transform: scale(1); }
}

@keyframes blink {
  0%, 100% { color: #28a745; } /* Verde normal */
  50% { color: #f30505; } /* Parpadeo más fuerte con blanco puro */
}

.callout-info {
  --cd-callout-color: var(--cui-info-text-emphasis);
  --cd-callout-bg: rgba(var(--cui-info-rgb), .1);
  --cd-callout-border: var(--cui-info);
}
.callout-primary {
    --cui-callout-border-left-color: #5856d6;
}
.callout-success {
  --cui-callout-border-left-color: #1b9e3e;
}
.callout-danger {
  --cui-callout-border-left-color: #e55353;
}
.callout-warning {
  --cui-callout-border-left-color: #f9b115;
}
.docs-callout {
  --cui-link-color-rgb: var(--cd-callout-link);
  --cui-code-color: var(--cd-callout-code-color);
  padding: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  background-color: var(--cd-callout-bg, var(--cui-gray-100));
  border-left: 0.25rem solid var(--cd-callout-border, var(--cui-gray-300));
}

.light-theme {
  font-family: var(--cui-body-font-family);
  /* 
  font-size: var(--cui-body-font-size); 
  line-height: var(--cui-body-line-height);
  */
  font-weight: var(--cui-body-font-weight);
  color: var(--cui-body-color);
  text-align: var(--cui-body-text-align);
  background-color: var(--cui-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(8, 10, 12, 0);
  background-color: var(--cui-tertiary-bg);
}

.light-theme-header-t {
  box-shadow: none !important;
}

.light-theme-header {
  box-shadow: 0 4px 6px -1px  rgba(17, 20, 24, 0.2) !important;
}

.btn-indigo-color {
  background-color: #7961DB !important;
  color: #ffffff !important
}

.app-m-dark {
  margin-top: 9px;
}

.app-m-light {
  margin-top: 14px;
}

.light-table-total-color {
  background-color: #EAEDEF;
}
.align-content-end {
  align-content:flex-end
}

.td-auto-width-order {
  max-width: 90px; /* Ajusta según el espacio máximo deseado */
  white-space: nowrap; /* Evita que el texto se divida en líneas */
  overflow: hidden; /* Esconde el texto que sobrepase el ancho */
  text-overflow: ellipsis;
}
.td-width-order-payment {
  width: 180px; 
}
.expanded-content {
  background-color: #f9f9f9;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
}
.expanded-content-dark {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
}
.table-header-color {
  background-color: #ededf3;
}

.custom-striped tbody tr:nth-child(even) {
  background-color: #f8f9fa; /* Color de las filas striped */
}

.custom-striped-dark tbody tr:nth-child(even) {
  background-color: #2c2f33; /* Color para filas striped en tema oscuro */
}

.custom-striped-dark tbody tr:nth-child(even):hover {
  background-color: #40444b; /* Color más claro al pasar el mouse */
}

@keyframes blink {
  50% {
    opacity: 0.2;
  }
}

.blinking {
  animation: blink 1s ease-in-out 20;
}

.bg-warning-soft-light {
  background-color: #fff8dc !important
}

.bg-warning-soft-dark {
  background-color: #554c2e !important; /* un dorado suave, no muy brillante */
  color: #fff !important; /* opcional para contrastar */
}

@media (max-height: 768px) {
  html {
    font-size: 12px;
  }
  body {
    font-size: 12px !important;
  }
  .bp5-input,
  .bp5-button,
  .bp5-select select,
  .bp5-tab,
  .bp5-textarea {
    font-size: 12px !important;
    padding: 5px 8px !important;
    height: 28px !important;;
}
  .style-typeahead-form {
      font-size: 12px !important;
      padding: 5px 8px !important;
      height: 27px !important;
  }
  .total-fv {
      font-size: 1.6rem !important;
  }
  
  .hide-footer {
    display: none !important;
  }

}
@media (max-height: 768px) {
  .card, .container, .form-group {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
}

body.compact .form-control {
  font-size: 0.85rem;
  padding: 0.4rem 0.6rem;
}

.fieldset-custom {
  border: 1px solid var(--fieldset-border-color) !important;
}

.fieldset-custom legend {
  color: var(--fieldset-legend-color) !important;
}

:root {
  --fieldset-border-color: #ccc;
  --fieldset-legend-color: #6c757d;
  --badge-text-color: #6c757d; /* texto blanco en tema claro */
}

body.dark, .bp5-dark {
  --fieldset-border-color: #555;
  --fieldset-legend-color: #aaa;
  --badge-text-color: #fff;
}

.bp5-dark .floating-button-chart {
  color: #fff !important;
}

.bp5-light .floating-button-chart {
  color: #182026 !important;
}
                          
.bp5-dark .floating-button-chart.bp5-button.bp5-minimal.bp5-intent-primary {
  color: #fff !important;
}

.multi-select-minimal .rbt-input-main,
.multi-select-minimal .rbt-input-multi {
  height: 31px !important;
  font-size: 14px !important;
  padding: 3px !important;
}

.dashboard-card {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bp5-dark .dashboard-card {
  background-color: #1e1e1e !important;
  color: #e9ecef !important;
}
.border-purple {
  border-color: #7C3AED !important;
}
.text-help {
  color: rgba(255, 255, 255, 0.6); /* visible en dark */
}

body.light-theme .text-help {
  color: #6c757d; /* muted estándar en modo claro */
}

.quick-elevate {
  transition: all 0.18s ease;
  border-radius: 10px;
  border: 1px solid transparent;
}

/* Tema claro */
.body.light-theme .quick-elevate {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.07);
  box-shadow: 0 1.5px 3px rgba(0,0,0,0.07);
}

/* Tema oscuro */
.dark .quick-elevate {
  background: #1e1f22;
  color: #e5e5e5;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 1.5px 3px rgba(0,0,0,0.4);
}

/* Hover: pequeña elevación */
.quick-elevate:hover {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 4px 10px rgba(0,0,0,0.16);
}

.dark .quick-elevate:hover {
  box-shadow: 0 4px 12px rgba(255,255,255,0.10);
}


.payment-btn {
  border-radius: 3px;
  padding: 4px 10px;
  font-size: 0.78rem;
  white-space: nowrap;
  display: flex;
  align-items: center;
}

.payment-btn.active {

  color: white;
}

/* Scroll horizontal suave */
.payment-scroll {
  padding-bottom: 4px;
  scrollbar-width: thin;
}

/* Ocultar barra fea en Chrome */
.payment-scroll::-webkit-scrollbar {
  height: 4px;
}
.payment-scroll::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 8px;
}

/* 🔥 Responsive inteligente:
   En pantallas pequeñas → solo iconos */
@media(max-width: 768px) {
  .payment-btn {
    padding: 3px 8px;
    font-size: 0.72rem;
  }
  .payment-btn .text-label {
    display: none; /* oculta texto */
  }
}

/* Ultra pequeño */
@media(max-width: 480px) {
  .payment-btn {
    padding: 3px 6px;
    font-size: 0.65rem;
  }
}

/* icon-only spacing fix */
.icon-only {
  margin-right: 0 !important;
}

/* Dark mode */
body.dark .payment-btn {
  border-color: #444;
  color: #ddd;
}
body.dark .payment-btn.active {
  background-color: #0d6efd;
  color: #fff;
}

.drawer-75 .bp4-drawer {
  width: 75% !important;
  max-width: 75% !important;
}

 .operation-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 85px;    /* Ajusta según tu gusto */
  font-size: 0.85rem; 
  font-weight: 600;
  white-space: nowrap;
}

.operation-increase {
  color: #1aa62a; /* verde */
}

.operation-decrease {
  color: #d9534f; /* rojo */
}

.operation-neutral {
  color: #6c757d; /* gris */
}

.invoice-active-color {
  color: #2d72d2 !important;
}

.group:hover .copy-container {
  opacity: 1;
}

.product-summary-card {
     background: var(--bs-secondary-bg);
}