:root {
  --color-primary: #0c7286;
  --color-bg: #eef5f5;
  --color-dark: #16223a;
}

/* Pie global del sistema. */
.app-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem 1.25rem;
  margin-top: 1.1rem;
  padding: .9rem .15rem 1.15rem;
  color: var(--bs-secondary-color);
  font-size: .78rem;
}
.app-footer__product,
.app-footer__support {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
}
.app-footer i { color: var(--bs-primary); font-size: 1rem; }
.app-footer__product > span:nth-child(2) { color: var(--bs-body-color); font-weight: 750; }
.app-footer__version {
  padding: .12rem .42rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 999px;
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 750;
}
.app-footer__support {
  color: inherit;
  text-decoration: none;
}
.app-footer__support:hover { color: var(--bs-primary); }
.app-footer__support strong { color: var(--bs-body-color); font-weight: 750; }
@media (max-width: 575.98px) {
  .app-footer { align-items: flex-start; flex-direction: column; gap: .42rem; padding: .9rem .1rem 1rem; }
}

/* Scrollbars globales: usan las variables de Bootstrap y se adaptan al tema. */
html,
body,
* {
  scrollbar-width: thin;
  scrollbar-color: var(--ar-scroll-thumb) var(--ar-scroll-track);
}

:root {
  --ar-scroll-track: #edf2f8;
  --ar-scroll-thumb: #93a8c3;
  --ar-scroll-thumb-hover: #52769e;
}

[data-bs-theme="dark"] {
  --ar-scroll-track: #16264a;
  --ar-scroll-thumb: #426392;
  --ar-scroll-thumb-hover: #16a5c0;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: var(--ar-scroll-track);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb {
  background: var(--ar-scroll-thumb);
  border: 2px solid var(--ar-scroll-track);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--ar-scroll-thumb-hover);
}
*::-webkit-scrollbar-corner {
  background: var(--ar-scroll-track);
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: var(--ar-scroll-track);
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  background: var(--ar-scroll-thumb);
  border: 3px solid var(--ar-scroll-track);
  border-radius: 999px;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
  background: var(--ar-scroll-thumb-hover);
}

/* Invitación PWA: aparece solo cuando el navegador habilita la instalación. */
.pwa-install-prompt {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1085;
  display: flex;
  width: min(430px, calc(100vw - 32px));
  align-items: center;
  gap: 0.8rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  box-shadow: 0 18px 42px rgba(2, 8, 23, 0.26);
  animation: pwa-install-enter 0.22s ease-out;
}
.pwa-install-prompt__icon {
  display: grid;
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--color-primary);
  font-size: 1.3rem;
}
.pwa-install-prompt__content {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.12rem;
}
.pwa-install-prompt__content strong {
  font-size: 0.86rem;
  font-weight: 850;
}
.pwa-install-prompt__content span {
  color: var(--bs-secondary-color);
  font-size: 0.74rem;
  line-height: 1.3;
}
.pwa-install-prompt__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.4rem;
}
.pwa-install-prompt__actions .btn {
  min-height: 34px;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 800;
}
.pwa-install-prompt__close {
  display: grid;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: var(--bs-secondary-color);
  background: transparent;
  font-size: 1rem;
}
.pwa-install-prompt__close:hover {
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
}
[data-bs-theme="dark"] .pwa-install-prompt {
  border-color: #23345d;
  background: #08132c;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
}
@keyframes pwa-install-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.toastify.toast-agente-impresion {
  top: 14px;
  width: min(560px, calc(100vw - 32px));
  max-width: 560px;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.24);
}
.print-server-credenciales {
  display: grid;
  gap: 0.2rem;
}
.print-server-credencial {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.71rem;
  line-height: 1.2;
}
.print-server-credencial > span {
  width: 42px;
  flex: 0 0 42px;
  color: var(--bs-secondary-color);
  font-weight: 700;
}
.print-server-credencial code {
  min-width: 0;
  flex: 1;
  overflow-wrap: anywhere;
  color: var(--bs-body-color);
  font-size: 0.66rem;
}
.print-server-credencial .btn-link {
  color: var(--bs-primary);
}
.print-server-credencial--pendiente em {
  color: var(--bs-warning);
  font-size: 0.67rem;
  font-style: normal;
}
@media (max-width: 575.98px) {
  .toastify.toast-agente-impresion.toastify-center {
    top: calc(10px + env(safe-area-inset-top));
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    font-size: 0.76rem;
  }
}
@keyframes pwa-install-enter-mobile {
  from {
    opacity: 0;
    transform: translate(-50%, -12px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
@media (max-width: 575.98px) {
  .pwa-install-prompt {
    top: max(12px, env(safe-area-inset-top));
    right: auto;
    bottom: auto;
    left: 50%;
    display: grid;
    width: min(390px, calc(100vw - 24px));
    grid-template-columns: 43px minmax(0, 1fr) 29px;
    align-items: center;
    gap: 0.65rem;
    padding: 0.8rem;
    transform: translateX(-50%);
    animation: pwa-install-enter-mobile 0.22s ease-out;
  }
  .pwa-install-prompt__content {
    grid-column: 2;
    grid-row: 1;
  }
  .pwa-install-prompt__close {
    grid-column: 3;
    grid-row: 1;
  }
  .pwa-install-prompt__actions {
    grid-column: 1/-1;
    grid-row: 2;
    display: flex;
    width: 100%;
    margin-top: 0.15rem;
  }
  .pwa-install-prompt__actions .btn {
    flex: 1;
    min-height: 38px;
  }
  .pwa-install-prompt:not(:has(.pwa-install-prompt__actions)) {
    grid-template-columns: 43px minmax(0, 1fr) 29px;
  }
}

.text-bg-purple {
  color: #fff !important;
  background-color: #7c3aed !important;
}

/*
 * DataTables usa caracteres Unicode para los indicadores de orden. Algunos
 * hostings entregan los CSS de terceros con una codificación distinta a UTF-8
 * y esos caracteres terminan mostrándose como texto corrupto. Los escapes CSS
 * mantienen los indicadores independientes de la codificación de la respuesta.
 */
table.dataTable thead > tr > th.sorting::before,
table.dataTable thead > tr > th.sorting_asc::before,
table.dataTable thead > tr > th.sorting_desc::before,
table.dataTable thead > tr > th.sorting_asc_disabled::before,
table.dataTable thead > tr > th.sorting_desc_disabled::before,
table.dataTable thead > tr > td.sorting::before,
table.dataTable thead > tr > td.sorting_asc::before,
table.dataTable thead > tr > td.sorting_desc::before,
table.dataTable thead > tr > td.sorting_asc_disabled::before,
table.dataTable thead > tr > td.sorting_desc_disabled::before {
  content: "\25B2" !important;
}

table.dataTable thead > tr > th.sorting::after,
table.dataTable thead > tr > th.sorting_asc::after,
table.dataTable thead > tr > th.sorting_desc::after,
table.dataTable thead > tr > th.sorting_asc_disabled::after,
table.dataTable thead > tr > th.sorting_desc_disabled::after,
table.dataTable thead > tr > td.sorting::after,
table.dataTable thead > tr > td.sorting_asc::after,
table.dataTable thead > tr > td.sorting_desc::after,
table.dataTable thead > tr > td.sorting_asc_disabled::after,
table.dataTable thead > tr > td.sorting_desc_disabled::after {
  content: "\25BC" !important;
}

/* Cobro POS: opciones grandes para uso táctil. */
#modalCobrarPedido ~ .modal-backdrop,
body:has(#modalCobrarPedido.show) .modal-backdrop {
  opacity: 1 !important;
  background-color: rgba(2, 8, 23, 0.68);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* La apertura de una mesa usa el mismo foco visual que el cobro. */
#modalMesa ~ .modal-backdrop,
body:has(#modalMesa.show) .modal-backdrop {
  opacity: 1 !important;
  background-color: rgba(2, 8, 23, 0.68);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* El ajuste se abre sobre el cobro, sin ocultar el contexto del pago. */
#modalAjustePedido {
  z-index: 1065;
}

.modal-backdrop.modal-backdrop--ajuste {
  z-index: 1060;
  background-color: rgba(1, 7, 20, 0.64);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

/* Confirmación de venta y vista previa del comprobante. */
#modalVentaRegistrada ~ .modal-backdrop,
body:has(#modalVentaRegistrada.show) .modal-backdrop {
  opacity: 1 !important;
  background-color: rgba(2, 8, 23, 0.7);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

#modalVentaRegistrada .modal-dialog {
  max-width: 800px;
}

.orden-pos__venta-registrada-modal {
  overflow: hidden;
}

.orden-pos__venta-registrada-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(320px, 1.1fr);
  min-height: 550px;
}

.orden-pos__venta-registrada-acciones {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 1.5rem 1.5rem;
  text-align: center;
}

.orden-pos__venta-registrada-alerta {
  width: 100%;
  margin-bottom: 2.35rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(var(--bs-success-rgb), 0.35);
  border-radius: 0.55rem;
  color: var(--bs-success);
  background: rgba(var(--bs-success-rgb), 0.1);
  font-size: 0.98rem;
  font-weight: 800;
}

.orden-pos__venta-registrada-alerta--warning {
  color: #a86800;
  border-color: rgba(234, 166, 0, 0.4);
  background: rgba(234, 166, 0, 0.12);
}

.orden-pos__venta-registrada-alerta--danger {
  color: #c53b4a;
  border-color: rgba(220, 53, 69, 0.4);
  background: rgba(220, 53, 69, 0.1);
}

.orden-pos__venta-registrada-icono {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  margin-bottom: 1.2rem;
  border-radius: 50%;
  color: #fff;
  background: var(--bs-success);
  font-size: 3rem;
}

.orden-pos__venta-registrada-acciones h4 {
  margin: 0 0 2.1rem;
}

.orden-pos__venta-registrada-imprimir,
.orden-pos__venta-registrada-volver {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 56px;
  font-weight: 800;
}

.orden-pos__venta-registrada-imprimir i,
.orden-pos__venta-registrada-volver i {
  font-size: 1.35rem;
}

.orden-pos__venta-registrada-whatsapp {
  width: 100%;
  margin: 1.35rem 0;
  text-align: left;
}

.orden-pos__venta-registrada-preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: 0.85rem;
  overflow: hidden;
  background: #050d22;
}

.orden-pos__venta-registrada-preview iframe {
  display: block;
  width: min(72mm, calc(100% - 0.5rem));
  height: 530px;
  min-height: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0.45rem;
  background: #fff;
  box-shadow: 0 0.4rem 1.3rem rgba(0, 0, 0, 0.28);
}

[data-bs-theme="dark"] #modalVentaRegistrada .modal-content {
  color: #e7efff;
  background: #050d22;
  border-color: #20345e;
}

[data-bs-theme="dark"]
  #modalVentaRegistrada
  .orden-pos__venta-registrada-preview {
  border-left: 1px solid #20345e;
  background: #050d22;
}

.orden-pos__venta-registrada-volver {
  color: #09c7de;
  border: 1px solid #09c7de;
  background: rgba(9, 199, 222, 0.08);
}

.orden-pos__venta-registrada-volver:hover,
.orden-pos__venta-registrada-volver:focus {
  color: #fff;
  border-color: #10d7ef;
  background: #078ca3;
}

.alpharest-frame-impresion {
  position: fixed;
  z-index: -1;
  top: 0;
  left: -10000px;
  width: 1px;
  height: 1px;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 767.98px) {
  #modalVentaRegistrada .modal-dialog {
    margin: 0.5rem;
  }

  .orden-pos__venta-registrada-layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .orden-pos__venta-registrada-acciones {
    min-height: 0;
    padding: 1rem 1.1rem 1.1rem;
  }

  .orden-pos__venta-registrada-preview {
    display: none;
  }

  .orden-pos__venta-registrada-alerta {
    margin: 2rem 0 1.25rem;
  }
}

.orden-pos__opciones-tactiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 0.65rem;
}

.orden-pos__pagos-list {
  display: grid;
  gap: 0.45rem;
  max-height: 160px;
  overflow-y: auto;
}

.orden-pos__pago-linea {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.55rem;
  background: var(--bs-tertiary-bg);
}

.orden-pos__pago-linea span {
  display: grid;
  gap: 0.08rem;
}

.orden-pos__pago-linea small {
  color: var(--bs-success);
  font-size: 0.72rem;
}

.orden-pos__opcion-tactil {
  min-height: 78px;
  padding: 0.8rem 0.65rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.7rem;
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  transition: 0.16s ease;
}

.orden-pos__opcion-tactil i {
  color: var(--bs-primary);
  font-size: 1.45rem;
}

.btn-check:checked + .orden-pos__opcion-tactil {
  border-color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.16);
  box-shadow: 0 0 0 0.18rem rgba(var(--bs-primary-rgb), 0.14);
}

.btn-check:focus-visible + .orden-pos__opcion-tactil {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.3);
}

@media (max-width: 575.98px) {
  .orden-pos__opciones-tactiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Cobro POS: el detalle se mantiene visible sin sacrificar el espacio táctil. */
#modalCobrarPedido .modal-content {
  overflow: hidden;
}

#modalCobrarPedido .modal-header {
  position: relative;
  gap: 1rem;
  align-items: center;
  padding-right: 4.2rem;
}

.orden-pos__cobro-cliente-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  margin-right: 0;
}

.orden-pos__cobro-cliente-header > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.13);
  font-size: 1.1rem;
}

.orden-pos__cobro-cliente-header > div {
  min-width: 0;
}

.orden-pos__cobro-cliente-acciones {
  display: flex;
  flex: 0 0 auto;
  gap: 0.35rem;
  margin-left: 0.2rem;
}

.orden-pos__cobro-cliente-acciones .btn {
  display: inline-grid;
  width: 33px;
  height: 33px;
  padding: 0;
  place-items: center;
  border-radius: 0.5rem;
}

.orden-pos__cobro-cliente-header small,
.orden-pos__cobro-documento-header > small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.orden-pos__cobro-cliente-header .modal-title {
  overflow: hidden;
  max-width: 280px;
  margin: 0.05rem 0;
  font-size: 0.92rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.orden-pos__cobro-documento-header {
  position: absolute;
  top: 50%;
  right: 4rem;
  display: grid;
  justify-items: end;
  gap: 0.25rem;
  margin: 0;
  transform: translateY(-50%);
}

#modalCobrarPedido .modal-header > .btn-close {
  position: absolute;
  top: 50%;
  right: 1.15rem;
  margin: 0;
  transform: translateY(-50%);
}

.orden-pos__cobro-layout {
  display: grid;
  grid-template-columns: minmax(270px, 0.82fr) minmax(400px, 1.38fr);
  max-height: min(68vh, 670px);
}

.orden-pos__cobro-resumen {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
  padding: 1rem;
  border-right: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}

.orden-pos__cobro-resumen-head,
.orden-pos__pagos-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.orden-pos__cobro-resumen-head {
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--bs-border-color);
}

.orden-pos__cobro-resumen-head small,
.orden-pos__pagos-heading small,
.orden-pos__metodo-pago-info small {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}

.orden-pos__cobro-detalles {
  display: grid;
  align-content: start;
  gap: 0.15rem;
  min-height: 0;
  margin: 0.65rem -0.25rem;
  padding: 0 0.25rem;
  overflow-y: auto;
  max-height: none;
}

.orden-pos__cobro-detalle-linea {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0.6rem 0.15rem;
  border-bottom: 1px solid var(--bs-border-color-translucent);
  font-size: 0.8rem;
}

.orden-pos__cobro-detalle-linea > div {
  display: grid;
  gap: 0.12rem;
}

.orden-pos__cobro-detalle-linea small {
  color: var(--bs-secondary-color);
  font-size: 0.7rem;
}

.orden-pos__cobro-cantidad {
  color: var(--bs-primary);
  font-weight: 700;
}

.orden-pos__cobro-detalle-linea > strong {
  white-space: nowrap;
}

.orden-pos__cobro-totales {
  display: grid;
  gap: 0.45rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--bs-border-color);
  font-size: 0.82rem;
}

.orden-pos__cobro-totales > div,
.orden-pos__vuelto-cobro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.orden-pos__mensaje-cortesia {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid rgba(var(--bs-success-rgb), 0.45);
  border-radius: 0.7rem;
  background: rgba(var(--bs-success-rgb), 0.09);
  margin-bottom: 1rem;
}

.orden-pos__mensaje-cortesia > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: var(--bs-success);
  background: rgba(var(--bs-success-rgb), 0.15);
  font-size: 1.25rem;
}

.orden-pos__mensaje-cortesia > div {
  display: grid;
  gap: 0.15rem;
}

.orden-pos__mensaje-cortesia small {
  color: var(--bs-secondary-color);
}

.orden-pos__cobro-ajuste {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 0.15rem 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

.orden-pos__cobro-ajuste:hover {
  color: var(--bs-primary);
}

.orden-pos__cobro-ajuste:hover strong {
  text-decoration: underline;
}

.orden-pos__ajuste-tipos .orden-pos__opcion-tactil {
  min-height: 62px;
}

.orden-pos__cobro-total-final {
  margin-top: 0.25rem;
  padding-top: 0.65rem;
  border-top: 1px dashed var(--bs-border-color);
  font-size: 1rem;
}

.orden-pos__cobro-total-final strong,
.orden-pos__vuelto-cobro strong {
  color: var(--bs-primary);
  font-size: 1.2rem;
}

.orden-pos__cobro-opcion-futura {
  color: var(--bs-secondary-color);
  font-size: 0.76rem;
}

.orden-pos__cobro-form {
  min-width: 0;
  overflow-y: auto;
}

.orden-pos__gestion-cliente {
  min-height: 100%;
  padding: 1rem;
}

.orden-pos__gestion-cliente-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.orden-pos__gestion-cliente-head > div {
  display: grid;
  gap: 0.15rem;
}

.orden-pos__gestion-cliente-head small {
  color: var(--bs-secondary-color);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.orden-pos__gestion-cliente .orden-pos__clientes-list {
  max-height: min(48vh, 410px);
}

.orden-pos__cliente-rapido {
  padding: 0.75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.7rem;
  background: var(--bs-tertiary-bg);
}

.orden-pos__cliente-rapido .form-label {
  margin-bottom: 0.35rem;
  font-size: 0.76rem;
  font-weight: 800;
}

.orden-pos__cliente-rapido small {
  display: block;
  margin-top: 0.4rem;
  color: var(--bs-secondary-color);
  font-size: 0.7rem;
}

#modalCobrarPedido .ui-autocomplete {
  z-index: 1080;
  max-height: min(42vh, 300px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.3rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.6rem;
  background: var(--bs-body-bg);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}

#modalCobrarPedido .ui-menu .ui-menu-item-wrapper {
  padding: 0.55rem 0.65rem;
  border-radius: 0.4rem;
  color: var(--bs-body-color);
  font-size: 0.8rem;
}

#modalCobrarPedido .ui-menu .ui-state-active,
#modalCobrarPedido .ui-menu .ui-menu-item-wrapper:hover {
  margin: 0;
  border: 0;
  color: #fff;
  background: var(--bs-primary);
}

.orden-pos__pagos-heading {
  padding: 0.75rem 0.85rem;
  margin-bottom: 0.7rem;
  border-radius: 0.65rem;
  background: rgba(var(--bs-primary-rgb), 0.12);
}

.orden-pos__pagos-heading > div {
  display: grid;
  gap: 0.1rem;
}

.orden-pos__pagos-heading > strong {
  white-space: nowrap;
  font-size: 0.85rem;
}

.orden-pos__metodos-pago {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

.orden-pos__metodo-pago {
  display: grid;
  gap: 0.75rem;
  padding: 0.8rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.7rem;
  background: var(--bs-tertiary-bg);
  cursor: pointer;
  transition:
    border-color 0.16s ease,
    background-color 0.16s ease,
    transform 0.16s ease;
}

.orden-pos__metodo-pago:hover,
.orden-pos__metodo-pago:focus-visible,
.orden-pos__metodo-pago--activo {
  border-color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.09);
}

.orden-pos__metodo-pago:active {
  transform: scale(0.985);
}

.orden-pos__metodo-pago:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.22);
}

.orden-pos__metodo-pago-info {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.orden-pos__metodo-pago-info > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 0.55rem;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.15);
  font-size: 1.25rem;
}

.orden-pos__metodo-pago-info > div {
  display: grid;
  gap: 0.1rem;
}

.orden-pos__metodo-monto {
  min-height: 38px;
  font-size: 1rem;
  font-weight: 700;
  text-align: right;
}

.orden-pos__vuelto-cobro {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(var(--bs-success-rgb), 0.45);
  border-radius: 0.65rem;
  background: rgba(var(--bs-success-rgb), 0.08);
}

.orden-pos__cobro-footer {
  padding: 0.8rem 1rem;
}

.orden-pos__cobro-footer .btn {
  min-height: 42px;
  min-width: 135px;
  font-weight: 700;
}

/* Paleta propia del cobro POS en modo oscuro: evita los grises Bootstrap. */
[data-bs-theme="dark"] #modalCobrarPedido .modal-content {
  color: #e7efff;
  background: #050d22;
  border-color: #263a66;
}

[data-bs-theme="dark"] #modalCobrarPedido .modal-header,
[data-bs-theme="dark"] #modalCobrarPedido .modal-footer {
  border-color: #20345e;
  background: #07132d;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__cobro-resumen {
  background: #0a1834;
  border-color: #20345e;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__cobro-detalle-linea,
[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__cobro-resumen-head,
[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__cobro-totales {
  border-color: #20345e;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__pagos-heading {
  background: #0a1b46;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__metodo-pago {
  background: #0a1732;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__metodo-pago:hover,
[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__metodo-pago:focus-visible,
[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__metodo-pago--activo {
  background: color-mix(
    in srgb,
    var(--metodo-pago-color, var(--bs-primary)) 19%,
    #0a1732
  );
}

[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__gestion-cliente
  .form-control,
[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__gestion-cliente
  .form-select {
  color: #e7efff;
  border-color: #2b4578;
  background: #142a57;
}

[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__gestion-cliente
  .orden-pos__search,
[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__gestion-cliente
  .orden-pos__cliente-item {
  border-color: #2b4578;
  background: #0a1732;
}

[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__gestion-cliente
  .orden-pos__cliente-item:hover {
  border-color: #5a8dee;
  background: #102247;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__cliente-rapido {
  border-color: #2b4578;
  background: #0a1732;
}

[data-bs-theme="dark"] #modalCobrarPedido .ui-autocomplete {
  border-color: #2b4578;
  background: #0a1732;
}

[data-bs-theme="dark"] #modalCobrarPedido .ui-menu .ui-menu-item-wrapper {
  color: #e7efff;
}

[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__tipos-documento
  .orden-pos__opcion-tactil {
  border-color: #294878;
  background: #102247;
  color: #dce8ff;
}

[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__tipos-documento
  .btn-check:checked
  + .orden-pos__opcion-tactil {
  color: #ffffff;
  border-color: #1683ff;
  background: #0758b8;
  box-shadow: 0 0 0 0.18rem rgba(22, 131, 255, 0.22);
}

[data-bs-theme="dark"]
  #modalCobrarPedido
  .orden-pos__tipos-documento
  .btn-check:checked
  + .orden-pos__opcion-tactil
  i {
  color: #8fd0ff;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__metodo-monto,
[data-bs-theme="dark"] #modalCobrarPedido .simboloMonedaMetodo,
[data-bs-theme="dark"] #modalCobrarPedido #cobroObservaciones {
  color: #e7efff;
  border-color: #2b4578;
  background: #142a57;
}

[data-bs-theme="dark"] #modalCobrarPedido .orden-pos__metodo-monto::placeholder,
[data-bs-theme="dark"] #modalCobrarPedido #cobroObservaciones::placeholder {
  color: #9eb0d5;
}

/* Ajustes compactos del modal de facturación. */
#modalCobrarPedido .modal-dialog {
  max-width: 1080px;
}

@media (min-width: 576px) {
  #modalCobrarPedido .modal-content {
    max-height: calc(100vh - 2rem);
  }

  #modalCobrarPedido form,
  #modalCobrarPedido .modal-body {
    min-height: 0;
  }

  #modalCobrarPedido form {
    display: flex;
    flex-direction: column;
  }

  #modalCobrarPedido .modal-body {
    flex: 1 1 auto;
    overflow: hidden;
  }

  #modalCobrarPedido .orden-pos__cobro-layout {
    height: min(74vh, 720px);
    max-height: calc(100vh - 10.5rem);
    overflow: hidden;
  }
}

.orden-pos__cobro-layout {
  max-height: min(74vh, 720px);
}

.orden-pos__tipos-documento {
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  gap: 0.45rem;
}

/* En el encabezado no se reserva una tercera columna si Factura está oculta. */
#modalCobrarPedido
  .orden-pos__cobro-documento-header
  .orden-pos__tipos-documento {
  display: flex;
  justify-content: flex-end;
}

#modalCobrarPedido
  .orden-pos__cobro-documento-header
  .orden-pos__tipos-documento
  .orden-pos__opcion-tactil {
  flex: 0 0 auto;
  min-width: 112px;
}

.orden-pos__tipos-documento .orden-pos__opcion-tactil {
  flex-direction: row;
  min-height: 48px;
  padding: 0.5rem 0.65rem;
  gap: 0.4rem;
  font-size: 0.75rem;
}

.orden-pos__tipos-documento .orden-pos__opcion-tactil i {
  font-size: 1.05rem;
}

.orden-pos__metodos-pago {
  gap: 0.55rem;
}

.orden-pos__metodo-pago {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 150px);
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border-color: var(--metodo-pago-color, var(--bs-border-color));
}

.orden-pos__metodo-pago:hover,
.orden-pos__metodo-pago:focus-visible,
.orden-pos__metodo-pago--activo {
  border-color: var(--metodo-pago-color, var(--bs-primary));
  background: color-mix(
    in srgb,
    var(--metodo-pago-color, var(--bs-primary)) 16%,
    var(--bs-tertiary-bg)
  );
  box-shadow: 0 0 0 1px
    color-mix(
      in srgb,
      var(--metodo-pago-color, var(--bs-primary)) 30%,
      transparent
    );
}

.orden-pos__metodo-pago-info > span {
  width: 30px;
  height: 30px;
  color: var(--metodo-pago-color, var(--bs-primary));
  background: color-mix(
    in srgb,
    var(--metodo-pago-color, var(--bs-primary)) 15%,
    transparent
  );
  font-size: 1.05rem;
}

.orden-pos__metodo-pago-info strong {
  font-size: 0.86rem;
}

.orden-pos__metodo-pago-info > .orden-pos__metodo-nombre {
  display: inline-flex !important;
  align-items: center;
  gap: 0.62rem;
  min-width: 0;
}

.orden-pos__metodo-nombre strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.orden-pos__metodo-consultar-billetera {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 27px;
  height: 27px;
  padding: 0;
  color: var(--metodo-pago-color, var(--bs-primary));
  border: 1px solid color-mix(in srgb, var(--metodo-pago-color, var(--bs-primary)) 60%, var(--bs-border-color));
  border-radius: 0.48rem;
  background: color-mix(in srgb, var(--metodo-pago-color, var(--bs-primary)) 10%, transparent);
  font-size: 0.94rem;
  line-height: 1;
  transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.orden-pos__metodo-consultar-billetera:hover,
.orden-pos__metodo-consultar-billetera:focus-visible {
  color: #fff;
  border-color: var(--metodo-pago-color, var(--bs-primary));
  background: var(--metodo-pago-color, var(--bs-primary));
}

.orden-pos__metodo-consultar-billetera:active {
  transform: scale(0.94);
}

.orden-pos__metodo-monto {
  min-height: 34px;
  font-size: 0.95rem;
}

.orden-pos__metodo-monto::-webkit-outer-spin-button,
.orden-pos__metodo-monto::-webkit-inner-spin-button,
#ajusteValor::-webkit-outer-spin-button,
#ajusteValor::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.orden-pos__metodo-monto,
#ajusteValor {
  appearance: textfield;
  -moz-appearance: textfield;
}

@media (min-width: 576px) and (max-width: 991.98px) {
  #modalCobrarPedido .modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #modalCobrarPedido .orden-pos__cobro-layout {
    grid-template-columns: 1fr;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  .orden-pos__cobro-resumen {
    display: block;
    max-height: none;
    border-right: 0;
    border-bottom: 1px solid var(--bs-border-color);
  }

  .orden-pos__cobro-detalles {
    height: 180px;
    min-height: 160px;
    max-height: 180px;
    margin-top: 0.45rem;
    margin-bottom: 0.45rem;
    padding-bottom: 0.35rem;
    scrollbar-gutter: stable;
  }

  .orden-pos__cobro-form {
    overflow: visible;
  }
}

/* En móvil y tablet el selector va bajo el resumen: es más táctil y evita
   competir con la información del cliente en el encabezado. */
@media (max-width: 991.98px) {
  .orden-pos__cobro-documento-header {
    display: none;
  }

  .orden-pos__documentos-movil {
    display: grid;
    gap: 0.45rem;
    padding: 0.75rem 0.8rem;
    border-bottom: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg);
  }

  .orden-pos__documentos-movil > small {
    color: var(--bs-secondary-color);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
  }

  .orden-pos__documentos-movil > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .orden-pos__documento-movil-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    gap: 0.42rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.65rem;
    color: var(--bs-body-color);
    background: var(--bs-body-bg);
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
  }

  .orden-pos__documento-movil-btn i {
    color: var(--bs-primary);
    font-size: 1rem;
  }

  .orden-pos__documento-movil-btn.active {
    color: #fff;
    border-color: var(--bs-primary);
    background: var(--bs-primary);
    box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.16);
  }

  .orden-pos__documento-movil-btn.active i {
    color: #b9e4ff;
  }

  .orden-pos__documento-movil-btn:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .orden-pos__documento-movil-btn:disabled {
    opacity: 0.5;
  }

  [data-bs-theme="dark"] #modalCobrarPedido .orden-pos__documentos-movil {
    border-color: #20345e;
    background: #07132d;
  }

  [data-bs-theme="dark"] #modalCobrarPedido .orden-pos__documento-movil-btn {
    color: #dce8ff;
    border-color: #294878;
    background: #102247;
  }

  [data-bs-theme="dark"]
    #modalCobrarPedido
    .orden-pos__documento-movil-btn.active {
    color: #fff;
    border-color: #1683ff;
    background: #0758b8;
  }
}

@media (max-width: 575.98px) {
  #modalCobrarPedido .modal-dialog {
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin: 0;
  }

  @supports (height: 100dvh) {
    #modalCobrarPedido .modal-dialog {
      height: 100dvh;
      min-height: 100dvh;
    }
  }

  #modalCobrarPedido .modal-content {
    height: 100%;
    max-height: 100%;
    border-radius: 0;
  }

  #modalCobrarPedido form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }

  #modalCobrarPedido .modal-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  #modalCobrarPedido .modal-header {
    align-items: flex-start;
    min-height: 76px;
    padding: 0.85rem 3.4rem 0.85rem 1rem;
  }

  .orden-pos__cobro-documento-header {
    display: none;
  }

  .orden-pos__documentos-movil {
    display: grid;
    gap: 0.45rem;
    padding: 0.75rem 0.8rem;
    border-bottom: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg);
  }

  .orden-pos__documentos-movil > small {
    color: var(--bs-secondary-color);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
  }

  .orden-pos__documentos-movil > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .orden-pos__documento-movil-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    gap: 0.42rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.65rem;
    color: var(--bs-body-color);
    background: var(--bs-body-bg);
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
  }

  .orden-pos__documento-movil-btn i {
    color: var(--bs-primary);
    font-size: 1rem;
  }

  .orden-pos__documento-movil-btn.active {
    color: #fff;
    border-color: var(--bs-primary);
    background: var(--bs-primary);
    box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.16);
  }

  .orden-pos__documento-movil-btn.active i {
    color: #b9e4ff;
  }

  .orden-pos__documento-movil-btn:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .orden-pos__documento-movil-btn:disabled {
    opacity: 0.5;
  }

  #modalCobrarPedido .modal-header > .btn-close {
    top: 0.95rem;
    right: 1rem;
    transform: none;
  }

  .orden-pos__cobro-cliente-header .modal-title {
    max-width: 210px;
  }

  .orden-pos__cobro-layout {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .orden-pos__cobro-resumen {
    display: block;
    grid-template-rows: auto minmax(108px, 145px) auto;
    max-height: none;
    padding: 0.8rem;
  }

  .orden-pos__cobro-detalles {
    height: 145px;
    min-height: 108px;
    max-height: 145px;
  }

  .orden-pos__cobro-form {
    overflow: visible;
  }

  .orden-pos__cobro-footer {
    flex: 0 0 auto;
    padding: 0.65rem 0.8rem;
    background: var(--bs-modal-bg);
    border-top: 1px solid var(--bs-border-color);
  }

  .orden-pos__metodos-pago {
    grid-template-columns: 1fr;
  }

  .orden-pos__metodo-pago {
    grid-template-columns: minmax(0, 1fr) minmax(115px, 138px);
  }

  .orden-pos__cobro-footer .btn {
    flex: 1;
    min-width: 0;
  }

  [data-bs-theme="dark"] #modalCobrarPedido .orden-pos__documentos-movil {
    border-color: #20345e;
    background: #07132d;
  }

  [data-bs-theme="dark"] #modalCobrarPedido .orden-pos__documento-movil-btn {
    color: #dce8ff;
    border-color: #294878;
    background: #102247;
  }

  [data-bs-theme="dark"]
    #modalCobrarPedido
    .orden-pos__documento-movil-btn.active {
    color: #fff;
    border-color: #1683ff;
    background: #0758b8;
  }
}

@font-face {
  font-family: "Roboto";
  src: url("../css/fonts/roboto/Roboto-Light.woff2") format("woff2");
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url("../css/fonts/roboto/Roboto-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url("../css/fonts/roboto/Roboto-Medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url("../css/fonts/roboto/Roboto-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url("../css/fonts/roboto/Roboto-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

/*Fuente Figtree***********/
@font-face {
  font-family: "Figtree";
  src: url("../css/fonts/figtree/Figtree-Light.woff2") format("woff2");
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("../css/fonts/figtree/Figtree-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("../css/fonts/figtree/Figtree-Medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("../css/fonts/figtree/Figtree-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("../css/fonts/figtree/Figtree-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

body {
  font-family: "Figtree", "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 400;
  background: #eef5f5;
  min-height: 100vh;
}
.form-control {
  font-size: 15px;
  font-weight: 400;
}
.btn {
  font-size: 14px;
}
.font-15 {
  font-size: 15px;
}
.font-14 {
  font-size: 14px;
}
.font-13 {
  font-size: 13px;
}
p {
  font-size: 15px;
}

table {
  font-size: 13px !important;
  vertical-align: middle !important;
}

table thead th {
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #dee2e6 !important;
}

table tbody tr td {
  border: none !important;
}

table tbody tr td {
  transition: background 0.2s ease;
}

table tbody tr:hover td {
  background: #eef5f5;
}

div.dataTables_wrapper div.dataTables_info {
  font-size: 13px;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination > li > a {
  font-size: 13px !important;
}
.active > .page-link,
.page-link.active {
  background-color: #0c7286 !important;
}

/*Estilo para el swal fire*/
.swal-small {
  width: 350px !important;
  font-size: 14px;
}

/* icono */
.swal-small .swal2-icon {
  margin: 10px auto !important;
}

.swal-small .swal2-icon .swal2-icon-content {
  font-size: 28px !important;
}

/* titulo */
.swal-small .swal2-title {
  padding-top: 0px;
  font-size: 20px !important;
}

.swal-envio-comprobante .swal2-title {
  padding-top: 14px;
}

/* texto */
.swal-small .swal2-html-container {
  font-size: 14px !important;
}
/* contenedor botones */
.swal-small .swal2-actions {
  margin-top: 10px;
}

label {
  font-size: 14px !important;
}
.modal-title {
  font-size: 17px;
}

.bi::before {
  font-weight: 600 !important;
}

.card {
  border: none;
  border-radius: 12px;
}
.card-body {
  border: none;
  border-radius: 12px;
}

.btn-primary {
  background: #0c7286;
  border: none;
  padding: 7px 12px;
}

.btn-primary:hover {
  background: #095c6d;
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #d5e8e8;
  padding: 10px 17px;
  border-radius: 10px;
  margin-bottom: 15px;
}

.inventario-page-header {
  gap: 12px;
  flex-wrap: wrap;
}

.inventario-page-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.inventario-filtros__columnas {
  text-align: end;
}

/* Reportes */
.reportes-panel {
  --rp-panel: var(--bs-tertiary-bg);
  --rp-border: var(--bs-border-color);
  --rp-text: var(--bs-body-color);
  --rp-muted: var(--bs-secondary-color);
  --rp-primary: #138ca7;
  --rp-primary-soft: rgba(19, 140, 167, .13);
}
.reportes-panel__head,
.reportes-panel__categories,
.reportes-panel__submenu {
  background: var(--rp-panel);
  border: 1px solid var(--rp-border);
  border-radius: 1rem;
}
.reportes-panel__head { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; }
.reportes-panel__head-icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: .85rem; background: var(--rp-primary-soft); color: var(--rp-primary); font-size: 1.35rem; }
.reportes-panel__head h5 { margin: 0; color: var(--rp-text); font-size: 1rem; font-weight: 850; }
.reportes-panel__head p { margin: .15rem 0 0; color: var(--rp-muted); font-size: .81rem; }
.reportes-panel__categories { padding: .65rem; }
.reportes-panel__category { display: flex; align-items: center; gap: .72rem; width: 100%; padding: .82rem; border: 0; border-radius: .75rem; background: transparent; color: var(--rp-text); text-align: left; }
.reportes-panel__category i { display: grid; flex: 0 0 33px; width: 33px; min-width: 33px; height: 33px; min-height: 33px; place-items: center; overflow: hidden; border-radius: .65rem; background: var(--rp-primary-soft); color: var(--rp-primary); font-size: 1.05rem; line-height: 1; }
.reportes-panel__category span { flex: 1 1 auto; min-width: 0; font-size: .86rem; font-weight: 800; }
.reportes-panel__category small { display: block; margin-top: .08rem; color: var(--rp-muted); font-size: .71rem; font-weight: 500; }
.reportes-panel__category:hover,
.reportes-panel__category.active { background: var(--rp-primary-soft); color: var(--rp-primary); }
.reportes-panel__category.active { box-shadow: inset 3px 0 0 var(--rp-primary); }
.reportes-panel__submenu { min-height: 178px; overflow: hidden; }
.reportes-panel__submenu-head { padding: 1rem; border-bottom: 1px solid var(--rp-border); }
.reportes-panel__submenu-head h6 { margin: 0; color: var(--rp-text); font-size: .96rem; font-weight: 850; }
.reportes-panel__submenu-head p { margin: .18rem 0 0; color: var(--rp-muted); font-size: .78rem; }
.reportes-panel__intro { display: grid; min-height: 178px; padding: 2.4rem 1rem; place-content: center; color: var(--rp-muted); text-align: center; }
.reportes-panel__intro i { display: block; margin-bottom: .55rem; color: var(--rp-primary); font-size: 2rem; }
.reportes-panel__intro strong { display: block; color: var(--rp-text); font-size: .9rem; }
.reportes-panel__intro small { margin-top: .2rem; font-size: .76rem; }
.reportes-panel__link { display: flex; align-items: center; gap: .75rem; padding: .88rem 1rem; border-bottom: 1px solid var(--rp-border); color: var(--rp-text); text-decoration: none; transition: background .16s ease; }
.reportes-panel__link:last-child { border-bottom: 0; }
.reportes-panel__link:hover { background: var(--rp-primary-soft); color: var(--rp-primary); }
.reportes-panel__link-icon { display: grid; flex: 0 0 35px; width: 35px; height: 35px; place-items: center; border-radius: .65rem; background: rgba(var(--rp-rgb), .13); color: var(--rp-accent); font-size: 1.08rem; }
.reportes-panel__link-copy { flex: 1; min-width: 0; }
.reportes-panel__link-title { display: block; font-size: .85rem; font-weight: 800; }
.reportes-panel__link-desc { display: block; margin-top: .1rem; color: var(--rp-muted); font-size: .72rem; }
.reportes-panel__link-arrow { color: var(--rp-muted); font-size: 1rem; }
[data-bs-theme="dark"] .reportes-panel { --rp-panel: #0d1938; --rp-border: #263d6b; --rp-text: #edf4ff; --rp-muted: #aebbd4; --rp-primary-soft: rgba(22, 199, 220, .13); }

@media (max-width: 991.98px) {
  .venta-pos__salon-btn .venta-pos__salon-count {
    display: none !important;
  }

  .reportes-panel__categories {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    padding: .7rem;
  }

  .reportes-panel__category {
    min-width: 0;
    min-height: 54px;
    padding: .7rem .8rem;
  }

  .reportes-panel__category small {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .kpi-grid-tablet-2 > [class*="col-"] {
    flex: 0 0 auto;
    width: 50%;
  }
}

@media (max-width: 575.98px) {
  .inventario-page-header > .d-flex {
    width: 100%;
  }

  .inventario-page-header__actions {
    width: 100%;
    justify-content: stretch;
  }

  .inventario-page-header__actions > .btn,
  .inventario-page-header__actions > .dropdown,
  .inventario-page-header__actions > .dropdown > .btn {
    flex: 1 1 0;
  }

  .inventario-page-header__actions > .btn,
  .inventario-page-header__actions > .dropdown > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    line-height: 1;
    white-space: nowrap;
  }

  .inventario-page-header__actions .btn > i {
    line-height: 1;
  }

  .inventario-filtros {
    flex-wrap: nowrap;
  }

  .inventario-filtros__buscador {
    flex: 1 1 auto;
    width: auto;
  }

  .inventario-filtros__columnas {
    flex: 0 0 auto;
    width: auto;
    text-align: start;
  }

  .inventario-filtros__columnas .btn {
    min-height: 38px;
    white-space: nowrap;
  }

  .reportes-panel__head {
    align-items: flex-start;
  }

  .reportes-panel__category {
    min-height: 52px;
    padding: .65rem .75rem;
  }

  .reportes-panel__categories {
    grid-template-columns: 1fr;
  }

  .reportes-panel__intro {
    min-height: 145px;
    padding: 1.8rem 1rem;
  }
}

/* ===================== POS / VENTAS ===================== */
.venta-pos {
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 16px;
  overflow: hidden;
}
.venta-pos__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bs-border-color);
}
.venta-pos__eyebrow {
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.venta-pos__tabs {
  display: flex;
  align-items: stretch;
  gap: 4px;
  overflow-x: auto;
  padding: 0 12px;
  border-bottom: 1px solid var(--bs-border-color);
}
.venta-pos__tab {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  min-height: 58px;
  padding: 0 12px;
  color: var(--bs-secondary-color);
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  font-weight: 600;
  transition: all 0.2s ease;
}
.venta-pos__tab:hover,
.venta-pos__tab.active {
  color: var(--color-primary);
}
.venta-pos__tab.active {
  border-bottom-color: var(--color-primary);
}
.venta-pos__tab i {
  font-size: 19px;
}
.venta-pos__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 99px;
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
  font-size: 12px;
}
.venta-pos__tab.active .venta-pos__count {
  background: var(--color-primary);
  color: #fff;
}

/* Las pestañas de producto comparten el patrón táctil del POS. */
#modalGruposComentarios {
  z-index: 1070;
}
#modalGruposVariacion {
  z-index: 1070;
}
#modalGruposModificador {
  z-index: 1070;
}
.swal2-container {
  z-index: 1080;
}
.atencion-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.48rem;
  border: 1px solid transparent;
  border-radius: 0.38rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: uppercase;
}
.atencion-mesa {
  color: #0a62ca;
  border-color: rgba(22, 133, 255, 0.34);
  background: rgba(22, 133, 255, 0.13);
}
.atencion-llevar {
  color: #087e69;
  border-color: rgba(20, 184, 151, 0.35);
  background: rgba(20, 184, 151, 0.13);
}
.atencion-delivery {
  color: #bc5d0b;
  border-color: rgba(244, 139, 44, 0.36);
  background: rgba(244, 139, 44, 0.14);
}
.atencion-rapida {
  color: #8a6100;
  border-color: rgba(245, 183, 28, 0.42);
  background: rgba(245, 183, 28, 0.17);
}
.atencion-autoservicio {
  color: #7041c7;
  border-color: rgba(151, 102, 241, 0.36);
  background: rgba(151, 102, 241, 0.14);
}
.atencion-reserva {
  color: #c43778;
  border-color: rgba(232, 86, 149, 0.36);
  background: rgba(232, 86, 149, 0.14);
}
.atencion-general {
  color: var(--bs-secondary-color);
  border-color: var(--bs-border-color);
  background: var(--bs-secondary-bg);
}
[data-bs-theme="dark"] .atencion-mesa {
  color: #77aeff;
  border-color: rgba(99, 164, 255, 0.5);
  background: rgba(40, 115, 240, 0.18);
}
[data-bs-theme="dark"] .atencion-llevar {
  color: #57ddbd;
  border-color: rgba(81, 220, 186, 0.46);
  background: rgba(20, 184, 151, 0.17);
}
[data-bs-theme="dark"] .atencion-delivery {
  color: #ffb36e;
  border-color: rgba(255, 174, 95, 0.46);
  background: rgba(244, 139, 44, 0.18);
}
[data-bs-theme="dark"] .atencion-rapida {
  color: #ffe083;
  border-color: rgba(255, 222, 124, 0.44);
  background: rgba(245, 183, 28, 0.18);
}
[data-bs-theme="dark"] .atencion-autoservicio {
  color: #c4a1ff;
  border-color: rgba(196, 161, 255, 0.44);
  background: rgba(151, 102, 241, 0.18);
}
[data-bs-theme="dark"] .atencion-reserva {
  color: #ff9bc9;
  border-color: rgba(255, 155, 201, 0.44);
  background: rgba(232, 86, 149, 0.18);
}
#modalFormProd .producto-modal__tabs {
  padding: 0;
  margin-bottom: 1rem !important;
}

#modalFormProd .producto-modal__tabs .venta-pos__tab {
  min-height: 48px;
  padding: 0 0.85rem;
}

.list-aju-prod {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 0;
}

.list-aju-prod .list-inline-item {
  margin: 0;
}

.list-aju-prod .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.48rem 0.75rem;
  line-height: 1.2;
  white-space: nowrap;
}

/* ===== CARTA DIGITAL / CONFIGURACIÓN ===== */
.carta-configuracion .list-group-item {
  color: var(--bs-body-color);
  background: transparent;
  border-color: var(--bs-border-color);
}

/* Proveedores de consulta DNI/RUC dentro de Configuración de plataforma. */
#acordeonProveedoresConsulta .accordion-item {
  overflow: hidden;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  border-color: var(--bs-border-color);
}

#acordeonProveedoresConsulta .accordion-button {
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  box-shadow: none;
  font-weight: 700;
}

#acordeonProveedoresConsulta .accordion-button:not(.collapsed) {
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
  box-shadow: inset 0 -1px 0 var(--bs-border-color);
}

#acordeonProveedoresConsulta .accordion-body {
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
}

[data-bs-theme="dark"] #acordeonProveedoresConsulta .accordion-item {
  background: #071126;
  border-color: #2b3d70;
}

[data-bs-theme="dark"] #acordeonProveedoresConsulta .accordion-button {
  color: #e8edff;
  background: #0a1630;
}

[data-bs-theme="dark"]
  #acordeonProveedoresConsulta
  .accordion-button:not(.collapsed) {
  color: #7bc6ff;
  background: #102550;
  box-shadow: inset 0 -1px 0 #2b3d70;
}

[data-bs-theme="dark"] #acordeonProveedoresConsulta .accordion-body {
  background: #071126;
}

[data-bs-theme="dark"] #acordeonProveedoresConsulta .accordion-button::after {
  filter: brightness(0) invert(1);
}

.carta-configuracion .card-footer,
.qr-mesas-configuracion .card-footer {
  background: var(--bs-tertiary-bg);
  border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .carta-configuracion .card-footer,
[data-bs-theme="dark"] .qr-mesas-configuracion .card-footer {
  background: #0a1630;
  border-color: #2b3d70;
}

.carta-digital-qr-card__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 17px;
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 14%, transparent);
  font-size: 30px;
}

.carta-digital-qr {
  display: grid;
  width: min(230px, 100%);
  aspect-ratio: 1;
  place-items: center;
  padding: 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 18px;
  background: #fff;
}

.carta-digital-qr img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 575.98px) {
  .carta-configuracion .list-group-item > span:first-child {
    max-width: calc(100% - 58px);
  }
}

@media (max-width: 767.98px) {
  .list-aju-prod {
    flex-wrap: nowrap;
    gap: 0.6rem;
    padding: 0.2rem 0 0.65rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .list-aju-prod .list-inline-item {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .list-aju-prod .btn {
    padding: 0.55rem 0.8rem;
    font-size: 0.8rem;
    line-height: 1.2;
  }
}

@media (max-width: 767.98px) {
  #modalFormProd .modal-dialog {
    width: auto;
    max-width: none;
    margin: 0.5rem;
  }

  #modalFormProd .modal-body {
    padding: 0.9rem;
  }

  #modalFormProd .modal-body > form > .row > .col-lg-5 {
    padding-bottom: 0.85rem;
    margin-bottom: 0.9rem;
    border-right: 0 !important;
    border-bottom: 1px solid var(--bs-border-color);
  }

  #modalFormProd .producto-modal__tabs {
    gap: 0.45rem;
    padding-bottom: 0.15rem;
    margin-right: -0.1rem;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  #modalFormProd .producto-modal__tabs .venta-pos__tab {
    flex: 1 0 auto;
    min-height: 44px;
    padding: 0.5rem 0.7rem;
    font-size: 0.76rem;
    white-space: nowrap;
  }

  #modalFormProd
    #panel-detalles-prod
    .d-flex.align-items-center.justify-content-between,
  #modalFormProd #panel-variaciones-prod .border > .d-flex,
  #modalFormProd #panel-extras-prod .border > .d-flex {
    align-items: stretch !important;
    flex-wrap: wrap;
  }

  #modalFormProd
    #panel-detalles-prod
    .d-flex.align-items-center.justify-content-between
    > .btn,
  #modalFormProd #panel-variaciones-prod .border > .d-flex > div:last-child,
  #modalFormProd #panel-extras-prod .border > .d-flex > div:last-child {
    width: 100%;
  }

  #modalFormProd #panel-variaciones-prod .border > .d-flex > div:last-child,
  #modalFormProd #panel-extras-prod .border > .d-flex > div:last-child {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }

  #modalFormProd
    #panel-variaciones-prod
    .border
    > .d-flex
    > div:last-child
    .btn,
  #modalFormProd #panel-extras-prod .border > .d-flex > div:last-child .btn,
  #modalFormProd
    #panel-detalles-prod
    .d-flex.align-items-center.justify-content-between
    > .btn {
    min-height: 42px;
  }

  #modalFormProd .modal-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    padding: 0.8rem 0.9rem;
  }

  #modalFormProd .modal-footer .btn {
    width: 100%;
    min-height: 44px;
  }
}

@media (max-width: 399.98px) {
  #modalFormProd .producto-modal__tabs .venta-pos__tab {
    font-size: 0.72rem;
    padding: 0.45rem 0.55rem;
  }

  #modalFormProd #panel-detalles-prod .input-group {
    flex-wrap: wrap;
  }

  #modalFormProd #panel-detalles-prod .input-group .form-control {
    min-width: 100%;
    border-radius: var(--bs-border-radius);
  }

  #modalFormProd #panel-detalles-prod .input-group .btn {
    width: 100%;
    min-height: 42px;
    margin-top: 0.45rem;
    border-radius: var(--bs-border-radius);
  }

  /* Los precios siempre deben conservar símbolo e importe en una sola fila. */
  #modalFormProd #panel-detalles-prod .grupo-precios-producto .input-group {
    flex-wrap: nowrap;
  }

  #modalFormProd
    #panel-detalles-prod
    .grupo-precios-producto
    .input-group
    .form-control {
    min-width: 0;
    border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
  }
}

/* Tablas configurables del producto: conservan campos cómodos para edición táctil. */
#modalFormProd .producto-modal__tabla-responsive {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}

#modalFormProd #tableVariacionesProd {
  min-width: 790px;
}

#modalFormProd #tableExtrasProd {
  min-width: 710px;
}

#modalFormProd #tableVariacionesProd .variacion-descripcion {
  min-width: 180px;
}

#modalFormProd #tableVariacionesProd .input-group {
  min-width: 140px;
  flex-wrap: nowrap;
}

#modalFormProd #tableVariacionesProd .variacion-factor-consumo {
  min-width: 135px;
}

#modalFormProd #tableVariacionesProd .variacion-estado,
#modalFormProd #tableExtrasProd .extra-estado {
  min-width: 90px;
}

#modalFormProd #tableExtrasProd .extra-descripcion {
  min-width: 215px;
}

#modalFormProd #tableExtrasProd .input-group {
  min-width: 155px;
  flex-wrap: nowrap;
}

.producto-modal__badge-grupo {
  display: inline-flex;
  align-items: center;
  max-width: 145px;
  gap: 0.28rem;
  padding: 0.28rem 0.45rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-primary) 72%, #fff);
  border-radius: 999px;
  background: var(--color-primary);
  color: #fff;
  font-size: 0.69rem;
  font-weight: 800;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.producto-modal__badge-grupo i {
  flex: 0 0 auto;
  font-size: 0.82rem;
}

.producto-modal__badge-grupo--propio {
  border-color: var(--bs-border-color);
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
}

@media (max-width: 767.98px) {
  #modalFormProd .producto-modal__tabla-responsive {
    margin-inline: -0.25rem;
    padding-bottom: 0.35rem;
  }

  #modalFormProd .producto-modal__tabla-configurable th,
  #modalFormProd .producto-modal__tabla-configurable td {
    padding: 0.45rem 0.35rem;
    white-space: nowrap;
  }
}
.venta-pos__content {
  min-height: 560px;
}
.venta-pos__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 0 20px;
  border-bottom: 1px solid var(--bs-border-color);
}
.venta-pos__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 13px;
}
.venta-pos__legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.venta-pos__legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.venta-pos__legend-dot.disponible {
  background: #28c98b;
}
.venta-pos__legend-dot.ocupada {
  background: #dc3545;
}
.venta-pos__legend-dot.precuenta {
  background: #3d8bfd;
}
.venta-pos__layout {
  display: flex;
  min-height: 500px;
}
.venta-pos__salones {
  width: 210px;
  flex: 0 0 210px;
  border-right: 1px solid var(--bs-border-color);
}
.venta-pos__salones-title {
  padding: 15px 16px 10px;
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.venta-pos__salones-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0 10px 12px;
}
.venta-pos__salon-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 11px 10px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--bs-body-color);
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  transition: all 0.2s ease;
}
.venta-pos__salon-btn:hover {
  background: var(--bs-secondary-bg);
}
.venta-pos__salon-btn.active {
  background: var(--color-primary);
  color: #fff;
}
.venta-pos__salon-btn strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 25px;
  height: 23px;
  padding: 0 6px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.16);
  font-size: 12px;
}
.venta-pos__mesas-area {
  flex: 1;
  min-width: 0;
  padding: 20px;
}
.venta-pos__mesas-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 18px;
}
.venta-pos__mesas-heading small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.venta-pos__mesas-quantity {
  padding: 5px 10px;
  border-radius: 20px;
  background: var(--bs-secondary-bg);
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 600;
}
.venta-pos__mesas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(145px, 1fr));
  gap: 12px;
}
.venta-pos__mesa-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 126px;
  padding: 13px;
  border: 1px solid;
  border-radius: 12px;
  text-align: left;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease;
}
.venta-pos__mesa-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
.venta-pos__mesa-card.disponible {
  background: rgba(40, 201, 139, 0.11);
  border-color: rgba(40, 201, 139, 0.75);
  color: var(--bs-body-color);
}
.venta-pos__mesa-card.ocupada {
  background: rgba(220, 53, 69, 0.12);
  border-color: rgba(220, 53, 69, 0.78);
  color: var(--bs-body-color);
}
.venta-pos__mesa-card.precuenta {
  background: rgba(61, 139, 253, 0.11);
  border-color: rgba(61, 139, 253, 0.78);
  color: var(--bs-body-color);
}
.venta-pos__mesa-card.unida {
  background: rgba(255, 193, 7, 0.1);
  border-color: rgba(255, 193, 7, 0.75);
  border-style: dashed;
  color: var(--bs-body-color);
}
.venta-pos__mesa-name {
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
}
.venta-pos__mesa-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 7px;
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.15;
}
.venta-pos__mesa-info > span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.venta-pos__mesa-info i {
  font-size: 14px;
}
.venta-pos__mesa-status {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  color: #159767;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.venta-pos__mesa-status strong {
  font-size: 14px;
  letter-spacing: 0;
}
.venta-pos__mesa-status small {
  font-size: 10px;
  font-weight: 800;
}
.venta-pos__mesa-card.ocupada .venta-pos__mesa-status {
  color: #d82f40;
}
.venta-pos__mesa-card.precuenta .venta-pos__mesa-status {
  color: #216fe6;
}
.venta-pos__mesa-card.unida .venta-pos__mesa-status {
  color: #b57d00;
}
.venta-pos__loading,
.venta-pos__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  color: var(--bs-secondary-color);
  font-size: 13px;
  text-align: center;
}
.venta-pos__empty {
  grid-column: 1/-1;
  flex-direction: column;
  gap: 8px;
  border: 1px dashed var(--bs-border-color);
  border-radius: 12px;
}
.venta-pos__empty i {
  font-size: 28px;
}
.venta-pos__coming {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 500px;
  padding: 30px;
  color: var(--bs-secondary-color);
  text-align: center;
}
.venta-pos__coming > i {
  margin-bottom: 12px;
  color: var(--color-primary);
  font-size: 42px;
}
.venta-pos__rapida {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 500px;
  padding: 30px;
  text-align: center;
}
.venta-pos__rapida-main {
  width: min(100%, 560px);
  padding: 34px 30px 28px;
  border: 1px solid var(--bs-border-color);
  border-radius: 22px;
  background: linear-gradient(
    145deg,
    rgba(13, 110, 253, 0.1),
    var(--bs-tertiary-bg)
  );
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
}
.venta-pos__rapida-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  margin-bottom: 16px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), #04a9bb);
  font-size: 39px;
  box-shadow: 0 10px 22px rgba(13, 110, 253, 0.25);
}
.venta-pos__rapida h4 {
  font-size: 25px;
  font-weight: 800;
}
.venta-pos__rapida-main > p:not(.venta-pos__eyebrow) {
  max-width: 385px;
  margin: 9px auto 22px;
  color: var(--bs-secondary-color);
  font-size: 14px;
  line-height: 1.55;
}
.venta-pos__rapida-btn {
  width: min(100%, 330px);
  min-height: 60px;
  border-radius: 13px;
  font-size: 17px;
  font-weight: 800;
}
.venta-pos__rapida-mode {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding: 7px 10px;
  border-radius: 18px;
  background: rgba(13, 110, 253, 0.1);
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 700;
}
.venta-pos__rapida-mode.produccion {
  background: rgba(255, 193, 7, 0.13);
  color: #b77a00;
}
.venta-pos__rapida-hints {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  margin-top: 20px;
  color: var(--bs-secondary-color);
  font-size: 12px;
}
.venta-pos__rapida-hints span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.venta-pos__rapida-hints i {
  color: var(--color-primary);
  font-size: 15px;
}
.venta-pos__rapida-pendientes {
  width: min(100%, 760px);
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--bs-border-color);
  text-align: left;
}
.venta-pos__rapida-pendientes-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 800;
}
.venta-pos__rapida-pendientes-head span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.venta-pos__rapida-pendientes-head i {
  color: var(--color-primary);
  font-size: 16px;
}
.venta-pos__rapida-pendientes-head strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 25px;
  height: 25px;
  padding: 0 8px;
  border-radius: 20px;
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
  font-size: 12px;
}
.venta-pos__rapida-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 9px;
}
.venta-pos__rapida-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 66px;
  padding: 10px 11px;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
  text-align: left;
  transition:
    border-color 0.15s ease,
    transform 0.15s ease;
}
.venta-pos__rapida-card:hover {
  border-color: var(--color-primary);
  transform: translateY(-1px);
}
.venta-pos__rapida-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(13, 110, 253, 0.12);
  color: var(--color-primary);
  font-size: 18px;
}
.venta-pos__rapida-card-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.venta-pos__rapida-card-main small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
}
.venta-pos__rapida-card-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.venta-pos__rapida-card-total {
  color: var(--color-primary);
  font-size: 15px;
  font-weight: 800;
}
.venta-pos__rapida-card-state {
  position: absolute;
  right: 10px;
  bottom: 5px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: #b77a00;
}
.venta-pos__rapida-card-state.confirmado {
  color: #198754;
}
.venta-pos__rapida-empty {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--bs-secondary-color);
  font-size: 12px;
}
.venta-pos__rapida-empty i {
  color: #198754;
  font-size: 16px;
}
.venta-pos__llevar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 102px;
  padding: 20px;
  border-bottom: 1px solid var(--bs-border-color);
}
.venta-pos__llevar-toolbar h6 {
  font-size: 18px;
  font-weight: 700;
}
.venta-pos__llevar-toolbar small {
  display: block;
  margin-top: 4px;
  font-size: 13px;
}
.venta-pos__llevar-new {
  min-height: 42px;
  padding-inline: 16px;
  white-space: nowrap;
}
.venta-pos__llevar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
  padding: 20px;
}
.venta-pos__llevar-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 185px;
  padding: 16px;
  overflow: hidden;
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 13px;
  text-align: left;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease;
}
.venta-pos__llevar-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-primary);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}
.venta-pos__llevar-card:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.venta-pos__llevar-card-status {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 20px;
  background: rgba(61, 139, 253, 0.13);
  color: #2677df;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.venta-pos__llevar-card-status.precuenta {
  background: rgba(61, 139, 253, 0.15);
  color: #2677df;
}
.venta-pos__llevar-card-status.listo {
  background: rgba(25, 135, 84, 0.14);
  color: #198754;
}
.venta-pos__llevar-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-right: 82px;
}
.venta-pos__llevar-card-icon,
.venta-pos__llevar-modal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: var(--color-primary);
  background: rgba(13, 110, 253, 0.12);
  font-size: 20px;
}
.venta-pos__llevar-card-head div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.venta-pos__llevar-card-head small {
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.venta-pos__llevar-card-head strong {
  overflow: hidden;
  margin-top: 2px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.venta-pos__llevar-card-data {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 18px;
  color: var(--bs-secondary-color);
  font-size: 12px;
}
.venta-pos__llevar-card-data span {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.venta-pos__llevar-card-data i {
  flex: 0 0 auto;
  color: var(--color-primary);
  font-size: 15px;
}
.venta-pos__llevar-card-data em {
  font-style: normal;
}
.venta-pos__llevar-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed var(--bs-border-color);
}
.venta-pos__llevar-card-footer small {
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 600;
}
.venta-pos__llevar-card-footer strong {
  color: var(--color-primary);
  font-size: 17px;
}
.venta-pos__llevar-card-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.venta-pos__llevar-card-actions .btn {
  flex: 1 1 0;
  min-height: 34px;
  font-weight: 700;
}
.venta-pos__llevar-card-cobro {
  display: block;
  margin-top: 12px;
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 700;
}
.venta-pos__llevar-card-cobro i {
  color: var(--color-primary);
}
.venta-pos__llevar-empty {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 330px;
  gap: 8px;
  padding: 30px;
  color: var(--bs-secondary-color);
  border: 1px dashed var(--bs-border-color);
  border-radius: 13px;
  text-align: center;
}
.venta-pos__llevar-empty > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 4px;
  border-radius: 50%;
  color: var(--color-primary);
  background: rgba(13, 110, 253, 0.12);
  font-size: 28px;
}
.venta-pos__llevar-empty strong {
  color: var(--bs-body-color);
  font-size: 16px;
}
.venta-pos__llevar-empty small {
  font-size: 13px;
}
.venta-pos__llevar-empty .btn {
  margin-top: 8px;
}
.venta-pos__llevar-modal .modal-body {
  padding: 26px;
}
.venta-pos__llevar-modal-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
  font-size: 25px;
}
.venta-pos__llevar-modal-text {
  max-width: 390px;
  margin-bottom: 20px;
  color: var(--bs-secondary-color);
  font-size: 13px;
  line-height: 1.5;
}
.venta-pos__delivery-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 102px;
  padding: 20px;
  border-bottom: 1px solid var(--bs-border-color);
}
.venta-pos__delivery-toolbar h6 {
  font-size: 18px;
  font-weight: 700;
}
.venta-pos__delivery-toolbar small {
  display: block;
  margin-top: 4px;
  font-size: 13px;
}
.venta-pos__delivery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
.venta-pos__delivery-filters .form-select {
  width: min(100%, 230px);
  min-height: 38px;
  font-size: 13px;
}
.venta-pos__delivery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(286px, 1fr));
  gap: 14px;
  padding: 20px;
}
.venta-pos__delivery-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: 16px;
  overflow: hidden;
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
  border-top: 3px solid var(--delivery-canal-color, #f08a24);
  border-radius: 13px;
  text-align: left;
  cursor: pointer;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease;
}
.venta-pos__delivery-card:hover {
  transform: translateY(-2px);
  border-color: var(--delivery-canal-color, #f08a24);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}
.venta-pos__delivery-card.is-late {
  border-color: #dc3545;
  box-shadow: inset 0 0 0 1px rgba(220, 53, 69, 0.18);
}
.venta-pos__delivery-card:focus-visible {
  outline: 2px solid var(--delivery-canal-color, #f08a24);
  outline-offset: 2px;
}
.venta-pos__delivery-card-status {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 20px;
  background: rgba(13, 110, 253, 0.13);
  color: #2677df;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.venta-pos__delivery-card-status.listo {
  background: rgba(25, 135, 84, 0.14);
  color: #198754;
}
.venta-pos__delivery-card-status.en_camino {
  background: rgba(245, 158, 11, 0.16);
  color: #b86d00;
}
.venta-pos__delivery-card-status.confirmado {
  background: rgba(13, 110, 253, 0.14);
  color: #0d6efd;
}
.venta-pos__delivery-card-status.cancelado {
  background: rgba(220, 53, 69, 0.14);
  color: #dc3545;
}
.venta-pos__delivery-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-right: 100px;
}
.venta-pos__delivery-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: var(--delivery-canal-color, #f08a24);
  background: color-mix(
    in srgb,
    var(--delivery-canal-color, #f08a24) 14%,
    transparent
  );
  font-size: 20px;
}
.venta-pos__delivery-card-head div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.venta-pos__delivery-card-head small {
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
}
.venta-pos__delivery-card-head strong {
  overflow: hidden;
  margin-top: 2px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.venta-pos__delivery-card-data {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 18px;
  color: var(--bs-secondary-color);
  font-size: 12px;
}
.venta-pos__delivery-card-data span {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.venta-pos__delivery-card-data i {
  flex: 0 0 auto;
  color: var(--delivery-canal-color, #f08a24);
  font-size: 15px;
}
.venta-pos__delivery-card-data em {
  font-style: normal;
}
.venta-pos__delivery-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed var(--bs-border-color);
}
.venta-pos__delivery-card-footer small {
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 600;
}
.venta-pos__delivery-card-footer strong {
  color: var(--delivery-canal-color, #f08a24);
  font-size: 17px;
}
.venta-pos__delivery-card-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.venta-pos__delivery-card-actions .btn {
  flex: 1 1 0;
  min-height: 34px;
  font-weight: 700;
}
.venta-pos__delivery-card-actions [data-accion-delivery="CONFIRMAR"] {
  padding: 0;
}
.venta-pos__delivery-card-note {
  display: block;
  margin-top: 12px;
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 700;
}
.venta-pos__delivery-card-note i {
  color: var(--delivery-canal-color, #f08a24);
}
.venta-pos__delivery-history-modal .modal-body {
  padding: 0;
  background: var(--bs-body-bg);
}
.venta-pos__delivery-history-list {
  padding: 18px 20px;
}
.venta-pos__delivery-history-item {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  padding: 0 0 18px;
}
.venta-pos__delivery-history-item:not(:last-child)::before {
  position: absolute;
  top: 34px;
  bottom: 0;
  left: 18px;
  width: 1px;
  background: var(--bs-border-color);
  content: "";
}
.venta-pos__delivery-history-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid
    color-mix(in srgb, var(--bs-primary) 38%, var(--bs-border-color));
  border-radius: 50%;
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 12%, transparent);
  font-size: 17px;
}
.venta-pos__delivery-history-content {
  min-width: 0;
  padding-top: 3px;
}
.venta-pos__delivery-history-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.venta-pos__delivery-history-head strong {
  color: var(--bs-body-color);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.venta-pos__delivery-history-head time {
  color: var(--bs-secondary-color);
  font-size: 11px;
  line-height: 1.3;
  text-align: right;
  white-space: nowrap;
}
.venta-pos__delivery-history-content p {
  margin: 5px 0 0;
  color: var(--bs-secondary-color);
  font-size: 12px;
  line-height: 1.45;
}
.venta-pos__delivery-history-content p span {
  color: var(--bs-body-color);
  font-weight: 600;
}
.venta-pos__delivery-final-modal .modal-body {
  padding: 20px;
}
.venta-pos__delivery-final-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  background: var(--bs-tertiary-bg);
}
.venta-pos__delivery-final-state {
  grid-column: 1/-1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.venta-pos__delivery-final-state.entregado {
  color: #168a55;
  background: rgba(25, 135, 84, 0.13);
}
.venta-pos__delivery-final-state.cancelado {
  color: #c93245;
  background: rgba(220, 53, 69, 0.12);
}
.venta-pos__delivery-final-summary div {
  min-width: 0;
}
.venta-pos__delivery-final-summary small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.venta-pos__delivery-final-summary strong {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: var(--bs-body-color);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.venta-pos__delivery-final-items {
  margin-top: 14px;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  overflow: hidden;
}
.venta-pos__delivery-final-items-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
.venta-pos__delivery-final-items-head strong {
  font-size: 13px;
}
.venta-pos__delivery-final-items-head small {
  color: var(--bs-secondary-color);
  font-size: 11px;
}
.venta-pos__delivery-final-items article {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 8px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--bs-border-color);
}
.venta-pos__delivery-final-items article:last-child {
  border-bottom: 0;
}
.venta-pos__delivery-final-items article > span {
  color: var(--bs-primary);
  font-size: 12px;
  font-weight: 800;
}
.venta-pos__delivery-final-items article div {
  min-width: 0;
}
.venta-pos__delivery-final-items article strong {
  display: block;
  color: var(--bs-body-color);
  font-size: 12px;
  line-height: 1.3;
}
.venta-pos__delivery-final-items article small {
  display: block;
  margin-top: 3px;
  color: var(--bs-secondary-color);
  font-size: 10px;
  line-height: 1.3;
}
.venta-pos__delivery-final-items article b {
  align-self: start;
  color: var(--bs-body-color);
  font-size: 12px;
  white-space: nowrap;
}
.venta-pos__delivery-final-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding: 12px;
  border-top: 1px dashed var(--bs-border-color);
}
.venta-pos__delivery-final-total span {
  font-size: 14px;
  font-weight: 800;
}
.venta-pos__delivery-final-total strong {
  color: var(--bs-primary);
  font-size: 20px;
}
.venta-pos__delivery-final-note {
  margin: 5px 0 0;
  color: var(--bs-secondary-color);
  font-size: 11px;
  text-align: center;
}
.venta-pos__delivery-empty > span {
  color: #f08a24;
  background: rgba(240, 138, 36, 0.12);
}
.venta-pos__delivery-modal .modal-body {
  padding: 24px 26px 26px;
}
.venta-pos__delivery-modal-text {
  margin-bottom: 18px;
  color: var(--bs-secondary-color);
  font-size: 13px;
  line-height: 1.5;
}
.venta-pos__delivery-canales {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 8px;
}
.venta-pos__delivery-canal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  padding: 8px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  color: var(--bs-body-color);
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  transition: 0.16s ease;
}
.venta-pos__delivery-canal:hover,
.venta-pos__delivery-canal.active {
  color: var(--delivery-canal-color, #f08a24);
  border-color: var(--delivery-canal-color, #f08a24);
  background: color-mix(
    in srgb,
    var(--delivery-canal-color, #f08a24) 12%,
    transparent
  );
}
.venta-pos__delivery-canal i {
  font-size: 17px;
}
.venta-pos__mesa-empty-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 6px 8px;
  text-align: center;
}
.venta-pos__mesa-empty-description {
  max-width: 360px;
  font-size: 12px;
  line-height: 1.45;
}
.venta-pos__mesa-inicio-form {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(170px, 0.85fr);
  align-items: end;
  width: 100%;
  gap: 14px;
  margin-top: 20px;
  text-align: left;
}
.venta-pos__mesa-inicio-form .form-label {
  margin-bottom: 7px;
  font-size: 12px;
  font-weight: 700;
}
.venta-pos__mesa-inicio-form .form-select {
  min-height: 46px;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  border-radius: 9px;
  font-weight: 600;
}
.venta-pos__mesa-form-personas--unica {
  grid-column: 1/-1;
  max-width: 230px;
  justify-self: center;
}
.venta-pos__modal-header {
  align-items: center;
  gap: 12px;
}
.venta-pos__modal-heading {
  min-width: 0;
  flex: 1 1 auto;
}
.venta-pos__modal-heading > small {
  display: block;
  margin-bottom: 2px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.venta-pos__modal-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
}
.venta-pos__modal-title-row .modal-title {
  margin: 0;
  white-space: nowrap;
}
.venta-pos__modal-pedido {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding-left: 10px;
  border-left: 1px solid var(--bs-border-color);
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.venta-pos__modal-pedido strong {
  color: var(--bs-body-color);
  font-size: 13px;
}
.venta-pos__modal-pedido .badge {
  font-size: 9px;
  letter-spacing: 0.03em;
}
.venta-pos__modal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 13px;
  border-radius: 50%;
  font-size: 28px;
}
.venta-pos__modal-icon.disponible {
  background: rgba(40, 201, 139, 0.15);
  color: #159767;
}
.venta-pos__quantity-stepper {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  min-height: 46px;
  border-radius: 9px;
  background: var(--bs-body-bg);
}
.venta-pos__quantity-stepper:focus-within {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.15);
}
.venta-pos__quantity-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 44px;
  flex: 0 0 48px;
  border: 0;
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.venta-pos__quantity-btn:hover {
  background: var(--color-primary);
  color: #fff;
}
.venta-pos__quantity-stepper .form-control {
  min-width: 0;
  height: 44px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  color: var(--bs-body-color);
  font-weight: 700;
  text-align: center;
}
.venta-pos__pedido-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
}
.venta-pos__pedido-summary strong {
  font-size: 23px;
}
.venta-pos__pedido-summary small {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
}
.venta-pos__pedido-data {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 17px;
  padding: 15px 3px 7px;
  font-size: 13px;
}
.venta-pos__pedido-data span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.venta-pos__pedido-data i {
  color: var(--color-primary);
  font-size: 16px;
}
.venta-pos__unir-current {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  margin-bottom: 18px;
}
.venta-pos__unir-current > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.venta-pos__unir-current small,
.venta-pos__unir-title small {
  color: var(--bs-secondary-color);
  font-size: 11px;
}
.venta-pos__unir-chips {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
.venta-pos__unir-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  background: var(--bs-secondary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.venta-pos__unir-chip i {
  color: var(--color-primary);
}
.venta-pos__unir-chip small {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}
.venta-pos__unir-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 2px;
  padding: 0;
  color: #dc3545;
  background: transparent;
  border: 0;
  border-radius: 50%;
}
.venta-pos__unir-chip-remove:hover {
  color: #fff;
  background: #dc3545;
}
.venta-pos__unir-chip-remove i {
  color: inherit;
  font-size: 14px;
}
.venta-pos__unir-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}
.venta-pos__unir-title > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.venta-pos__unir-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 10px;
  max-height: 330px;
  overflow: auto;
  padding: 2px;
}
.venta-pos__unir-mesa {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 5px 8px;
  min-height: 76px;
  padding: 11px;
  text-align: left;
  color: var(--bs-body-color);
  background: transparent;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  transition: 0.16s ease;
}
.venta-pos__unir-mesa:hover,
.venta-pos__unir-mesa.selected {
  border-color: var(--color-primary);
  background: rgba(var(--bs-primary-rgb), 0.1);
}
.venta-pos__unir-mesa i {
  grid-row: span 2;
  color: var(--color-primary);
  font-size: 20px;
}
.venta-pos__unir-mesa span {
  font-weight: 800;
}
.venta-pos__unir-mesa small {
  color: var(--bs-secondary-color);
  font-size: 10px;
}
.venta-pos__mover-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 17px;
  padding: 10px 12px;
  color: var(--bs-secondary-color);
  background: var(--bs-secondary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
  font-size: 12px;
}
.venta-pos__mover-note i {
  color: var(--color-primary);
  font-size: 18px;
}
.venta-pos__mover-section {
  margin-bottom: 20px;
}
.venta-pos__mover-destinos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
  gap: 9px;
  max-height: 185px;
  overflow: auto;
  padding: 2px;
}
.venta-pos__mover-destino {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 4px 9px;
  min-height: 70px;
  padding: 10px;
  text-align: left;
  color: var(--bs-body-color);
  background: transparent;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  transition: 0.16s ease;
}
.venta-pos__mover-destino:hover,
.venta-pos__mover-destino.selected {
  color: var(--bs-body-color);
  background: rgba(var(--bs-primary-rgb), 0.1);
  border-color: var(--color-primary);
}
.venta-pos__mover-destino > i {
  grid-row: span 2;
  color: var(--color-primary);
  font-size: 20px;
}
.venta-pos__mover-destino span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  font-weight: 800;
}
.venta-pos__mover-destino small {
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 600;
}
.venta-pos__mover-destino strong {
  color: var(--bs-secondary-color);
  font-size: 10px;
}
.venta-pos__mover-detalles {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 330px;
  overflow: auto;
  padding: 2px;
}
.venta-pos__mover-detalle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
}
.venta-pos__mover-detalle.selected {
  border-color: var(--color-primary);
  background: rgba(var(--bs-primary-rgb), 0.07);
}
.venta-pos__mover-detalle > div:first-child {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 3px;
}
.venta-pos__mover-detalle strong {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.venta-pos__mover-detalle small {
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.venta-pos__mover-stepper {
  display: grid;
  grid-template-columns: 34px 38px 34px;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 8px;
}
.venta-pos__mover-stepper button {
  width: 34px;
  height: 34px;
  padding: 0;
  color: var(--bs-body-color);
  background: var(--bs-secondary-bg);
  border: 0;
}
.venta-pos__mover-stepper button:hover:not(:disabled) {
  color: #fff;
  background: var(--color-primary);
}
.venta-pos__mover-stepper button:disabled {
  opacity: 0.4;
}
.venta-pos__mover-stepper strong {
  overflow: visible;
  text-align: center;
  font-size: 13px;
}
.venta-pos__pedido-detalles {
  margin-top: 8px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  overflow: hidden;
}
.venta-pos__pedido-detalles-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-secondary-bg);
  font-size: 13px;
}
.venta-pos__pedido-detalles-header i {
  color: var(--color-primary);
  font-size: 16px;
}
.venta-pos__pedido-detalles-header small {
  color: var(--bs-secondary-color);
  font-size: 10px;
}
.venta-pos__pedido-detalles-list {
  max-height: 185px;
  overflow-y: auto;
}
.venta-pos__pedido-detalle-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--bs-border-color);
}
.venta-pos__pedido-detalle-item:last-child {
  border-bottom: 0;
}
.venta-pos__pedido-detalle-cantidad {
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 31px;
  justify-content: center;
  padding: 2px 5px;
  border-radius: 5px;
  color: var(--color-primary);
  background: rgba(61, 139, 253, 0.12);
  font-size: 12px;
  font-weight: 800;
}
.venta-pos__pedido-detalle-item strong,
.venta-pos__pedido-detalle-item small {
  display: block;
}
.venta-pos__pedido-detalle-item strong {
  font-size: 12px;
  line-height: 1.25;
}
.venta-pos__pedido-detalle-info {
  min-width: 0;
  flex: 1 1 auto;
}
.venta-pos__pedido-detalle-linea {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.venta-pos__pedido-detalle-total {
  flex: 0 0 auto;
  color: var(--color-primary);
  white-space: nowrap;
}
.venta-pos__pedido-detalle-item small {
  margin-top: 2px;
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 600;
}
.venta-pos__pedido-detalle-comentario {
  color: var(--bs-body-color) !important;
}
.venta-pos__pedido-detalle-descuento {
  color: #c77f00;
  font-weight: 800;
}
.venta-pos__pedido-detalle-anular {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  color: #dc3545;
  background: rgba(220, 53, 69, 0.1);
}
.venta-pos__pedido-detalle-anular:hover {
  color: #fff;
  background: #dc3545;
}
.venta-pos__pedido-detalle-empty {
  padding: 14px 12px;
  color: var(--bs-secondary-color);
  font-size: 12px;
  text-align: center;
}
.venta-pos__comandas {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  background: var(--bs-secondary-bg);
}
.venta-pos__comandas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
}
.venta-pos__comandas-header i {
  color: var(--color-primary);
  font-size: 16px;
}
.venta-pos__comandas-header small {
  color: var(--bs-secondary-color);
  font-size: 10px;
}
.venta-pos__comandas-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.venta-pos__comanda-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 9px;
  border-radius: 7px;
  background: var(--bs-body-bg);
}
.venta-pos__comanda-item strong,
.venta-pos__comanda-item small {
  display: block;
}
.venta-pos__comanda-item strong {
  font-size: 12px;
}
.venta-pos__comanda-item .badge {
  vertical-align: middle;
  font-size: 9px;
}
.venta-pos__comanda-item small {
  margin-top: 2px;
  color: var(--bs-secondary-color);
  font-size: 10px;
}
.venta-pos__acciones-futuras {
  margin-top: 9px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--bs-secondary-bg);
  color: var(--bs-secondary-color);
  font-size: 12px;
}

[data-bs-theme="dark"] .venta-pos {
  background: #0c1536;
  border-color: #273158;
}
[data-bs-theme="dark"] .venta-pos__header,
[data-bs-theme="dark"] .venta-pos__tabs,
[data-bs-theme="dark"] .venta-pos__toolbar,
[data-bs-theme="dark"] .venta-pos__salones,
[data-bs-theme="dark"] .venta-pos__llevar-toolbar {
  border-color: #273158;
}
[data-bs-theme="dark"] .venta-pos__delivery-toolbar,
[data-bs-theme="dark"] .venta-pos__delivery-filters {
  border-color: #273158;
}
[data-bs-theme="dark"] .venta-pos__delivery-filters {
  background: #07132d;
}
[data-bs-theme="dark"] .venta-pos__delivery-card {
  background: #101b42;
  border-color: #2c3c70;
  color: #e8edff;
}
[data-bs-theme="dark"] .venta-pos__delivery-card:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}
[data-bs-theme="dark"] .venta-pos__delivery-card-footer {
  border-color: #2c3c70;
}
[data-bs-theme="dark"] .venta-pos__delivery-card-status.pendiente {
  background: rgba(38, 119, 223, 0.18);
  color: #78afff;
}
[data-bs-theme="dark"] .venta-pos__delivery-card-status.listo {
  background: rgba(54, 204, 132, 0.16);
  color: #64e7a5;
}
[data-bs-theme="dark"] .venta-pos__delivery-card-status.en_camino {
  background: rgba(245, 173, 54, 0.18);
  color: #ffd071;
}
[data-bs-theme="dark"] .venta-pos__delivery-card-status.confirmado {
  background: rgba(69, 137, 255, 0.2);
  color: #93bcff;
}
[data-bs-theme="dark"] .venta-pos__delivery-card-status.cancelado {
  background: rgba(227, 93, 106, 0.2);
  color: #ff8793;
}
[data-bs-theme="dark"] .venta-pos__delivery-card.is-late {
  border-color: #e35d6a;
  box-shadow: inset 0 0 0 1px rgba(227, 93, 106, 0.25);
}
[data-bs-theme="dark"] .venta-pos__delivery-history-modal {
  background: #050d22;
  border-color: #2a3b70;
  color: #edf2ff;
}
[data-bs-theme="dark"] .venta-pos__delivery-history-modal .modal-header,
[data-bs-theme="dark"] .venta-pos__delivery-history-modal .modal-body {
  background: #050d22;
  border-color: #2a3b70;
}
[data-bs-theme="dark"]
  .venta-pos__delivery-history-item:not(:last-child)::before {
  background: #2a3b70;
}
[data-bs-theme="dark"] .venta-pos__delivery-history-icon {
  border-color: #31518c;
  color: #80b8ff;
  background: #102952;
}
[data-bs-theme="dark"] .venta-pos__delivery-history-head strong,
[data-bs-theme="dark"] .venta-pos__delivery-history-content p span {
  color: #edf2ff;
}
[data-bs-theme="dark"] .venta-pos__delivery-history-head time,
[data-bs-theme="dark"] .venta-pos__delivery-history-content p {
  color: #aebddd;
}
[data-bs-theme="dark"] .venta-pos__delivery-final-modal {
  background: #050d22;
  border-color: #2a3b70;
  color: #edf2ff;
}
[data-bs-theme="dark"] .venta-pos__delivery-final-modal .modal-header,
[data-bs-theme="dark"] .venta-pos__delivery-final-modal .modal-body,
[data-bs-theme="dark"] .venta-pos__delivery-final-modal .modal-footer {
  background: #050d22;
  border-color: #2a3b70;
}
[data-bs-theme="dark"] .venta-pos__delivery-final-summary,
[data-bs-theme="dark"] .venta-pos__delivery-final-items,
[data-bs-theme="dark"] .venta-pos__delivery-final-items-head {
  border-color: #2a3b70;
  background: #0b1835;
}
[data-bs-theme="dark"] .venta-pos__delivery-final-items article {
  border-color: #2a3b70;
}
[data-bs-theme="dark"] .venta-pos__delivery-final-summary strong,
[data-bs-theme="dark"] .venta-pos__delivery-final-items article strong,
[data-bs-theme="dark"] .venta-pos__delivery-final-items article b {
  color: #edf2ff;
}
[data-bs-theme="dark"] .venta-pos__delivery-final-total {
  border-color: #2a3b70;
}
[data-bs-theme="dark"] .venta-pos__delivery-final-state.entregado {
  color: #72e5ad;
  background: rgba(54, 204, 132, 0.16);
}
[data-bs-theme="dark"] .venta-pos__delivery-final-state.cancelado {
  color: #ff91a0;
  background: rgba(227, 93, 106, 0.18);
}
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .modal-content {
  background: #050d22;
  border-color: #20345e;
  color: #e7efff;
}
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .modal-header,
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .modal-footer {
  background: #07132d;
  border-color: #20345e;
}
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .form-control,
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .form-select {
  background: #142a57;
  border-color: #2b4578;
  color: #e7efff;
}
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .form-control:focus,
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .form-select:focus {
  border-color: #1685ff;
  box-shadow: 0 0 0 0.2rem rgba(22, 133, 255, 0.18);
}
[data-bs-theme="dark"] #modalNuevoPedidoDelivery .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}
[data-bs-theme="dark"] .venta-pos__llevar-card {
  background: #101b42;
  border-color: #2c3c70;
}
[data-bs-theme="dark"] .venta-pos__rapida-main {
  background: linear-gradient(145deg, rgba(38, 119, 223, 0.18), #101b42);
  border-color: #2c3c70;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}
[data-bs-theme="dark"] .venta-pos__rapida-mode {
  background: rgba(78, 143, 255, 0.17);
  color: #8abbff;
}
[data-bs-theme="dark"] .venta-pos__rapida-mode.produccion {
  background: rgba(255, 193, 7, 0.14);
  color: #ffd567;
}
[data-bs-theme="dark"] .venta-pos__rapida-pendientes {
  border-color: #2c3c70;
}
[data-bs-theme="dark"] .venta-pos__rapida-pendientes-head strong {
  background: #151f45;
  color: #dce6ff;
}
[data-bs-theme="dark"] .venta-pos__rapida-card {
  background: #101b42;
  border-color: #2c3c70;
  color: #e8edff;
}
[data-bs-theme="dark"] .venta-pos__llevar-card:hover {
  border-color: #2677df;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}
[data-bs-theme="dark"] .venta-pos__llevar-card-footer,
[data-bs-theme="dark"] .venta-pos__llevar-empty {
  border-color: #2c3c70;
}
[data-bs-theme="dark"] .venta-pos__llevar-card-status.abierto {
  background: rgba(38, 119, 223, 0.18);
  color: #78afff;
}
[data-bs-theme="dark"] .venta-pos__llevar-card-status.precuenta {
  background: rgba(77, 146, 255, 0.18);
  color: #8abbff;
}
[data-bs-theme="dark"] .venta-pos__llevar-card-status.listo {
  background: rgba(54, 204, 132, 0.16);
  color: #64e7a5;
}
[data-bs-theme="dark"] .venta-pos__salon-btn:hover,
[data-bs-theme="dark"] .venta-pos__mesas-quantity,
[data-bs-theme="dark"] .venta-pos__count {
  background: #151f45;
}
[data-bs-theme="dark"] .venta-pos__mesa-card.disponible {
  background: rgba(40, 201, 139, 0.12);
  border-color: rgba(73, 239, 172, 0.65);
}
[data-bs-theme="dark"] .venta-pos__mesa-card.ocupada {
  background: rgba(220, 53, 69, 0.16);
  border-color: rgba(255, 112, 126, 0.72);
}
[data-bs-theme="dark"] .venta-pos__mesa-card.precuenta {
  background: rgba(61, 139, 253, 0.14);
  border-color: rgba(100, 164, 255, 0.68);
}
[data-bs-theme="dark"] .venta-pos__mesa-card.unida {
  background: rgba(255, 193, 7, 0.11);
  border-color: rgba(255, 214, 85, 0.72);
}
[data-bs-theme="dark"] .venta-pos__mesa-status {
  color: #4befad;
}
[data-bs-theme="dark"] .venta-pos__mesa-card.ocupada .venta-pos__mesa-status {
  color: #ff8895;
}
[data-bs-theme="dark"] .venta-pos__mesa-card.precuenta .venta-pos__mesa-status {
  color: #77aeff;
}
[data-bs-theme="dark"] .venta-pos__mesa-card.unida .venta-pos__mesa-status {
  color: #ffd65c;
}
[data-bs-theme="dark"] .venta-pos__modal-icon.disponible {
  color: #4befad;
}
[data-bs-theme="dark"] #modalMesa .modal-content {
  color: #e7efff;
  background: #050d22;
  border-color: #20345e;
}
[data-bs-theme="dark"] #modalUnirMesas .modal-content,
[data-bs-theme="dark"] #modalCambiarMesa .modal-content,
[data-bs-theme="dark"] #modalMoverProductos .modal-content,
[data-bs-theme="dark"] #modalCambiarMozo .modal-content {
  color: #e7efff;
  background: #050d22;
  border-color: #20345e;
}
[data-bs-theme="dark"] #modalUnirMesas .modal-header,
[data-bs-theme="dark"] #modalUnirMesas .modal-footer,
[data-bs-theme="dark"] #modalCambiarMesa .modal-header,
[data-bs-theme="dark"] #modalCambiarMesa .modal-footer,
[data-bs-theme="dark"] #modalMoverProductos .modal-header,
[data-bs-theme="dark"] #modalMoverProductos .modal-footer,
[data-bs-theme="dark"] #modalCambiarMozo .modal-header,
[data-bs-theme="dark"] #modalCambiarMozo .modal-footer {
  border-color: #20345e;
  background: #07132d;
}
[data-bs-theme="dark"] .venta-pos__unir-current,
[data-bs-theme="dark"] .venta-pos__unir-chip,
[data-bs-theme="dark"] .venta-pos__unir-mesa {
  border-color: #20345e;
}
[data-bs-theme="dark"] .venta-pos__unir-chip {
  background: #101d40;
}
[data-bs-theme="dark"] .venta-pos__unir-mesa:hover,
[data-bs-theme="dark"] .venta-pos__unir-mesa.selected {
  background: rgba(20, 115, 235, 0.18);
  border-color: #3590ff;
}
[data-bs-theme="dark"] .venta-pos__mover-note,
[data-bs-theme="dark"] .venta-pos__mover-destino,
[data-bs-theme="dark"] .venta-pos__mover-detalle,
[data-bs-theme="dark"] .venta-pos__mover-stepper {
  border-color: #20345e;
}
[data-bs-theme="dark"] .venta-pos__mover-note,
[data-bs-theme="dark"] .venta-pos__mover-stepper button {
  background: #101d40;
}
[data-bs-theme="dark"] .venta-pos__mover-destino:hover,
[data-bs-theme="dark"] .venta-pos__mover-destino.selected,
[data-bs-theme="dark"] .venta-pos__mover-detalle.selected {
  background: rgba(20, 115, 235, 0.18);
  border-color: #3590ff;
}
[data-bs-theme="dark"] #modalMesa .modal-header,
[data-bs-theme="dark"] #modalMesa .modal-footer {
  border-color: #20345e;
  background: #07132d;
}
[data-bs-theme="dark"] #modalMesa .form-label {
  color: #dce8ff;
}
[data-bs-theme="dark"] #modalMesa .venta-pos__pedido-detalles {
  border-color: #20345e;
  background: #07132d;
}
[data-bs-theme="dark"] #modalMesa .venta-pos__pedido-detalles-header {
  border-color: #20345e;
  background: #102247;
}
[data-bs-theme="dark"] #modalMesa .venta-pos__pedido-detalles-header small {
  color: #a9bbdf;
}
[data-bs-theme="dark"] #modalMesa .venta-pos__pedido-detalle-item {
  border-color: #20345e;
}
[data-bs-theme="dark"] #modalMesa .form-select,
[data-bs-theme="dark"] #modalMesa .venta-pos__quantity-stepper {
  color: #e7efff;
  border-color: #2b4578;
  background: #142a57;
}
[data-bs-theme="dark"] #modalMesa .form-select:focus,
[data-bs-theme="dark"] #modalMesa .venta-pos__quantity-stepper:focus-within {
  border-color: #1685ff;
  box-shadow: 0 0 0 0.2rem rgba(22, 133, 255, 0.18);
}
[data-bs-theme="dark"] #modalMesa .venta-pos__quantity-btn {
  color: #dce8ff;
  background: #0d2149;
}
[data-bs-theme="dark"] #modalMesa .venta-pos__quantity-btn:hover,
[data-bs-theme="dark"] #modalMesa .venta-pos__quantity-btn:focus-visible {
  color: #fff;
  background: #1685ff;
}
[data-bs-theme="dark"] #modalMesa .venta-pos__quantity-stepper .form-control {
  color: #fff;
  background: #142a57;
}
[data-bs-theme="dark"] #modalMesa .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

@media (max-width: 767.98px) {
  .venta-pos__header,
  .venta-pos__toolbar {
    padding-left: 14px;
    padding-right: 14px;
  }
  .venta-pos__toolbar {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .venta-pos__layout {
    flex-direction: column;
    min-height: 0;
  }
  .venta-pos__salones {
    flex: 0 0 auto;
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid var(--bs-border-color);
  }
  .venta-pos__salones-title {
    display: none;
  }
  .venta-pos__salones-list {
    gap: 7px;
    flex-direction: row;
    overflow-x: auto;
    padding: 10px 12px;
  }
  .venta-pos__salon-btn {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    padding: 8px 10px;
    font-size: 12px;
    white-space: nowrap;
  }
  .venta-pos__mesas-area {
    padding: 14px;
  }
  .venta-pos__mesas-grid {
    grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
    gap: 9px;
  }
  .venta-pos__llevar-toolbar {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    padding: 16px 14px;
    gap: 12px;
  }
  .venta-pos__delivery-toolbar {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    padding: 16px 14px;
    gap: 12px;
  }
  .venta-pos__delivery-toolbar h6 {
    font-size: 16px;
  }
  .venta-pos__delivery-toolbar .venta-pos__llevar-new {
    width: 100%;
  }
  .venta-pos__delivery-filters {
    padding: 12px 14px;
  }
  .venta-pos__delivery-filters .form-select {
    width: 100%;
  }
  .venta-pos__delivery-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }
  .venta-pos__delivery-card {
    min-height: 230px;
  }
  .venta-pos__delivery-card-actions .btn {
    min-height: 40px;
  }
  .venta-pos__delivery-canales {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .venta-pos__llevar-toolbar h6 {
    font-size: 16px;
  }
  .venta-pos__llevar-new {
    width: 100%;
  }
  .venta-pos__llevar-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }
  .venta-pos__llevar-card {
    min-height: 190px;
  }
  .venta-pos__llevar-card-actions .btn {
    min-height: 40px;
  }
  .venta-pos__llevar-empty {
    min-height: 240px;
  }
  .venta-pos__rapida {
    min-height: 360px;
    padding: 18px 14px;
  }
  .venta-pos__rapida-main {
    padding: 26px 18px 22px;
    border-radius: 17px;
  }
  .venta-pos__rapida-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 12px;
    border-radius: 18px;
    font-size: 32px;
  }
  .venta-pos__rapida h4 {
    font-size: 21px;
  }
  .venta-pos__rapida-btn {
    min-height: 58px;
    font-size: 16px;
  }
  .venta-pos__rapida-hints {
    display: grid;
    justify-content: stretch;
    text-align: left;
    gap: 8px;
    margin-top: 16px;
  }
  .venta-pos__rapida-pendientes {
    margin-top: 17px;
    padding-top: 13px;
  }
  .venta-pos__rapida-grid {
    grid-template-columns: 1fr;
  }
  .venta-pos__modal-header {
    align-items: flex-start;
  }
  .venta-pos__mesa-empty-modal {
    padding-top: 20px;
  }
}

@media (max-width: 420px) {
  .venta-pos__modal-header {
    gap: 8px;
    padding: 12px;
  }
  .venta-pos__modal-title-row {
    gap: 5px 8px;
  }
  .venta-pos__modal-pedido {
    gap: 5px;
    padding-left: 8px;
    font-size: 10px;
  }
  .venta-pos__modal-pedido strong {
    font-size: 12px;
  }
  .venta-pos__modal-header > .d-flex {
    gap: 5px !important;
  }
  .venta-pos__mesa-inicio-form {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .venta-pos__unir-current {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .venta-pos__unir-chips {
    justify-content: flex-start;
  }
  .venta-pos__mover-destinos {
    grid-template-columns: 1fr;
  }
  .venta-pos__mover-detalle {
    align-items: flex-start;
    flex-direction: column;
  }
  .venta-pos__mover-stepper {
    align-self: flex-end;
  }
  .venta-pos__mesa-form-personas--unica {
    grid-column: auto;
    width: 100%;
    max-width: none;
  }
}

/* DARK MODE */

[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .sidebar {
  background: #091029;
}
[data-bs-theme="dark"] .card-body {
  background-color: #0c1536;
  border: 1px solid transparent;
}
[data-bs-theme="dark"] .sidebar a {
  color: #fff;
}

[data-bs-theme="dark"] .has-sub a.open {
  color: #fff;
}

[data-bs-theme="dark"] .submenu a {
  color: #fff;
}

[data-bs-theme="dark"] .submenu a:hover {
  background: #12192d;
  color: #fff;
}

[data-bs-theme="dark"] .submenu a:hover:before {
  border: 1px solid #fff;
}

[data-bs-theme="dark"] .submenu a:before {
  border: 1px solid #fff;
}

[data-bs-theme="dark"] .has-sub a.open {
  background-color: #16223a;
}
[data-bs-theme="dark"] .submenu {
  background: #0c1536;
}
[data-bs-theme="dark"] .sidebar li.active > a {
  background-color: #0c1536;
}

[data-bs-theme="dark"] .page-header {
  background-color: #0c1536;
  border: 1px solid #273158;
}

[data-bs-theme="dark"] table {
  background: #0c1536;
}

[data-bs-theme="dark"] table tbody tr td {
  background: #020617;
  color: #e9ecef;
}
[data-bs-theme="dark"] table thead th {
  background: #020617;
  color: #fff;
}

[data-bs-theme="dark"] table.dataTable tbody td {
  background: #0c1536;
  color: #e9ecef;
}

table.dataTable tfoot tr th {
  border: none;
}
[data-bs-theme="dark"] table.dataTable tfoot tr th {
  background: #020617;
  color: #e9ecef;
  border: none;
}

table tfoot tr th {
  border: none;
}

[data-bs-theme="dark"] table tfoot tr th {
  background: #020617;
  color: #e9ecef;
  border: none;
}

[data-bs-theme="dark"]
  div.dataTables_wrapper
  div.dataTables_paginate
  ul.pagination
  > li
  > a {
  background: #0c1536;
  border: 1px solid #273158;
}
[data-bs-theme="dark"] table tbody tr:hover td {
  background: #09102991;
}
[data-bs-theme="dark"] .modal-content {
  background: #020617;
}
[data-bs-theme="dark"] .form-control {
  background-color: #212c56;
  border: 1px solid #273158;
}
[data-bs-theme="dark"] div:where(.swal2-container) div:where(.swal2-popup) {
  background-color: #020617;
  color: #fff;
  border: 1px solid #2d394c;
}

/* Campos de SweetAlert abiertos sobre un modal de Bootstrap. */
[data-bs-theme="dark"] div:where(.swal2-container) input:where(.swal2-input) {
  background: #212c56;
  color: #fff;
  border-color: #314573;
  pointer-events: auto;
}

div:where(.swal2-container) input:where(.swal2-input):focus {
  border-color: #1687f8;
  box-shadow: 0 0 0 0.2rem rgba(22, 135, 248, 0.18);
}

[data-bs-theme="dark"] table tbody tr td {
  /*background:#020617;*/
  background: #0c1536;
  color: #e9ecef;
}
[data-bs-theme="dark"] table tbody tr th {
  background: #020617;
  color: #e9ecef;
}
[data-bs-theme="dark"] table thead th {
  background: #0c1536;
  color: #fff;
}
[data-bs-theme="dark"] table thead th {
  border-bottom: 1px solid #273158 !important;
}
[data-bs-theme="dark"] .submenu li.active a:before {
  border: 1px solid #fff;
}
[data-bs-theme="dark"] .submenu li.active a {
  background: #09102991;
  color: #fff;
}

[data-bs-theme="dark"]
  div:where(.swal2-container)
  div:where(.swal2-validation-message) {
  background: #0d1423;
  margin: 10px;
  border: 1px solid #cecece;
  color: #fff;
}

[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > th {
  color: #fff;
  background: #0c1023;
}

[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td > a {
  color: #fff;
  background: #0c1023;
}
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td {
  background: #0c1023;
}
[data-bs-theme="dark"]
  .dtp
  > .dtp-content
  > .dtp-date-view
  > header.dtp-header {
  background: #0c1023;
}
[data-bs-theme="dark"] .dtp div.dtp-date,
.dtp div.dtp-time {
  background: #0c1023;
}
[data-bs-theme="dark"] .dtp div.dtp-picker {
  background: #0c1023;
}
[data-bs-theme="dark"] .dtp div.dtp-picker-month {
  background: #0c1023;
}
[data-bs-theme="dark"] .dtp .dtp-buttons {
  background: #0c1023;
}
[data-bs-theme="dark"] .input-group-text {
  background-color: #212c56;
  border: 1px solid #273158;
}

.dtp div.dtp-picker-month {
  padding-top: 10px;
}
.dtp .dtp-buttons {
  padding: 10px;
}
.dtp div.dtp-date,
.dtp div.dtp-time {
  background-color: #095c6d;
}
.dtp > .dtp-content > .dtp-date-view > header.dtp-header {
  background: #2f3d4a;
}
.dtp .dtp-buttons .dtp-btn-ok {
  background-color: #095c6d;
  border: none;
  font-size: 14px !important;
}
.dtp .dtp-buttons .dtp-btn-cancel {
  background-color: #2f3d4a;
  border: none;
  font-size: 14px !important;
  margin-right: 10px;
  color: #fff;
}
.dtp table.dtp-picker-days tr > td > a.selected {
  background-color: #095c6d;
}

[data-bs-theme="dark"] .dtp table.dtp-picker-days {
  background: #0c1023 !important;
}

/* Datepicker Material: superficie y acciones coherentes con el tema activo. */
[data-bs-theme="dark"] .dtp > .dtp-content,
[data-bs-theme="dark"] .dtp .dtp-picker,
[data-bs-theme="dark"] .dtp .dtp-picker-month,
[data-bs-theme="dark"] .dtp .dtp-buttons {
  background: #0c1536 !important;
  color: #edf5ff !important;
}
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > th,
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td,
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td > a {
  background: transparent !important;
  color: #edf5ff !important;
}
[data-bs-theme="dark"] .dtp .dtp-buttons .dtp-btn-cancel {
  background: transparent !important;
  color: #a8bad6 !important;
}
.dtp > .dtp-content {
  border-radius: 14px;
  overflow: hidden;
}
.dtp .dtp-buttons {
  padding: 12px !important;
}
.dtp .dtp-buttons button {
  border-radius: 8px !important;
  padding: 7px 11px !important;
}

/* Estados visibles del calendario, tanto en tema claro como oscuro. */
.dtp table.dtp-picker-days tr > td > a.dtp-select-day {
  width: 34px;
  height: 34px;
  display: inline-grid !important;
  place-items: center;
  border-radius: 50%;
  transition:
    background-color 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease;
}
.dtp table.dtp-picker-days tr > td > a.dtp-select-day:hover,
.dtp table.dtp-picker-days tr > td > a.dtp-select-day:focus {
  color: #fff !important;
  background: #167a9b !important;
  outline: none;
  transform: scale(1.06);
}
.dtp table.dtp-picker-days tr > td > a.dtp-select-day.selected,
[data-bs-theme="dark"]
  .dtp
  table.dtp-picker-days
  tr
  > td
  > a.dtp-select-day.selected {
  color: #fff !important;
  background: #0ea7c5 !important;
  box-shadow: 0 0 0 3px rgba(14, 167, 197, 0.22) !important;
  font-weight: 800;
}
.dtp .dtp-buttons {
  padding: 15px 14px 16px !important;
  margin-top: 4px;
}
.dtp .dtp-buttons button {
  min-height: 35px;
  margin-bottom: 3px;
}
.dtp > .dtp-content {
  /* El padding de las acciones no debe quedar recortado por el alto base del plugin. */
  max-height: min(560px, calc(100dvh - 24px)) !important;
  overflow: hidden !important;
}
.dtp .dtp-picker-month {
  /* El mes/año ya se muestra en el encabezado del picker. */
  display: none !important;
}
.dtp .dtp-buttons {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.dtp .dtp-buttons .dtp-btn-cancel,
.dtp .dtp-buttons .dtp-btn-ok {
  float: none !important;
  margin: 0 !important;
}
.dtp div.dtp-picker {
  padding: 12px 0 4px !important;
}
.dtp .dtp-buttons {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 12px 11px !important;
  justify-content: center !important;
}
.dtp .dtp-buttons button {
  min-height: 34px;
  line-height: 1.15;
}

/* Acciones compactas y realmente centradas después de ocultar el mes duplicado. */
html[data-bs-theme] .dtp .dtp-buttons {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 4px 10px 8px !important;
  margin: 0 !important;
  text-align: center !important;
}
html[data-bs-theme] .dtp .dtp-buttons .dtp-btn-cancel,
html[data-bs-theme] .dtp .dtp-buttons .dtp-btn-ok {
  flex: 0 0 auto !important;
  float: none !important;
  margin: 0 !important;
}

/* Datepicker unificado: sobrio, legible y consistente con la consulta pública. */
.dtp > .dtp-content {
  border: 1px solid #c9d9ec !important;
  background: #f8fbff !important;
}
.dtp > .dtp-content > .dtp-date-view > header.dtp-header {
  color: #17335d !important;
  background: #e6effa !important;
}
.dtp div.dtp-date,
.dtp div.dtp-time {
  color: #fff !important;
  background: #1a7897 !important;
}
.dtp .dtp-picker,
.dtp .dtp-picker-month,
.dtp .dtp-buttons {
  color: #18345e !important;
  background: #f8fbff !important;
}
.dtp table.dtp-picker-days tr > th,
.dtp table.dtp-picker-days tr > td,
.dtp table.dtp-picker-days tr > td > a {
  color: #18345e !important;
}
[data-bs-theme="dark"] .dtp > .dtp-content {
  border-color: #253b69 !important;
  background: #08142e !important;
}
[data-bs-theme="dark"]
  .dtp
  > .dtp-content
  > .dtp-date-view
  > header.dtp-header {
  color: #eaf4ff !important;
  background: #0b1a38 !important;
}
[data-bs-theme="dark"] .dtp div.dtp-date,
[data-bs-theme="dark"] .dtp div.dtp-time {
  background: #12435f !important;
}
[data-bs-theme="dark"] .dtp .dtp-picker,
[data-bs-theme="dark"] .dtp .dtp-picker-month,
[data-bs-theme="dark"] .dtp .dtp-buttons {
  color: #eaf4ff !important;
  background: #08142e !important;
}
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > th,
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td,
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td > a {
  color: #eaf4ff !important;
}

/* Datepicker canónico: misma composición visual que la consulta pública. */
.dtp {
  z-index: 3000 !important;
  border: 1px solid #c9d9ee !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 45px rgba(8, 25, 56, 0.26) !important;
  overflow: hidden !important;
}
.dtp > .dtp-content,
.dtp .dtp-picker,
.dtp .dtp-picker-month,
.dtp .dtp-buttons {
  color: #10254b !important;
  background: #fff !important;
}
.dtp > .dtp-content {
  max-height: min(560px, calc(100dvh - 24px)) !important;
  overflow: hidden !important;
}
.dtp .dtp-picker-month {
  display: none !important;
}
.dtp > .dtp-content > .dtp-date-view > header.dtp-header {
  color: #10254b !important;
  background: #e6f0fc !important;
}
.dtp div.dtp-date,
.dtp div.dtp-time {
  color: #fff !important;
  background: #1a7897 !important;
}
.dtp table.dtp-picker-days tr > th,
.dtp table.dtp-picker-days tr > td,
.dtp table.dtp-picker-days tr > td > a {
  color: #10254b !important;
  background: transparent !important;
}
.dtp table.dtp-picker-days tr > td > span.dtp-select-day {
  color: #617596 !important;
}
.dtp table.dtp-picker-days tr > td > a.dtp-select-day {
  width: 34px;
  height: 34px;
  display: inline-grid !important;
  place-items: center;
  border-radius: 50%;
  transition: 0.16s ease;
}
.dtp table.dtp-picker-days tr > td > a.dtp-select-day:hover {
  color: #fff !important;
  background: #087da6 !important;
  transform: scale(1.06);
}
.dtp table.dtp-picker-days tr > td > a.dtp-select-day.selected {
  color: #fff !important;
  background: #15b7d1 !important;
  box-shadow: 0 0 0 3px rgba(21, 183, 209, 0.24) !important;
  font-weight: 800;
}
.dtp div.dtp-picker {
  padding: 12px 0 4px !important;
}
.dtp .dtp-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 0 !important;
  padding: 8px 12px 11px !important;
  margin: 0 !important;
  text-align: center !important;
}
.dtp .dtp-buttons .dtp-btn-cancel,
.dtp .dtp-buttons .dtp-btn-ok {
  float: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
.dtp .dtp-buttons button {
  min-height: 34px;
  line-height: 1.15;
  margin: 0 !important;
  border-radius: 8px !important;
  padding: 7px 11px !important;
  color: #087da6 !important;
  font-weight: 800 !important;
}
.dtp .dtp-buttons .dtp-btn-ok {
  color: #fff !important;
  background: #25d27b !important;
}
.dtp .dtp-buttons .dtp-btn-cancel {
  color: #617596 !important;
  background: transparent !important;
}
[data-bs-theme="dark"] .dtp {
  border-color: #284679 !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.38) !important;
}
[data-bs-theme="dark"] .dtp > .dtp-content,
[data-bs-theme="dark"] .dtp .dtp-picker,
[data-bs-theme="dark"] .dtp .dtp-picker-month,
[data-bs-theme="dark"] .dtp .dtp-buttons,
[data-bs-theme="dark"] .dtp .dtp-picker-calendar,
[data-bs-theme="dark"] .dtp .dtp-picker-days,
[data-bs-theme="dark"] .dtp table.dtp-picker-days {
  color: #eef5ff !important;
  background: #0c1d42 !important;
}
[data-bs-theme="dark"]
  .dtp
  > .dtp-content
  > .dtp-date-view
  > header.dtp-header {
  color: #eef5ff !important;
  background: #0b1a38 !important;
}
[data-bs-theme="dark"] .dtp div.dtp-date,
[data-bs-theme="dark"] .dtp div.dtp-time {
  background: #12435f !important;
}
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > th,
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td,
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td > a {
  color: #eef5ff !important;
}
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td > span.dtp-select-day,
[data-bs-theme="dark"] .dtp .dtp-buttons .dtp-btn-cancel {
  color: #9cb0d3 !important;
}

/*css para el drag & drop de los temarios*/
#tablaTemarios tbody tr {
  cursor: move;
}

/* �9�7 Quitar flechita del dropdown */
.btnMenuAcciones::after {
  display: none !important;
}

/*Bot��n redondeado tipo icono */
[data-bs-theme="dark"] .btnMenuAcciones {
  border-radius: 50%;
  border-color: #0c7286;
  width: 35px;
  height: 35px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff00;
  color: #fff;
}

[data-bs-theme="dark"] .btnMenuAcciones:first-child:active {
  background-color: #12192d;
  color: #fff;
}
[data-bs-theme="dark"] .btnMenuAcciones.show {
  background-color: #0c7286;
  color: #fff;
}
[data-bs-theme="dark"] .btnMenuAcciones:hover {
  background-color: #12192d;
  color: #fff;
}
[data-bs-theme="dark"] .list-group {
  background-color: #16223a;
}
[data-bs-theme="dark"] .list-group-item {
  background-color: #0c1536;
}

/* Monitor de billeteras: evita superficies grises y conserva contraste en ambos temas. */
.billeteras-configuracion .card,
.billeteras-configuracion .list-group-item {
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
}
.billeteras-configuracion .card-header {
  border-bottom-color: var(--bs-border-color);
  background-color: var(--bs-tertiary-bg);
}
.billeteras-configuracion .list-group-item + .list-group-item {
  border-top-color: var(--bs-border-color);
}
.billeteras-configuracion__agent {
  padding: 1rem;
}
.billeteras-configuracion .min-w-0 {
    min-width: 0;
}
.billetera-toast-copiar {
    position: fixed;
    z-index: 20000;
    top: 1.1rem;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    max-width: calc(100vw - 2rem);
    padding: 0.7rem 0.95rem;
    border: 1px solid rgba(31, 195, 138, 0.45);
    border-radius: 0.7rem;
    color: #eafff7;
    background: #0d6b4f;
    box-shadow: 0 0.7rem 1.8rem rgba(0, 0, 0, 0.24);
    font-size: 0.82rem;
    font-weight: 700;
    opacity: 0;
    transform: translate(-50%, -0.5rem);
    transition: opacity 0.18s ease, transform 0.18s ease;
    pointer-events: none;
}
.billetera-toast-copiar.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}
.billetera-toast-copiar.is-error {
    border-color: rgba(240, 82, 104, 0.48);
    background: #8c2438;
}
[data-bs-theme="dark"] .billeteras-configuracion .card,
[data-bs-theme="dark"] .billeteras-configuracion .list-group-item {
  border-color: #253a67;
  background-color: #091630;
}
[data-bs-theme="dark"] .billeteras-configuracion .card-header {
  border-bottom-color: #253a67;
  background-color: #0d2046;
}
[data-bs-theme="dark"] .billeteras-configuracion .card.border {
  border-color: #253a67 !important;
  background-color: #0c1a38;
}
[data-bs-theme="dark"] .billeteras-configuracion .alert-info {
  border-color: #0a617c;
  color: #b7efff;
  background-color: #06293a;
}
[data-bs-theme="dark"] .dropdown-menu {
  background-color: #0c1536;
  border: 1px solid #273158;
}

[data-bs-theme="dark"] .dropdown-item:focus,
.dropdown-item:hover {
  color: #fff !important;
  background-color: #1a2551 !important;
}

[data-bs-theme="dark"] .dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #1a2551;
}

[data-bs-theme="dark"] .form-select {
  background-color: #212c56;
  border: 1px solid #273158;
}

.dropdown-item:focus,
.dropdown-item:hover {
  color: #000;
  background-color: #d5e8e8;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #0c7286;
}

.bootstrap-select.form-control {
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition:
    border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
}

/* Selectpicker: el botón generado debe respetar el tema activo. */
.btn-transparent {
  color: var(--bs-body-color);
  background-color: transparent;
  border-color: var(--bs-border-color);
}

.btn-transparent:hover,
.btn-transparent:focus,
.btn-transparent.show {
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle.btn-transparent {
  color: #e7efff;
  background-color: transparent;
  border-color: #273158;
}

/* Bootstrap-select crea btn-light por defecto; en tema oscuro nunca debe heredar ese fondo. */
[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle,
[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle.btn-light {
  color: #e7efff !important;
  background-color: transparent !important;
  border-color: #273158 !important;
}

[data-bs-theme="dark"]
  .bootstrap-select
  > .dropdown-toggle.btn-transparent:hover,
[data-bs-theme="dark"]
  .bootstrap-select
  > .dropdown-toggle.btn-transparent:focus,
[data-bs-theme="dark"]
  .bootstrap-select.show
  > .dropdown-toggle.btn-transparent {
  color: #ffffff;
  background-color: #102247;
  border-color: #3b5f9d;
}

[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle:hover,
[data-bs-theme="dark"] .bootstrap-select > .dropdown-toggle:focus,
[data-bs-theme="dark"] .bootstrap-select.show > .dropdown-toggle {
  color: #ffffff !important;
  background-color: #102247 !important;
  border-color: #3b5f9d !important;
}

[data-bs-theme="dark"] .bootstrap-select .bs-searchbox .form-control,
[data-bs-theme="dark"] .bootstrap-select .no-results {
  color: #e7efff;
  background-color: #102247;
  border-color: #294878;
}

/* Componentes de combos: el selector ocupa su columna y el menú no deforma el modal. */
.combo-componentes-scroll {
  padding-bottom: 0.4rem;
}

#tableComponentesCombo {
  min-width: 960px;
}

#tableComponentesCombo th:first-child,
#tableComponentesCombo td:first-child {
  min-width: 310px;
}

#tableComponentesCombo .bootstrap-select {
  width: 100% !important;
  min-width: 280px;
}

#tableComponentesCombo .bootstrap-select .filter-option-inner-inner {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#tableComponentesCombo .bootstrap-select .dropdown-menu {
  min-width: 100%;
  max-width: 420px;
}

#tableComponentesCombo .bootstrap-select .dropdown-menu .inner {
  max-height: 260px !important;
}

.combo-producto-menu .dropdown-menu {
  min-width: 310px;
  max-width: min(460px, calc(100vw - 2rem));
}

.combo-producto-menu .dropdown-menu .inner {
  max-height: 260px !important;
}

/* El buscador debe permanecer dentro del modal para conservar el foco de Bootstrap. */
#modalCombo .combo-producto-menu {
  z-index: 1065;
}
#modalCombo .combo-producto-menu .dropdown-menu {
  min-width: 310px;
  max-width: min(460px, calc(100vw - 2rem));
}

/* En tablet el configurador necesita más ancho; header y footer permanecen visibles al desplazar componentes. */
@media (min-width: 576px) and (max-width: 1199.98px) {
  #modalCombo .combo-modal-dialog {
    width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem) !important;
    height: calc(100dvh - 1rem);
    max-height: calc(100dvh - 1rem);
    margin: 0.5rem auto;
  }

  #modalCombo .combo-modal-dialog .modal-content {
    display: flex;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
  }

  #modalCombo .combo-modal-dialog .modal-body {
    min-height: 0;
    overflow-y: auto;
  }
}

#modalCombo.modal .combo-modal-dialog {
  max-height: calc(100% - 2rem);
}

#modalCombo .combo-modal-dialog .modal-body {
  scrollbar-gutter: stable;
}

@media (max-width: 767.98px) {
  #tableComponentesCombo th:first-child,
  #tableComponentesCombo td:first-child,
  #tableComponentesCombo .bootstrap-select {
    min-width: 250px;
  }
}

.orden-pos__producto-marcadores {
  position: absolute;
  top: 0.35rem;
  left: 0.35rem;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.28rem;
}
.orden-pos__producto-extras {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  background: #c2410c;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.28);
}

.orden-pos__producto-combo {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  z-index: 1;
  padding: 0.16rem 0.42rem;
  border-radius: 0.4rem;
  background: #e07910;
  color: #fff;
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.orden-pos__combo-componentes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  align-items: start;
  gap: 1rem;
}

.orden-pos__combo-componente {
  min-height: 0;
  align-self: start;
  padding: 0.85rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.9rem;
  background: var(--bs-tertiary-bg);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.orden-pos__combo-componente.is-disabled {
  opacity: 0.55;
  filter: grayscale(0.22);
}

.orden-pos__combo-componente-head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.orden-pos__combo-componente-head strong {
  display: block;
  font-size: 0.9rem;
  line-height: 1.2;
}
.orden-pos__combo-componente-head small {
  display: block;
  margin-top: 0.22rem;
  color: var(--bs-secondary-color);
  font-size: 0.7rem;
}
.orden-pos__combo-componente-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.7rem;
  background: rgba(var(--bs-primary-rgb), 0.14);
  color: var(--bs-primary);
  font-size: 1.2rem;
}
.orden-pos__combo-incluido {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 30px;
  padding: 0.3rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--bs-primary) 45%, transparent);
  border-radius: 0.5rem;
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 12%, transparent);
  font-size: 0.72rem;
  font-weight: 800;
}
.orden-pos__combo-switch {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  gap: 0.42rem;
  margin: 0;
  padding: 0.3rem 0.5rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.55rem;
  font-size: 0.8rem;
  font-weight: 750;
}
.orden-pos__combo-switch .form-check-input {
  width: 2rem;
  height: 1.1rem;
  margin: 0;
}
.orden-pos__combo-switch .form-check-label {
  cursor: pointer;
}
.orden-pos__combo-selector {
  margin-top: 0.7rem;
}
.orden-pos__combo-selector .form-label {
  margin-bottom: 0.3rem;
  font-size: 0.72rem;
  font-weight: 800;
}
.orden-pos__combo-selector .form-select {
  min-height: 42px;
  padding-left: 0.8rem;
  border-radius: 0.62rem;
  font-size: 0.84rem;
  font-weight: 700;
}
.orden-pos__combo-sin-configuracion {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 34px;
  margin-top: 0.7rem;
  padding: 0.42rem 0.6rem;
  border: 1px dashed var(--bs-border-color);
  border-radius: 0.62rem;
  color: var(--bs-secondary-color);
  background: color-mix(in srgb, var(--bs-body-bg) 78%, transparent);
  font-size: 0.72rem;
  font-weight: 700;
}
.orden-pos__combo-sin-configuracion i {
  color: #16a36a;
  font-size: 1rem;
}

.orden-pos__detalle-extras {
  display: block;
  margin-top: 0.18rem;
  color: var(--bs-info);
  font-size: 0.72rem;
  line-height: 1.25;
}

.orden-pos__extras {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem;
}

/* Los grupos se muestran en una cuadrícula: no deben heredar margen vertical
   entre hermanos, porque desplazaría la segunda columna hacia abajo. */
.orden-pos__extras > .orden-pos__modificador-grupo + .orden-pos__modificador-grupo {
  margin-top: 0;
}

.orden-pos__modificador-grupo-cabecera {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.45rem;
  margin-bottom: 0.65rem;
  border-bottom: 1px solid var(--bs-border-color);
}

.orden-pos__modificador-grupo-cabecera strong {
  font-size: 0.9rem;
}

.orden-pos__modificador-grupo-cabecera small {
  color: var(--bs-secondary-color);
  font-size: 0.72rem;
  text-align: right;
}

.orden-pos__extra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 4.25rem;
  padding: 0.75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.7rem;
  background: transparent;
}

.orden-pos__extra strong,
.orden-pos__extra small {
  display: block;
}

.orden-pos__extra > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}
.orden-pos__extra strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.orden-pos__extra small {
  margin-top: 0.16rem;
  color: var(--bs-info);
  font-weight: 700;
}

/* El listado de modificadores conserva controles táctiles amplios, pero con
   texto compacto para mostrar más opciones sin generar scroll innecesario. */
#modalExtrasProducto .orden-pos__extra strong,
#modalExtrasProducto .orden-pos__extra {
  font-size: 12px;
}
#modalExtrasProducto .orden-pos__extra small {
  font-size: 11px;
}

.orden-pos__extra-control {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
}

.orden-pos__extra-control button,
.orden-pos__extra-control span {
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--bs-body-color);
  flex: 0 0 2.15rem;
}

.orden-pos__extra-control button:hover:not(:disabled) {
  background: var(--bs-tertiary-bg);
}

.orden-pos__extra-control button:disabled {
  opacity: 0.38;
}

/* Acciones táctiles: sumar se reconoce en cian y restar en coral, sin perder
   contraste en los temas oscuro y claro. */
.orden-pos__extra-control button[data-extra-accion="sumar"],
.orden-pos__extra-control button[data-combo-extra-accion="sumar"],
.orden-pos__cantidad-control button[data-detalle-accion="sumar"] {
  background: color-mix(in srgb, var(--color-primary) 20%, var(--bs-body-bg));
  color: var(--color-primary);
}

.orden-pos__extra-control button[data-extra-accion="restar"],
.orden-pos__extra-control button[data-combo-extra-accion="restar"],
.orden-pos__cantidad-control button[data-detalle-accion="restar"] {
  background: color-mix(in srgb, #e06572 14%, var(--bs-body-bg));
  color: #cf5b69;
}

.orden-pos__extra-control button[data-extra-accion="sumar"]:hover:not(:disabled),
.orden-pos__extra-control button[data-combo-extra-accion="sumar"]:hover:not(:disabled),
.orden-pos__cantidad-control button[data-detalle-accion="sumar"]:hover:not(:disabled) {
  background: var(--color-primary);
  color: #fff;
}

.orden-pos__extra-control button[data-extra-accion="restar"]:hover:not(:disabled),
.orden-pos__extra-control button[data-combo-extra-accion="restar"]:hover:not(:disabled),
.orden-pos__cantidad-control button[data-detalle-accion="restar"]:hover:not(:disabled) {
  background: #cf5b69;
  color: #fff;
}

.orden-pos__extra-control button:focus-visible,
.orden-pos__cantidad-control button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 72%, #fff);
  outline-offset: -2px;
}

.orden-pos__extra-control button i,
.orden-pos__cantidad-control button i {
  display: inline-block;
  font-size: 1.12em;
  font-weight: 900;
  transform: scale(1.12);
}

.orden-pos__combo-componente .orden-pos__extra-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  min-height: 42px;
  margin-top: 0.35rem;
  padding: 0.38rem 0.48rem 0.38rem 0.6rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.62rem;
  background: var(--bs-body-bg);
  font-size: 0.76rem;
  font-weight: 700;
}
.orden-pos__combo-componente .orden-pos__extra-row > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orden-pos__combo-componente .orden-pos__extra-row small {
  margin-left: 0.18rem;
  color: var(--bs-info);
  font-size: 0.72rem;
  font-weight: 800;
}
.orden-pos__combo-componente .orden-pos__extra-control {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.52rem;
}
.orden-pos__combo-componente .orden-pos__extra-control button,
.orden-pos__combo-componente .orden-pos__extra-control strong {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 0;
  color: var(--bs-body-color);
  background: transparent;
}
.orden-pos__combo-componente .orden-pos__extra-control button {
  font-size: 1.05rem;
}
.orden-pos__combo-componente
  .orden-pos__extra-control
  button:hover:not(:disabled),
.orden-pos__combo-componente .orden-pos__extra-control button:focus-visible {
  color: #fff;
  background: var(--color-primary);
  outline: none;
}

.orden-pos__modal-dialog {
  /* En el POS aprovechamos una fila adicional para grupos/opciones sin
     sacrificar los controles táctiles. Bootstrap limita modal-lg a 800px,
     por eso definimos también max-width de forma explícita. */
  width: min(1120px, calc(100% - 1.5rem));
  max-width: min(1120px, calc(100% - 1.5rem));
  margin-right: auto;
  margin-left: auto;
}
.orden-pos__modal-configuracion {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  background: var(--bs-body-bg);
}
.orden-pos__modal-configuracion .modal-header {
  padding: 1rem 1.2rem;
  border-bottom-color: var(--bs-border-color);
}
.orden-pos__modal-configuracion .modal-title {
  margin-top: 0.1rem;
  font-size: 1.2rem;
  font-weight: 850;
}
.orden-pos__modal-configuracion .modal-body {
  padding: 1.1rem 1.2rem 1.25rem;
}
.orden-pos__modal-footer {
  gap: 0.75rem;
  padding: 0.9rem 1.2rem;
  border-top-color: var(--bs-border-color);
}
.orden-pos__modal-footer .btn {
  min-height: 46px;
  padding-right: 1rem;
  padding-left: 1rem;
  font-weight: 800;
}
.orden-pos__combo-total small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.orden-pos__combo-total strong {
  color: var(--color-primary);
  font-size: 1.35rem !important;
}

[data-bs-theme="dark"] .orden-pos__modal-configuracion {
  border-color: #2b3d70;
  background: #071126;
}
[data-bs-theme="dark"] .orden-pos__modal-configuracion .modal-header,
[data-bs-theme="dark"] .orden-pos__modal-configuracion .modal-footer {
  border-color: #2b3d70;
  background: #0a1630;
}
[data-bs-theme="dark"] .orden-pos__combo-componente {
  border-color: #2c4073;
  background: #0d1b3b;
  box-shadow: none;
}
[data-bs-theme="dark"] .orden-pos__combo-switch,
[data-bs-theme="dark"] .orden-pos__combo-componente .orden-pos__extra-row,
[data-bs-theme="dark"] .orden-pos__combo-componente .orden-pos__extra-control,
[data-bs-theme="dark"] .orden-pos__combo-selector .form-select {
  border-color: #304777;
  background-color: #122248;
}
[data-bs-theme="dark"] .orden-pos__combo-sin-configuracion {
  border-color: #304777;
  background: #0b1936;
}
[data-bs-theme="dark"] .orden-pos__combo-selector .form-select {
  color: #e8efff;
}
[data-bs-theme="dark"]
  .orden-pos__combo-componente
  .orden-pos__extra-control
  button:hover:not(:disabled),
[data-bs-theme="dark"]
  .orden-pos__combo-componente
  .orden-pos__extra-control
  button:focus-visible {
  background: var(--color-primary);
}

@media (max-width: 575.98px) {
  .orden-pos__modal-dialog {
    width: calc(100% - 0.75rem);
    min-height: calc(100% - 0.75rem);
    margin: 0.375rem auto;
  }
  .orden-pos__modal-configuracion {
    min-height: calc(100dvh - 0.75rem);
    border-radius: 0.85rem;
  }
  .orden-pos__modal-configuracion .modal-header,
  .orden-pos__modal-configuracion .modal-body,
  .orden-pos__modal-footer {
    padding-right: 0.9rem;
    padding-left: 0.9rem;
  }
  .orden-pos__combo-componentes {
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }
  .orden-pos__modal-footer,
  .orden-pos__combo-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .orden-pos__modal-actions {
    display: grid !important;
    grid-template-columns: 1fr 1.35fr;
  }
  .orden-pos__modal-actions .btn {
    min-width: 0;
    padding-right: 0.65rem;
    padding-left: 0.65rem;
    font-size: 0.84rem;
  }
}

@media (max-width: 575.98px) {
  .orden-pos__extras {
    grid-template-columns: 1fr;
  }
}

.btnMenuAcciones {
  border-radius: 50%;
  border-color: #0c7286;
  width: 35px;
  height: 35px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff00;
  color: #0c7286;
}
.btnMenuAcciones:first-child:active {
  background-color: #12192d;
  color: #fff;
}
.btnMenuAcciones.show {
  background-color: #0c7286;
  color: #fff;
  border: none;
}
.btnMenuAcciones:hover {
  background-color: #12192d;
  color: #fff;
}

.dropdown-item {
  font-size: 14px;
}

.bg-purple {
  background-color: #6f42c1 !important;
  color: #fff;
}

.logo-dark {
  display: block;
}
.logo-light {
  display: none;
}
[data-bs-theme="dark"] .logo-light {
  display: block;
}

[data-bs-theme="dark"] .logo-dark {
  display: none;
}

.logo-sidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logo-sidebar img {
  width: 120px;
  padding: 15px 0px;
}

@media (max-width: 992px) {
  .logo-sidebar img {
    width: 160px;
  }
}

#loaderGlobal {
  position: fixed;
  inset: 0;
  background: rgb(0 0 0 / 84%);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-box {
  background: #fff;
  padding: 25px 35px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.loader-box {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

i[class^="fi-rr-"]:before,
i[class*=" fi-rr-"]:before,
span[class^="fi-rr-"]:before,
span[class*="fi-rr-"]:before {
  vertical-align: middle !important;
}

.badge-primary,
.badge-secondary,
.badge-success,
.badge-danger,
.badge-warning,
.badge-info,
.badge-light,
.badge-dark,
.badge-purple {
  font-size: 10.8px;
  padding: 3px 5px;
  border-radius: 6px;
  border-width: 1px;
  border-style: solid;
  font-weight: 500;
}

/* =========================================================
LIGHT MODE
========================================================= */

.badge-primary {
  background-color: rgba(13, 110, 253, 0.15);
  color: #0d6efd;
  border-color: rgba(13, 110, 253, 0.25);
}

.badge-secondary {
  background-color: rgb(243, 244, 246);
  color: rgb(107, 114, 128);
  border-color: rgba(108, 117, 125, 0.25);
}

.badge-success {
  background-color: rgba(25, 135, 84, 0.15);
  color: #198754;
  border-color: rgba(25, 135, 84, 0.25);
}

.badge-danger {
  background-color: rgba(220, 53, 69, 0.15);
  color: #dc3545;
  border-color: rgba(220, 53, 69, 0.25);
}

.badge-warning {
  background-color: rgba(255, 193, 7, 0.15);
  color: #d39e00;
  border-color: rgba(255, 193, 7, 0.25);
}

.badge-info {
  background-color: rgba(13, 202, 240, 0.15);
  color: #0dcaf0;
  border-color: rgba(13, 202, 240, 0.25);
}

.badge-light {
  background-color: rgba(248, 249, 250, 0.8);
  color: #212529;
  border-color: rgba(248, 249, 250, 0.18);
}

.badge-dark {
  background-color: rgba(33, 37, 41, 0.15);
  color: #212529;
  border-color: rgba(33, 37, 41, 0.25);
}

.badge-purple {
  background-color: rgba(79, 70, 229, 0.15);
  color: #4f46e5;
  border-color: rgba(79, 70, 229, 0.25);
}

/* =========================================================
DARK MODE
========================================================= */

[data-bs-theme="dark"] .badge-primary {
  background-color: rgba(13, 110, 253, 0.22);
  color: #6ea8fe;
  border-color: rgba(13, 110, 253, 0.45);
}

[data-bs-theme="dark"] .badge-secondary {
  background-color: rgba(148, 163, 184, 0.12);
  color: #cbd5e1;
  border-color: rgba(148, 163, 184, 0.28);
}

[data-bs-theme="dark"] .badge-success {
  background-color: rgba(25, 135, 84, 0.22);
  color: #75e0a7;
  border-color: rgba(25, 135, 84, 0.45);
}

[data-bs-theme="dark"] .badge-danger {
  background-color: rgba(220, 53, 69, 0.22);
  color: #ff808b;
  border-color: rgba(220, 53, 69, 0.45);
}

[data-bs-theme="dark"] .badge-warning {
  background-color: rgba(255, 193, 7, 0.22);
  color: #ffd95e;
  border-color: rgba(255, 193, 7, 0.45);
}

[data-bs-theme="dark"] .badge-info {
  background-color: rgba(13, 202, 240, 0.22);
  color: #6edff6;
  border-color: rgba(13, 202, 240, 0.45);
}

[data-bs-theme="dark"] .badge-light {
  background-color: rgba(248, 249, 250, 0.08);
  color: #f8f9fa;
  border-color: rgba(248, 249, 250, 0.18);
}

[data-bs-theme="dark"] .badge-dark {
  background-color: rgba(255, 255, 255, 0.08);
  color: #f8f9fa;
  border-color: rgba(255, 255, 255, 0.18);
}

[data-bs-theme="dark"] .badge-purple {
  background-color: rgba(79, 70, 229, 0.22);
  color: #a5b4fc;
  border-color: rgba(79, 70, 229, 0.45);
}

[data-bs-theme="dark"] .page-header-ajuste {
  background-color: #12192d;
}
.list-ajuste li {
  list-style: none;
  border-bottom: 1px solid var(--bs-border-color);
}

.list-ajuste li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 15px 0px;
}

.list-ajuste li a i {
  padding: 8px;
  border-radius: 50%;
  font-size: 24px;
  color: #000;
  margin-right: 12px;
}

.list-ajuste li a div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.list-ajuste li a div h5 {
  color: var(--bs-body-color);
  font-size: 16px;
  margin-bottom: 3px;
  /*font-weight: 650;*/
}

.list-ajuste li a div span {
  font-size: 12px;
  color: var(--bs-secondary-color);
}

/* La lista de Ajustes debe conservar contraste tanto en tema claro como oscuro. */
.page-header-ajuste {
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
}

[data-bs-theme="dark"] .list-ajuste li {
  border-color: #273158;
}

[data-bs-theme="dark"] .list-ajuste li a div h5 {
  color: #fff;
}

[data-bs-theme="dark"] .list-ajuste li a div span {
  color: #b9c5dc;
}

/* Selección táctil de áreas de producción en el modal de productos. */
.producto-areas-produccion {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}

.producto-area-produccion {
  position: relative;
  flex: 0 0 auto;
}

.producto-area-produccion__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.producto-area-produccion__label {
  display: grid;
  width: fit-content;
  min-height: 44px;
  grid-template-columns: 27px max-content 18px;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.65rem;
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  cursor: pointer;
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease;
}

.producto-area-produccion__label:hover {
  border-color: color-mix(
    in srgb,
    var(--bs-primary) 55%,
    var(--bs-border-color)
  );
}

.producto-area-produccion__icon {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 0.5rem;
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 13%, transparent);
  font-size: 1rem;
}

.producto-area-produccion__label strong {
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.producto-area-produccion__check {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid var(--bs-border-color);
  border-radius: 50%;
  color: transparent;
  font-size: 0.78rem;
}

.producto-area-produccion__input:checked + .producto-area-produccion__label {
  border-color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 11%, var(--bs-tertiary-bg));
  box-shadow: 0 0 0 0.14rem rgba(var(--bs-primary-rgb), 0.12);
}

.producto-area-produccion__input:checked
  + .producto-area-produccion__label
  .producto-area-produccion__check {
  border-color: var(--bs-primary);
  color: #fff;
  background: var(--bs-primary);
}

.producto-area-produccion__input:focus-visible
  + .producto-area-produccion__label {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}

.producto-grupos-comentario {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.producto-grupo-comentario {
  position: relative;
  flex: 0 0 auto;
}

.producto-grupo-comentario__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.producto-grupo-comentario__label {
  display: inline-grid;
  grid-template-columns: 15px max-content 15px;
  align-items: center;
  gap: 0.35rem;
  min-height: 33px;
  margin: 0;
  padding: 0.3rem 0.5rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.1;
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease;
}

.producto-grupo-comentario__label > i:first-child {
  color: var(--bs-primary);
  font-size: 0.82rem;
}

.producto-grupo-comentario__check {
  display: grid;
  width: 15px;
  height: 15px;
  place-items: center;
  border: 1px solid var(--bs-border-color);
  border-radius: 50%;
  color: transparent;
  font-size: 0.62rem;
}

.producto-grupo-comentario__input:checked + .producto-grupo-comentario__label {
  border-color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 11%, var(--bs-tertiary-bg));
  box-shadow: 0 0 0 0.1rem rgba(var(--bs-primary-rgb), 0.1);
}

.producto-grupo-comentario__input:checked
  + .producto-grupo-comentario__label
  .producto-grupo-comentario__check {
  border-color: var(--bs-primary);
  color: #fff;
  background: var(--bs-primary);
}

.producto-grupo-comentario__input:focus-visible
  + .producto-grupo-comentario__label {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px;
}

[data-bs-theme="dark"] .producto-area-produccion__label {
  border-color: #29416f;
  color: #e7efff;
  background: #0b1835;
}

[data-bs-theme="dark"] .producto-area-produccion__check {
  border-color: #365181;
}

[data-bs-theme="dark"] .producto-grupo-comentario__label {
  border-color: #29416f;
  color: #e7efff;
  background: #0b1835;
}

[data-bs-theme="dark"] .producto-grupo-comentario__check {
  border-color: #365181;
}

@media (max-width: 575.98px) {
  .producto-areas-produccion {
    gap: 0.45rem;
  }
}

.fi {
  vertical-align: middle !important;
}

div.dataTables_wrapper div.dataTables_info {
  float: left;
  padding-top: 8px;
  margin-right: 12px;
}
div.dataTables_wrapper div.dataTables_paginate {
  float: left;
}

@media (min-width: 992px) {
  .col-lg-2-custom {
    flex: 0 0 auto;
    width: 14.666667%;
  }
}

/* =========================================================
   POS - ORDEN DE PEDIDO
========================================================= */
.orden-pos {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 16px;
  background: var(--bs-body-bg);
}
.orden-pos__header {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 78px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--bs-border-color);
}
.orden-pos__header-main {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: max-content;
}
.orden-pos__back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
  color: var(--bs-body-color);
  text-decoration: none;
  transition: all 0.16s ease;
}
.orden-pos__back:hover {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #fff;
}
.orden-pos__eyebrow,
.orden-pos__catalogo-title small,
.orden-pos__pedido-header small,
.orden-pos__cliente small {
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.orden-pos__status {
  font-size: 10px;
}
.orden-pos__header-data {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 14px;
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 600;
}
.orden-pos__header-data span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.orden-pos__header-data i {
  color: var(--color-primary);
  font-size: 16px;
}
.orden-pos__header-data strong {
  color: var(--bs-body-color);
}
.orden-pos__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  min-height: calc(100vh - 230px);
}
.orden-pos__catalogo {
  min-width: 0;
  padding: 20px;
}
.orden-pos__catalogo-tools {
  display: flex;
  gap: 9px;
}
.orden-pos__search {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 9px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
  background: var(--bs-body-bg);
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.orden-pos__search:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.15);
}
.orden-pos__search i {
  color: var(--bs-secondary-color);
  font-size: 19px;
}
.orden-pos__search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--bs-body-color);
  font-size: 14px;
}
.orden-pos__categorias {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  overflow-x: auto;
  margin-top: 6px;
  margin-bottom: 0;
  padding: 9px 0;
}
.orden-pos__categoria {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  flex: 0 0 auto;
  padding: 7px 13px;
  border: 1px solid var(--bs-border-color);
  border-radius: 20px;
  background: transparent;
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  transition: all 0.15s ease;
}
.orden-pos__categoria--favoritos {
  gap: 6px;
}
.orden-pos__categoria--favoritos i {
  color: #f5b301;
  font-size: 14px;
}
.orden-pos__categoria:hover,
.orden-pos__categoria.active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #fff;
}
.orden-pos__catalogo-title,
.orden-pos__pedido-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 20px 0 14px;
}
.orden-pos__catalogo-title h5,
.orden-pos__pedido-header h5 {
  font-size: 17px;
}
.orden-pos__catalogo-title {
  margin: 10px 0 12px;
}
.orden-pos__catalogo-title > span {
  padding: 4px 8px;
  border-radius: 20px;
  background: var(--bs-secondary-bg);
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 700;
}
.orden-pos__productos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  gap: 12px;
}
.orden-pos__producto {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 154px;
  padding: 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  text-align: left;
  cursor: pointer;
  touch-action: manipulation;
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}
.orden-pos__producto:hover {
  transform: translateY(-2px);
  border-color: var(--color-primary);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}
.orden-pos__producto-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: auto;
  border-radius: 10px;
  font-size: 22px;
}
.orden-pos__producto-image {
  position: relative;
  display: block;
  width: 100%;
  height: 68px;
  overflow: hidden;
  border-radius: 9px;
  background: var(--bs-secondary-bg);
}
.orden-pos__producto-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.orden-pos__producto-variaciones {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  background: #dc3545;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.28);
}
.orden-pos__producto-name {
  margin-top: 13px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  display: -webkit-box;
  min-height: 2.4em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.orden-pos__producto-price {
  margin-top: 5px;
  color: var(--color-primary);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.1;
}
.orden-pos__producto-price--desde {
  display: grid;
  gap: 1px;
  line-height: 1.05;
}
.orden-pos__producto-price-prefix {
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}
.orden-pos__producto-price--desde > span {
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.1;
}
.orden-pos__sin-productos {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: var(--bs-secondary-color);
  font-size: 13px;
  text-align: center;
}
.orden-pos__sin-productos i {
  margin-bottom: 8px;
  font-size: 32px;
}
.orden-pos__sin-productos strong {
  color: var(--bs-body-color);
  font-size: 14px;
}
.orden-pos__sin-productos small {
  max-width: 290px;
  margin-top: 4px;
  color: var(--bs-secondary-color);
  line-height: 1.35;
}
.orden-pos__pedido {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px;
  border-left: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
.orden-pos__pedido-header {
  margin: 0 0 14px;
}
.orden-pos__cliente {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  text-align: left;
  transition: border-color 0.15s ease;
}
.orden-pos__cliente--resumen {
  min-height: 68px;
}
.orden-pos__cliente-wrap {
  position: relative;
}
.orden-pos__cliente-wrap .orden-pos__cliente {
  min-height: 68px;
  padding-right: 48px;
}
.orden-pos__cliente-wrap.sin-edicion .orden-pos__cliente {
  padding-right: 10px;
}
.orden-pos__cliente-editar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: 9px;
  width: 31px;
  height: 31px;
  border: 1px solid var(--bs-border-color);
  border-radius: 8px;
  background: var(--bs-body-bg);
  color: var(--color-primary);
  transform: translateY(-50%);
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}
.orden-pos__cliente-editar:hover {
  border-color: var(--color-primary);
  background: rgba(var(--bs-primary-rgb), 0.1);
}
.orden-pos__cliente:hover {
  border-color: var(--color-primary);
}
.orden-pos__cliente span:not(.orden-pos__cliente-icon) {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 1px;
}
.orden-pos__cliente strong {
  display: -webkit-box;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.orden-pos__cliente #clientePedidoDocumento {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orden-pos__clientes-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-height: 380px;
  overflow-y: auto;
}
.orden-pos__cliente-item {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  text-align: left;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}
.orden-pos__cliente-item:hover {
  border-color: var(--color-primary);
  background: var(--bs-secondary-bg);
}
.orden-pos__cliente-item > span:not(.orden-pos__cliente-item-icon) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}
.orden-pos__cliente-item strong {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orden-pos__cliente-item small {
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orden-pos__cliente-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  color: var(--color-primary);
  background: rgba(var(--bs-primary-rgb), 0.12);
}
.orden-pos__clientes-loading,
.orden-pos__clientes-empty {
  padding: 24px 12px;
  color: var(--bs-secondary-color);
  font-size: 12px;
  text-align: center;
}
.orden-pos__cliente-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(var(--bs-primary-rgb), 0.12);
  color: var(--color-primary);
}
.orden-pos__detalle-vacio {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 230px;
  padding: 22px;
  color: var(--bs-secondary-color);
  text-align: center;
}
.orden-pos__detalle-vacio > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--bs-secondary-bg);
  color: var(--color-primary);
  font-size: 28px;
}
.orden-pos__detalle-vacio h6 {
  color: var(--bs-body-color);
}
.orden-pos__detalle-vacio p {
  max-width: 220px;
  margin: 0;
  font-size: 12px;
}
.orden-pos__totales {
  padding: 14px 0;
  border-top: 1px dashed var(--bs-border-color);
}
.orden-pos__totales > div {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
  color: var(--bs-secondary-color);
  font-size: 13px;
}
.orden-pos__totales strong {
  color: var(--bs-body-color);
}
.orden-pos__total-final {
  align-items: center;
  margin: 11px 0 0 !important;
  padding-top: 12px;
  border-top: 1px solid var(--bs-border-color);
  color: var(--bs-body-color) !important;
  font-weight: 800;
}
.orden-pos__total-final strong {
  color: var(--color-primary);
  font-size: 20px;
}
.orden-pos__acciones {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.orden-pos__acciones .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  min-height: 52px;
  font-size: 14px;
  font-weight: 700;
}
.orden-pos__comandas-list {
  display: grid;
  gap: 10px;
}
.orden-pos__comandas-vacio {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  gap: 9px;
  color: var(--bs-secondary-color);
  text-align: center;
}
.orden-pos__comandas-vacio i {
  font-size: 30px;
}
.orden-pos__comanda-historial {
  padding: 13px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  background: var(--bs-tertiary-bg);
}
.orden-pos__comanda-historial.anulacion {
  border-color: rgba(220, 53, 69, 0.5);
}
.orden-pos__comanda-historial-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.orden-pos__comanda-historial-head strong {
  font-size: 14px;
}
.orden-pos__comanda-historial-head small {
  display: block;
  margin-top: 4px;
  color: var(--bs-secondary-color);
  font-size: 12px;
}
.orden-pos__comanda-ultimo {
  padding: 3px 6px;
  border-radius: 5px;
  color: #0d6efd;
  background: rgba(13, 110, 253, 0.1);
  font-size: 10px;
  font-weight: 800;
}
.orden-pos__comanda-productos {
  display: grid;
  gap: 3px;
  margin: 11px 0 0;
  padding: 10px 0 0 18px;
  border-top: 1px dashed var(--bs-border-color);
  color: var(--bs-body-color);
  font-size: 12px;
}
.orden-pos__comanda-productos small {
  color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .orden-pos {
  border-color: #273158;
  background: #0c1536;
}
[data-bs-theme="dark"] .orden-pos__header,
[data-bs-theme="dark"] .orden-pos__pedido {
  border-color: #273158;
}
[data-bs-theme="dark"] .orden-pos__pedido {
  background: #101a3b;
}
[data-bs-theme="dark"] .orden-pos__search,
[data-bs-theme="dark"] .orden-pos__producto,
[data-bs-theme="dark"] .orden-pos__cliente {
  border-color: #303b65;
  background: #121d42;
}
[data-bs-theme="dark"] .orden-pos__producto:hover,
[data-bs-theme="dark"] .orden-pos__cliente:hover {
  border-color: #5a8dee;
  background: #162653;
}
[data-bs-theme="dark"] .orden-pos__categoria {
  border-color: #303b65;
}
[data-bs-theme="dark"] #modalHistorialComandas .modal-content {
  border-color: #2b3d70;
  background: #071126;
}
[data-bs-theme="dark"] #modalHistorialComandas .modal-header,
[data-bs-theme="dark"] #modalHistorialComandas .modal-footer {
  border-color: #2b3d70;
  background: #0a1630;
}
[data-bs-theme="dark"] .orden-pos__comanda-historial {
  border-color: #2c4073;
  background: #0d1b3b;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}
[data-bs-theme="dark"] .orden-pos__comanda-historial.anulacion {
  border-color: rgba(239, 68, 68, 0.62);
  background: rgba(127, 29, 29, 0.16);
}
[data-bs-theme="dark"] .orden-pos__comanda-productos {
  border-color: #2c4073;
  color: #e8efff;
}
[data-bs-theme="dark"] .orden-pos__comanda-ultimo {
  color: #82b5ff;
  background: rgba(49, 116, 229, 0.18);
}
[data-bs-theme="dark"] .venta-pos__comandas {
  border-color: #2b3d70;
  background: #091633;
}
[data-bs-theme="dark"] .venta-pos__comandas-header {
  padding-bottom: 8px;
  border-bottom: 1px solid #2b3d70;
  color: #e8efff;
}
[data-bs-theme="dark"] .venta-pos__comanda-item {
  border: 1px solid #2c4073;
  background: #0d1b3b;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
[data-bs-theme="dark"] .venta-pos__comanda-item:hover {
  border-color: #42639f;
  background: #102148;
}
[data-bs-theme="dark"] #mantenimientoDemo .card {
  border-color: #2b3d70 !important;
  background: #071126;
}
[data-bs-theme="dark"] #mantenimientoDemo .card-header,
[data-bs-theme="dark"] #mantenimientoDemo .card-footer {
  border-color: #2b3d70 !important;
  background: #0a1630 !important;
}
[data-bs-theme="dark"] #mantenimientoDemo .card-body {
  background: #071126;
}
#mantenimientoDemo .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}
#mantenimientoDemo .form-check-input {
  float: none;
  flex: 0 0 auto;
  margin: 0.28rem 0 0 !important;
}
#mantenimientoDemo .form-check-label {
  margin: 0 !important;
}
[data-bs-theme="dark"] .orden-pos__totales,
[data-bs-theme="dark"] .orden-pos__total-final {
  border-color: #303b65;
}
[data-bs-theme="light"] .btn-outline-light {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--color-primary);
  --bs-btn-hover-border-color: var(--color-primary);
  --bs-btn-focus-shadow-rgb: 12, 114, 134;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--color-primary);
  --bs-btn-active-border-color: var(--color-primary);
  --bs-btn-disabled-color: var(--bs-secondary-color);
  --bs-btn-disabled-border-color: var(--bs-border-color);
}
@media (min-width: 992px) {
  .orden-pos__producto {
    min-height: 194px;
  }
  .orden-pos__producto-image {
    height: 92px;
  }
  .orden-pos__body {
    height: calc(100dvh - 178px);
    min-height: 0;
    max-height: calc(100dvh - 178px);
    overflow: hidden;
  }
  .orden-pos__catalogo,
  .orden-pos__pedido {
    min-height: 0;
    overflow: hidden;
  }
  .orden-pos__catalogo {
    display: flex;
    flex-direction: column;
  }
  .orden-pos__productos {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 2px 4px 6px 0;
  }
  .orden-pos__detalle {
    min-height: 0;
    max-height: none;
    overscroll-behavior: contain;
  }
}
@media (max-width: 991.98px) {
  .orden-pos__header {
    flex-wrap: wrap;
  }
  .orden-pos__header-data {
    order: 3;
    flex-basis: 100%;
  }
  .orden-pos__body {
    grid-template-columns: 1fr;
  }
  .orden-pos__pedido {
    min-height: 430px;
    border-top: 1px solid var(--bs-border-color);
    border-left: 0;
  }
}
@media (max-width: 575.98px) {
  .orden-pos {
    margin-right: -2px;
    margin-left: -2px;
    border-radius: 11px;
  }
  .orden-pos__header,
  .orden-pos__catalogo,
  .orden-pos__pedido {
    padding: 14px;
  }
  .orden-pos__header-main h4 {
    font-size: 19px;
  }
  .orden-pos__header-data {
    gap: 6px 10px;
  }
  .orden-pos__categorias {
    min-height: 48px;
    margin-top: 8px;
    margin-bottom: 8px;
    padding: 6px 0;
  }
  .orden-pos__productos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
  .orden-pos__producto {
    min-height: 151px;
  }
  .orden-pos__producto-image {
    height: 70px;
  }
  .orden-pos__producto-name {
    margin-top: 9px;
    font-size: 12px;
  }
  .orden-pos__producto-price {
    font-size: 16px;
  }
  .orden-pos__producto-stock {
    font-size: 11px;
  }
}

.orden-pos__cargando-categorias,
.orden-pos__cargando-productos {
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 600;
}
.orden-pos__cargando-productos {
  display: flex;
  grid-column: 1/-1;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 180px;
}
.orden-pos__producto > small {
  margin-top: 4px;
  color: var(--bs-secondary-color);
  font-size: 10px;
}
.orden-pos__producto-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: auto;
}
.orden-pos__producto-stock {
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.orden-pos__producto-stock.sin-stock {
  color: #dc3545;
}
.orden-pos__producto.sin-stock {
  cursor: not-allowed;
  opacity: 0.52;
}
.orden-pos__producto.cargando {
  cursor: wait;
  opacity: 0.65;
}
.orden-pos__detalle {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 230px;
  max-height: calc(100vh - 450px);
  overflow-y: auto;
  margin: 12px -4px 0;
  padding: 0 4px;
}
.orden-pos__detalle-item {
  padding: 12px 4px;
  border-bottom: 1px solid var(--bs-border-color);
}
.orden-pos__detalle-seccion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  padding: 5px 3px;
  color: var(--bs-secondary-color);
  border-bottom: 1px dashed var(--bs-border-color);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.orden-pos__detalle-seccion:first-child {
  margin-top: 2px;
}
.orden-pos__detalle-seccion span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.orden-pos__detalle-seccion small {
  padding: 3px 6px;
  border-radius: 10px;
  background: var(--bs-secondary-bg);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
}
.orden-pos__detalle-seccion-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  flex: 0 0 auto;
}
.orden-pos__detalle-seccion .orden-pos__detalle-estado {
  padding: 3px 5px;
  border-radius: 5px;
  font-size: 9px;
  letter-spacing: 0;
  white-space: nowrap;
}
.orden-pos__detalle-item--borrador {
  border-left: 2px solid var(--color-primary);
  padding-left: 8px;
}
.orden-pos__detalle-item--enviado {
  opacity: 0.82;
}
.orden-pos__detalle-item-main {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}
.orden-pos__detalle-nombre {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}
.orden-pos__detalle-nombre strong {
  overflow: hidden;
  font-size: 13px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orden-pos__detalle-nombre small {
  color: var(--bs-secondary-color);
  font-size: 11px;
}
.orden-pos__descuento-aplicado {
  color: #d98b00;
  font-weight: 800;
}
.orden-pos__detalle-comentario {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  margin-top: 3px;
  color: var(--color-primary) !important;
  font-weight: 600;
  line-height: 1.25;
}
.orden-pos__detalle-enviado {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 46px;
  height: 28px;
  margin-left: 7px;
  margin-right: 7px;
  padding: 0 7px;
  border: 1px solid rgba(25, 135, 84, 0.45);
  border-radius: 7px;
  color: #198754;
  background: transparent;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}
.orden-pos__detalle-enviado.parcial {
  color: #b77900;
  border-color: rgba(217, 139, 0, 0.55);
}
.orden-pos__pendiente-envio {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 7px;
  color: #b77900;
  font-size: 10px;
  font-weight: 800;
}
[data-bs-theme="dark"] .orden-pos__detalle-enviado {
  color: #4befad !important;
}
.orden-pos__detalle-total {
  flex: 0 0 auto;
  color: var(--color-primary);
  font-size: 13px;
}
.orden-pos__detalle-item-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-left: 0px;
}
.orden-pos__cantidad-control {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 7px;
}
.orden-pos__cantidad-control button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 26px;
  border: 0;
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
}
.orden-pos__cantidad-control button:hover:not(:disabled) {
  background: var(--color-primary);
  color: #fff;
}
.orden-pos__cantidad-control button:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}
.orden-pos__cantidad-control span {
  min-width: 28px;
  color: var(--bs-body-color);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}
.orden-pos__anulacion-stepper {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 8px;
}
.orden-pos__anulacion-stepper button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 38px;
  border: 0;
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
}
.orden-pos__anulacion-stepper button:hover:not(:disabled) {
  background: var(--color-primary);
  color: #fff;
}
.orden-pos__anulacion-stepper button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.orden-pos__anulacion-stepper input {
  width: 100%;
  height: 38px;
  border: 0;
  outline: 0;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  font-weight: 800;
  text-align: center;
}
.orden-pos__swal-anular {
  width: min(370px, calc(100% - 1.5rem)) !important;
}
.orden-pos__swal-anular .swal2-html-container {
  margin: 0 !important;
  padding: 0.25rem 0.65rem 0.35rem;
  text-align: center;
}
.orden-pos__swal-anular-producto {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 4px 10px 13px;
}
.orden-pos__swal-anular-producto > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 2px;
  border-radius: 50%;
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.14);
  font-size: 19px;
}
.orden-pos__swal-anular-producto strong {
  max-width: 100%;
  overflow: hidden;
  color: var(--bs-body-color);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orden-pos__swal-anular-producto small,
.orden-pos__swal-anular-ayuda {
  color: var(--bs-secondary-color);
  font-size: 12px;
  line-height: 1.4;
}
.orden-pos__swal-anular-ayuda {
  margin: 0 3px 16px;
}
.orden-pos__swal-anular-campo {
  margin: 0 auto 13px;
  text-align: center;
}
.orden-pos__swal-anular-campo .form-label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px !important;
  font-weight: 700;
}
.orden-pos__swal-anular-campo .form-control {
  text-align: center;
}
#modalClientePedido .modal-content {
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
}
#modalClientePedido {
  z-index: 1070;
}
.modal-backdrop--cliente-sobre-cobro {
  z-index: 1060;
}
#modalClientePedido .modal-header,
#modalClientePedido .modal-footer {
  border-color: var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
#modalClientePedido .modal-body {
  background: var(--bs-body-bg);
}
[data-bs-theme="dark"] .orden-pos__cliente-editar {
  border-color: #303b65;
  background: #121d42;
  color: #5a9cff;
}
[data-bs-theme="dark"] .orden-pos__cliente-editar:hover {
  border-color: #5a8dee;
  background: #162653;
}
[data-bs-theme="dark"] #modalClientePedido .modal-content {
  border-color: #2b3d70;
  background: #071126;
}
[data-bs-theme="dark"] #modalClientePedido .modal-header,
[data-bs-theme="dark"] #modalClientePedido .modal-footer {
  border-color: #2b3d70;
  background: #0a1630;
}
[data-bs-theme="dark"] #modalClientePedido .modal-body {
  background: #071126;
}
[data-bs-theme="dark"] #modalClientePedido .form-control,
[data-bs-theme="dark"] #modalClientePedido .form-select {
  border-color: #304777;
  background-color: #122248;
  color: #e8efff;
}
[data-bs-theme="dark"] #modalClientePedido .form-control::placeholder {
  color: #8fa4ce;
}
[data-bs-theme="dark"] #modalClientePedido .orden-pos__search,
[data-bs-theme="dark"] #modalClientePedido .orden-pos__cliente-item {
  border-color: #304777;
  background: #0d1b3b;
}
[data-bs-theme="dark"] #modalClientePedido .orden-pos__cliente-item:hover {
  border-color: #5a8dee;
  background: #122248;
}
[data-bs-theme="dark"] .orden-pos__swal-anular .orden-pos__anulacion-stepper {
  border-color: #304777;
}
[data-bs-theme="dark"]
  .orden-pos__swal-anular
  .orden-pos__anulacion-stepper
  button {
  background: #122248;
  color: #e8efff;
}
[data-bs-theme="dark"]
  .orden-pos__swal-anular
  .orden-pos__anulacion-stepper
  input {
  background: #0d1b3b;
  color: #fff;
}
.orden-pos__detalle-eliminar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 7px;
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}
.orden-pos__detalle-comentar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: auto;
  margin-right: 6px;
  border: 0;
  border-radius: 7px;
  background: rgba(var(--bs-primary-rgb), 0.1);
  /*color:var(--color-primary);*/
  color: #0dcaf0;
}
.orden-pos__detalle-descuento {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: 6px;
  margin-right: 6px;
  border: 0;
  border-radius: 7px;
  background: rgba(217, 139, 0, 0.12);
  color: #c77f00;
}
.orden-pos__detalle-descuento:hover,
.orden-pos__detalle-descuento.active {
  background: #d98b00;
  color: #fff;
}
.orden-pos__descuento-producto {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
}
.orden-pos__descuento-producto > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(217, 139, 0, 0.12);
  color: #c77f00;
}
.orden-pos__descuento-producto small,
.orden-pos__descuento-producto strong {
  display: block;
}
.orden-pos__descuento-producto small {
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 800;
}
.orden-pos__detalle-comentar:hover {
  background: var(--color-primary);
  color: #fff;
}
.orden-pos__comentarios-sugeridos {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.orden-pos__comentarios-agrupados {
  display: grid;
  gap: 10px;
}
.orden-pos__comentario-grupo {
  padding: 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  background: rgba(var(--bs-primary-rgb), 0.035);
}
.orden-pos__comentario-grupo-titulo {
  display: block;
  margin-bottom: 8px;
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.orden-pos__comentario-grupo-opciones {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.grupo-comentario__lista {
  display: grid;
  gap: 8px;
  max-height: 430px;
  overflow-y: auto;
}
.grupo-variacion__lista {
  display: grid;
  gap: 8px;
  max-height: 430px;
  overflow-y: auto;
}
.grupo-comentario__item {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
  background: transparent;
  color: var(--bs-body-color);
  text-align: left;
  transition: all 0.15s ease;
}
.grupo-variacion__item {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
  background: transparent;
  color: var(--bs-body-color);
  text-align: left;
  transition: all 0.15s ease;
}
.grupo-comentario__item:hover,
.grupo-comentario__item.active {
  border-color: var(--color-primary);
  background: rgba(var(--bs-primary-rgb), 0.09);
}
.grupo-variacion__item:hover,
.grupo-variacion__item.active {
  border-color: var(--color-primary);
  background: rgba(var(--bs-primary-rgb), 0.09);
}
.grupo-comentario__item strong,
.grupo-comentario__item small {
  display: block;
}
.grupo-variacion__item strong,
.grupo-variacion__item small {
  display: block;
}
.grupo-comentario__item small {
  margin-top: 2px;
  color: var(--bs-secondary-color);
  font-size: 11px;
}
.grupo-variacion__item small {
  margin-top: 2px;
  color: var(--bs-secondary-color);
  font-size: 11px;
}
.orden-pos__comentario-sugerido {
  padding: 6px 9px;
  border: 1px solid var(--bs-border-color);
  border-radius: 18px;
  color: var(--bs-secondary-color);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  transition: all 0.15s ease;
}
.btn-check:checked + .orden-pos__comentario-sugerido {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #fff;
}
.producto-comentarios-sugeridos {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.producto-comentario-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 7px 5px 9px;
  border-radius: 15px;
  background: rgba(var(--bs-primary-rgb), 0.1);
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 700;
}
.producto-comentario-chip button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
}
.producto-comentario-chip button:hover {
  background: var(--color-primary);
  color: #fff;
}
.orden-pos__detalle-eliminar:hover {
  background: #dc3545;
  color: #fff;
}
.orden-pos__detalle-eliminar--principal {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
}
[data-bs-theme="dark"] .orden-pos__detalle-item,
[data-bs-theme="dark"] .orden-pos__cantidad-control {
  border-color: #303b65;
}
@media (max-width: 991.98px) {
  .orden-pos__detalle {
    max-height: none;
  }
}
@media (min-width: 992px) {
  .orden-pos__detalle {
    min-height: 0;
    max-height: none;
    overscroll-behavior: contain;
  }
}

.orden-pos__mobile-backdrop,
.orden-pos__mobile-cart {
  display: none;
}

@media (max-width: 767.98px) {
  body.orden-pos-mobile-open {
    overflow: hidden;
  }
  .orden-pos__header {
    gap: 10px;
    min-height: 0;
  }
  .orden-pos__header-main {
    min-width: 0;
  }
  .orden-pos__header-main h4 {
    font-size: 18px;
  }
  .orden-pos__header-data {
    gap: 6px 10px;
    font-size: 11px;
  }
  .orden-pos__catalogo {
    padding-bottom: 96px;
  }
  .orden-pos__productos {
    gap: 10px;
  }
  .orden-pos__producto {
    min-height: 151px;
    padding: 10px;
  }
  .orden-pos__producto-image {
    height: 64px;
  }
  .orden-pos__producto-name {
    margin-top: 10px;
    font-size: 12px;
  }
  .orden-pos__pedido {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1045;
    width: 100%;
    height: min(82dvh, 680px);
    min-height: 0;
    padding: 15px 14px calc(14px + env(safe-area-inset-bottom));
    border: 1px solid var(--bs-border-color);
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -16px 36px rgba(0, 0, 0, 0.26);
    transform: translateY(calc(100% + 20px));
    transition: transform 0.25s ease;
    will-change: transform;
  }
  .orden-pos__pedido.mobile-open {
    transform: translateY(0);
  }
  .orden-pos__pedido-header {
    flex: 0 0 auto;
  }
  .orden-pos__cliente {
    flex: 0 0 auto;
  }
  .orden-pos__detalle {
    min-height: 0;
    max-height: none;
    margin-top: 9px;
  }
  .orden-pos__detalle-item {
    padding: 11px 2px;
  }
  .orden-pos__detalle-item-actions {
    min-height: 34px;
    margin-top: 7px;
  }
  .orden-pos__cantidad-control button,
  .orden-pos__detalle-eliminar,
  .orden-pos__detalle-comentar,
  .orden-pos__detalle-descuento {
    width: 34px;
    height: 34px;
  }
  .orden-pos__cantidad-control span {
    min-width: 33px;
  }
  .orden-pos__totales {
    flex: 0 0 auto;
    padding: 11px 0;
  }
  .orden-pos__acciones {
    flex: 0 0 auto;
  }
  .orden-pos__acciones .btn {
    min-height: 50px;
    padding: 5px 3px;
    font-size: 13px;
  }
  .orden-pos__comanda-historial-head {
    flex-direction: column;
  }
  .orden-pos__comanda-historial-head .btn {
    width: 100%;
  }
  .orden-pos__mobile-backdrop {
    display: block;
    position: fixed;
    z-index: 1040;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    background: rgba(0, 0, 0, 0.48);
    transition:
      opacity 0.2s ease,
      visibility 0.2s ease;
  }
  .orden-pos__mobile-backdrop.show {
    visibility: visible;
    opacity: 1;
  }
  .orden-pos__mobile-cart {
    display: flex;
    position: fixed;
    z-index: 1038;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: 12px;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    padding: 9px 14px;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
    color: #fff;
    background: var(--color-primary);
    font-size: 14px;
    font-weight: 800;
    text-align: left;
  }
  .orden-pos__mobile-cart > strong {
    margin-left: auto;
    font-size: 16px;
  }
  .orden-pos__mobile-cart > .ti-chevron-up {
    font-size: 18px;
  }
  .orden-pos__mobile-cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    font-size: 21px;
  }
  .orden-pos__mobile-cart-icon strong {
    position: absolute;
    top: -6px;
    right: -9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border: 2px solid var(--color-primary);
    border-radius: 10px;
    color: var(--color-primary);
    background: #fff;
    font-size: 9px;
  }
}

.orden-pos__variaciones {
  display: grid;
  gap: 14px;
}
.orden-pos__variacion-grupo {
  padding: 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  background: rgba(var(--bs-primary-rgb), 0.035);
}
.orden-pos__variacion-grupo-titulo {
  display: block;
  margin-bottom: 8px;
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.orden-pos__variacion-grupo-opciones {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.orden-pos__variacion {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5px;
  width: 100%;
  min-height: 64px;
  padding: 9px 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  color: var(--bs-body-color);
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  transition: 0.15s ease;
}

.orden-pos__variacion:hover,
.orden-pos__variacion:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 10%, var(--bs-body-bg));
  outline: none;
}

.orden-pos__variacion strong {
  color: var(--color-primary);
  font-size: 12px;
  white-space: nowrap;
}

.orden-pos__variacion > span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.15;
}

.orden-pos__variacion > span small {
  display: block;
  margin-top: 3px;
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 600;
}

@media (max-width: 390px) {
  .orden-pos__variacion-grupo-opciones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Configuración inicial: menú de preferencias por sucursal */
.configuracion-inicial__layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.configuracion-inicial__menu {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  min-width: 0;
  padding: 0.15rem 0 0.55rem;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.configuracion-inicial__menu .nav-link {
  flex: 0 0 auto;
  text-align: left;
  white-space: nowrap;
}

.configuracion-inicial__content {
  min-width: 0;
  padding: 0.1rem 0;
}

@media (min-width: 992px) {
  .configuracion-inicial__layout {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .configuracion-inicial__menu {
    display: flex;
    flex: 0 0 185px;
    flex-direction: column;
    width: 185px;
    min-width: 185px;
    padding: 0.15rem 1rem 0.15rem 0.1rem;
    overflow: visible;
    border-right: 1px solid var(--bs-border-color);
  }

  .configuracion-inicial__menu .nav-link {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .configuracion-inicial__content {
    flex: 1 1 auto;
    width: calc(100% - 210px);
    padding: 0.1rem 0.1rem 0.1rem 0;
  }
}

@media (max-width: 575.98px) {
  .configuracion-inicial__layout {
    gap: 1rem;
  }
  .configuracion-inicial__menu {
    margin: 0 -0.2rem;
    padding-inline: 0.2rem;
  }
}

/* Control de caja */
.caja-page-header {
  min-height: 72px;
}
.caja-sin-apertura {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 420px;
  padding: 2rem;
  border: 1px dashed var(--bs-border-color);
  border-radius: 16px;
  text-align: center;
  background: var(--bs-tertiary-bg);
}
.caja-sin-apertura__icon {
  display: grid;
  width: 68px;
  height: 68px;
  margin-bottom: 1rem;
  place-items: center;
  border-radius: 50%;
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 14%, transparent);
  font-size: 2rem;
}
.caja-estado {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: var(--bs-body-bg);
}
.caja-estado__principal {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.caja-estado__principal small,
.caja-efectivo-card small {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.caja-estado__icon {
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--color-primary);
  font-size: 1.35rem;
}
.caja-estado__acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.caja-kpi {
  --caja-kpi-color: #2563eb;
  --caja-kpi-rgb: 37, 99, 235;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  height: 100%;
  min-height: 104px;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid
    color-mix(in srgb, var(--caja-kpi-color) 34%, var(--bs-border-color));
  border-radius: 15px;
  background: linear-gradient(
    135deg,
    rgba(var(--caja-kpi-rgb), 0.11),
    var(--bs-body-bg) 60%
  );
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}
.caja-kpi::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -58px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: rgba(var(--caja-kpi-rgb), 0.14);
}
.caja-kpi:hover {
  transform: translateY(-2px);
  border-color: color-mix(
    in srgb,
    var(--caja-kpi-color) 58%,
    var(--bs-border-color)
  );
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.11);
}
.caja-kpi > div,
.caja-kpi > span {
  position: relative;
  z-index: 1;
}
.caja-kpi > span {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 12px;
  color: var(--caja-kpi-color);
  background: rgba(var(--caja-kpi-rgb), 0.16);
  font-size: 1.3rem;
}
.caja-kpi small {
  display: block;
  margin-bottom: 0.22rem;
  color: var(--bs-secondary-color);
  font-size: 0.78rem;
  font-weight: 700;
}
.caja-kpi strong {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.1;
}
.caja-kpi--neutral {
  --caja-kpi-color: #2563eb;
  --caja-kpi-rgb: 37, 99, 235;
}
.caja-kpi--success {
  --caja-kpi-color: #22b573;
  --caja-kpi-rgb: 34, 181, 115;
}
.caja-kpi--income {
  --caja-kpi-color: #13a7a0;
  --caja-kpi-rgb: 19, 167, 160;
}
.caja-kpi--danger {
  --caja-kpi-color: #e75167;
  --caja-kpi-rgb: 231, 81, 103;
}
.caja-efectivo-card {
  overflow: hidden;
  border-color: color-mix(
    in srgb,
    var(--color-primary) 38%,
    var(--bs-border-color)
  );
}
.caja-efectivo-card__monto {
  margin: 0.55rem 0 1.25rem;
  color: var(--color-primary);
  font-size: 2rem;
}
.caja-efectivo-card__detalle {
  border-top: 1px dashed var(--bs-border-color);
}
.caja-efectivo-card__detalle div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.42rem 0;
  font-size: 0.86rem;
}
.caja-efectivo-card__detalle span {
  color: var(--bs-secondary-color);
}
.caja-medios-pago {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
}
.caja-medio-pago {
  position: relative;
  overflow: hidden;
  padding: 0.85rem 0.85rem 0.75rem 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  background: var(--bs-body-bg);
}
.caja-medio-pago__color {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: var(--medio-color);
}
.caja-medio-pago small {
  color: var(--bs-secondary-color);
  font-size: 0.75rem;
}
.caja-medio-pago strong {
  display: block;
  font-size: 1.05rem;
}
.caja-medio-pago > small {
  display: block;
  margin-top: 0.55rem;
}
.caja-medio-pago > small span {
  opacity: 0.55;
}
.caja-cierre-esperado {
  padding: 1rem;
  border-radius: 12px;
  color: #fff;
  background: var(--color-primary);
}
.caja-cierre-esperado small {
  display: block;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.caja-cierre-esperado strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.7rem;
}
[data-bs-theme="dark"] .caja-sin-apertura,
[data-bs-theme="dark"] .caja-estado,
[data-bs-theme="dark"] .caja-medio-pago {
  background: #08132c;
  border-color: #23345d;
}
[data-bs-theme="dark"] .caja-kpi {
  background: linear-gradient(
    135deg,
    rgba(var(--caja-kpi-rgb), 0.18),
    #08132c 63%
  );
  border-color: color-mix(in srgb, var(--caja-kpi-color) 36%, #23345d);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}
@media (max-width: 767.98px) {
  .caja-page-header {
    align-items: flex-start;
  }
  .caja-page-header > div:last-child {
    width: 100%;
  }
  .caja-page-header .btn {
    flex: 1;
  }
  .caja-estado {
    align-items: stretch;
    flex-direction: column;
  }
  .caja-estado__acciones .btn {
    flex: 1 1 calc(50% - 0.5rem);
  }
  .caja-kpi {
    min-height: 82px;
  }
  .caja-efectivo-card__monto {
    font-size: 1.65rem;
  }
}

/* KDS / Producción */
.kds-page {
  min-height: calc(100vh - 140px);
}
.kds-page__header {
  min-height: 72px;
}
.kds-page__header-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #f97316, #ea580c);
  font-size: 1.25rem;
}
.kds-page__updated {
  color: var(--bs-secondary-color);
  font-size: 0.78rem;
}
.kds-prioridades {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  margin: 0.1rem 0 0.7rem;
  font-size: 0.68rem;
  font-weight: 700;
}
.kds-prioridades span {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: var(--bs-secondary-color);
}
.kds-prioridades i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #64748b;
}
.kds-prioridades strong {
  color: inherit;
  font-weight: 900;
}
.kds-prioridades__alerta i {
  background: #f59e0b;
}
.kds-prioridades__critica i {
  background: #ef4444;
}
.kds-prioridades__alerta {
  color: #b45309 !important;
}
.kds-prioridades__critica {
  color: #dc2626 !important;
}
.kds-modalidades {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0 0.65rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--bs-border-color);
}
.kds-modalidad {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 36px;
  padding: 0.42rem 0.7rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
  color: var(--bs-secondary-color);
  background: var(--bs-body-bg);
  font-size: 0.75rem;
  font-weight: 850;
  transition: 0.15s ease;
}
.kds-modalidad:hover,
.kds-modalidad.active {
  border-color: var(--color-primary);
  color: #fff;
  background: var(--color-primary);
}
.kds-modalidad strong {
  display: inline-grid;
  min-width: 19px;
  height: 19px;
  place-items: center;
  padding: 0 4px;
  border-radius: 6px;
  color: inherit;
  background: color-mix(in srgb, currentColor 15%, transparent);
  font-size: 0.64rem;
}
.kds-modalidad.active strong {
  background: rgba(255, 255, 255, 0.2);
}
.kds-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 0.7rem;
}
.kds-filtros__select,
.kds-filtros__buscar {
  display: flex;
  align-items: center;
  min-height: 35px;
  border: 1px solid var(--bs-border-color);
  border-radius: 8px;
  background: var(--bs-body-bg);
  overflow: hidden;
}
.kds-filtros__select {
  min-width: 190px;
}
.kds-filtros__buscar {
  min-width: 240px;
  flex: 1 1 260px;
}
.kds-filtros i {
  padding: 0 0.55rem;
  color: var(--bs-secondary-color);
}
.kds-filtros .form-select,
.kds-filtros .form-control {
  min-height: 33px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.kds-filtros .form-select:focus,
.kds-filtros .form-control:focus {
  box-shadow: none;
}
.kds-areas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1rem 0 0.7rem;
}
.kds-area {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 42px;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  font-size: 0.82rem;
  font-weight: 800;
  transition: 0.15s ease;
}
.kds-area:hover,
.kds-area.active {
  border-color: var(--color-primary);
  color: #fff;
  background: var(--color-primary);
}
.kds-area strong,
.kds-column > header strong {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  padding: 0 5px;
  border-radius: 7px;
  color: inherit;
  background: color-mix(in srgb, currentColor 15%, transparent);
  font-size: 0.72rem;
}
.kds-area.active strong {
  background: rgba(255, 255, 255, 0.2);
}
.kds-resumen {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  background: var(--bs-tertiary-bg);
  font-size: 0.8rem;
  font-weight: 700;
}
.kds-resumen span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.kds-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
}
.kds-column {
  min-height: 420px;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: var(--bs-tertiary-bg);
  overflow: hidden;
}
.kds-column > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 49px;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid var(--bs-border-color);
  font-size: 0.88rem;
  font-weight: 800;
}
.kds-column > header > span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.kds-column--pendiente > header {
  color: #b45309;
  background: #fffbeb;
}
.kds-column--en_preparacion > header {
  color: #1d4ed8;
  background: #eff6ff;
}
.kds-column--listo > header {
  color: #15803d;
  background: #f0fdf4;
}
.kds-column__items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: calc(100vh - 280px);
  min-height: 370px;
  padding: 0.75rem;
  overflow: auto;
}
.kds-column__empty {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 220px;
  color: var(--bs-secondary-color);
  font-size: 0.82rem;
  text-align: center;
}
.kds-column__empty i {
  font-size: 2rem;
  opacity: 0.65;
}
.kds-comanda {
  padding: 0.85rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  background: var(--bs-body-bg);
  box-shadow: 0 2px 5px rgba(15, 23, 42, 0.04);
}
.kds-comanda--anulacion {
  border-color: #f43f5e;
}
.kds-comanda > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}
.kds-comanda > header small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.kds-comanda > header h5 {
  margin: 0.1rem 0 0;
  font-size: 1.23rem;
  font-weight: 900;
}
.kds-comanda--anulacion > header small {
  color: #e11d48;
}
.kds-comanda__time {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  color: var(--bs-secondary-color);
  font-size: 0.72rem;
  font-weight: 700;
}
.kds-comanda--alerta {
  border-color: #f59e0b;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.15);
}
.kds-comanda--critica {
  border-color: #ef4444;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.18);
}
.kds-comanda__time--alerta {
  color: #b45309;
}
.kds-comanda__time--critica {
  color: #dc2626;
  font-weight: 900;
}
.kds-comanda__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin: 0.7rem 0;
  padding: 0.6rem 0;
  border-top: 1px dashed var(--bs-border-color);
  border-bottom: 1px dashed var(--bs-border-color);
  color: var(--bs-secondary-color);
  font-size: 0.72rem;
}
.kds-comanda__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.kds-comanda__meta i {
  color: var(--color-primary);
}
.kds-comanda__details {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  margin: 0 0 0.8rem;
  padding: 0;
  list-style: none;
}
.kds-comanda__details li {
  display: flex;
  gap: 0.45rem;
  font-size: 0.85rem;
  font-weight: 750;
  line-height: 1.28;
}
.kds-comanda__details strong {
  min-width: 25px;
  color: var(--color-primary);
}
.kds-comanda__details .kds-comanda__comment {
  display: block;
  margin: -0.12rem 0 0.14rem 29px;
  color: var(--bs-secondary-color);
  font-size: 0.74rem;
  font-weight: 600;
}
.kds-comanda__comment i {
  margin-right: 0.25rem;
}
.btn-kds-accion {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
}
.btn-kds-accion--primary {
  background: #2563eb;
}
.btn-kds-accion--success {
  background: #15803d;
}
.btn-kds-accion--danger {
  background: #e11d48;
}
.btn-kds-accion:hover {
  filter: brightness(1.08);
}
.kds-comanda__ready {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 38px;
  border-radius: 8px;
  color: #15803d;
  background: #dcfce7;
  font-size: 0.8rem;
  font-weight: 800;
}
.kds-comanda__details + .btn-kds-accion {
  margin-top: -0.2rem;
}
.kds-comanda__details {
  gap: 0.55rem;
}
.kds-comanda__details .kds-comanda__detail {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
  padding: 0.6rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 9px;
}
.kds-comanda__detail-main {
  min-width: 0;
}
.kds-comanda__detail-main > div {
  display: flex;
  gap: 0.45rem;
  align-items: flex-start;
}
.kds-comanda__detail-main span {
  overflow-wrap: anywhere;
}
.kds-comanda__detail-main .kds-comanda__comment {
  margin: 0.28rem 0 0;
}
.kds-comanda__detail-actions {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.38rem;
}
.kds-detalle-estado {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0.15rem 0.38rem;
  border-radius: 5px;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.02em;
}
.kds-detalle-estado--warning {
  color: #92400e;
  background: #fef3c7;
}
.kds-detalle-estado--primary {
  color: #1d4ed8;
  background: #dbeafe;
}
.kds-detalle-estado--success {
  color: #166534;
  background: #dcfce7;
}
.kds-detalle-estado--danger {
  color: #be123c;
  background: #ffe4e6;
}
.kds-detalle-estado--secondary {
  color: var(--bs-secondary-color);
  background: var(--bs-tertiary-bg);
}
.btn-kds-detalle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 29px;
  padding: 0.3rem 0.5rem;
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 850;
}
.btn-kds-detalle--primary {
  background: #2563eb;
}
.btn-kds-detalle--success {
  background: #15803d;
}
.btn-kds-detalle--danger {
  background: #e11d48;
}
.btn-kds-detalle:hover {
  filter: brightness(1.08);
}
.kds-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 430px;
  padding: 2rem;
  border: 1px dashed var(--bs-border-color);
  border-radius: 16px;
  color: var(--bs-secondary-color);
  text-align: center;
}
.kds-empty > span {
  display: grid;
  width: 66px;
  height: 66px;
  margin-bottom: 1rem;
  place-items: center;
  border-radius: 50%;
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 13%, transparent);
  font-size: 1.8rem;
}
[data-bs-theme="dark"] .kds-modalidad,
[data-bs-theme="dark"] .kds-area,
[data-bs-theme="dark"] .kds-comanda {
  border-color: #23345d;
  background: #08132c;
}
[data-bs-theme="dark"] .kds-column,
[data-bs-theme="dark"] .kds-resumen {
  border-color: #23345d;
  background: #091533;
}
[data-bs-theme="dark"] .kds-column--pendiente > header {
  color: #fbbf24;
  background: #422006;
}
[data-bs-theme="dark"] .kds-column--en_preparacion > header {
  color: #60a5fa;
  background: #132b59;
}
[data-bs-theme="dark"] .kds-column--listo > header {
  color: #4ade80;
  background: #14532d;
}
[data-bs-theme="dark"] .kds-comanda__ready {
  color: #4ade80;
  background: #14532d;
}
[data-bs-theme="dark"] .kds-prioridades__alerta {
  color: #fbbf24 !important;
}
[data-bs-theme="dark"] .kds-prioridades__critica {
  color: #fda4af !important;
}
[data-bs-theme="dark"] .kds-filtros__select,
[data-bs-theme="dark"] .kds-filtros__buscar {
  border-color: #23345d;
  background: #08132c;
}
[data-bs-theme="dark"] .kds-comanda--alerta {
  border-color: #d97706;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.28);
}
[data-bs-theme="dark"] .kds-comanda--critica {
  border-color: #e11d48;
  box-shadow: 0 0 0 1px rgba(244, 63, 94, 0.32);
}
[data-bs-theme="dark"] .kds-comanda__time--alerta {
  color: #fbbf24;
}
[data-bs-theme="dark"] .kds-comanda__time--critica {
  color: #fda4af;
}
[data-bs-theme="dark"] .kds-filtros__select .form-select {
  color: #e7efff;
  background-color: #08132c;
}
[data-bs-theme="dark"] .kds-filtros__select .form-select option {
  color: #e7efff;
  background-color: #08132c;
}
[data-bs-theme="dark"] .kds-comanda__details .kds-comanda__detail {
  border-color: #23345d;
  background: #0c1938;
}
[data-bs-theme="dark"] .kds-detalle-estado--warning {
  color: #fcd34d;
  background: #54300a;
}
[data-bs-theme="dark"] .kds-detalle-estado--primary {
  color: #93c5fd;
  background: #15386d;
}
[data-bs-theme="dark"] .kds-detalle-estado--success {
  color: #86efac;
  background: #14532d;
}
[data-bs-theme="dark"] .kds-detalle-estado--danger {
  color: #fda4af;
  background: #5f1731;
}
@media (max-width: 991.98px) {
  .kds-board {
    grid-template-columns: 1fr;
  }
  .kds-column {
    min-height: 0;
  }
  .kds-column__items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    max-height: none;
    min-height: 0;
    overflow: visible;
  }
  .kds-column__empty {
    grid-column: 1 / -1;
    min-height: 120px;
  }
}
@media (max-width: 575.98px) {
  .kds-page__header {
    align-items: flex-start;
  }
  .kds-page__header > div:last-child {
    width: 100%;
    justify-content: space-between;
  }
  .kds-page__updated {
    font-size: 0.7rem;
  }
  .kds-modalidades,
  .kds-areas {
    flex-wrap: nowrap;
    margin-right: -0.75rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
  }
  .kds-modalidad,
  .kds-area {
    flex: 0 0 auto;
  }
  .kds-filtros__select,
  .kds-filtros__buscar {
    width: 100%;
    min-width: 0;
  }
  .kds-resumen {
    gap: 0.55rem;
    font-size: 0.72rem;
  }
  .kds-column__items {
    display: flex;
  }
  .kds-comanda {
    padding: 0.75rem;
  }
}

/* En escritorio el KDS debe mantenerse dentro de la altura visible. Cada
   columna conserva su propio scroll, evitando un scroll principal largo. */
@media (min-width: 992px) {
  .main-content:has(.kds-page) {
    height: 100dvh;
    margin-bottom: 0;
    overflow: hidden;
  }

  .main-content:has(.kds-page) > .container-fluid {
    display: flex;
    height: calc(100dvh - 74px);
    flex-direction: column;
    overflow: hidden;
  }

  .kds-page {
    display: flex;
    height: 100%;
    min-height: 0;
    flex-direction: column;
    padding-bottom: 12px;
    overflow: hidden;
  }

  .kds-page__header,
  .kds-modalidades,
  .kds-filtros,
  .kds-areas,
  .kds-resumen {
    flex: 0 0 auto;
  }

  #kdsContenido {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .kds-board {
    min-height: 0;
    flex: 1 1 auto;
    align-items: stretch;
  }

  .kds-column {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .kds-column__items {
    min-height: 0;
    max-height: none;
    flex: 1 1 auto;
  }

  .kds-empty {
    min-height: 0;
    flex: 1 1 auto;
  }
}

.kds-page:fullscreen {
  width: 100vw;
  height: 100dvh;
  padding: 1rem;
  overflow: hidden;
  background: var(--bs-body-bg);
}
.kds-page:fullscreen .kds-page__header {
  margin-bottom: 0.3rem;
}
.kds-page:fullscreen::backdrop {
  background: var(--bs-body-bg);
}
[data-bs-theme="dark"] .kds-page:fullscreen,
[data-bs-theme="dark"] .kds-page:fullscreen::backdrop {
  background: #050d22;
}

/* Alertas de platos listos para el mozo */
.topbar-alertas-mozo__button > i {
  display: inline-block;
}

/* División de cuentas */
.orden-pos__division-cuentas-modal {
  overflow: hidden;
  background: var(--bs-body-bg);
}
.orden-pos__division-resumen {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.7rem;
  background: color-mix(in srgb, var(--color-primary) 8%, var(--bs-body-bg));
  color: var(--bs-secondary-color);
  font-size: 0.8rem;
}
.orden-pos__division-resumen i,
.orden-pos__division-resumen strong {
  color: var(--color-primary);
}
.orden-pos__division-resumen strong {
  font-size: 0.78rem;
  white-space: nowrap;
}
.orden-pos__division-layout {
  display: grid;
  min-height: 420px;
  grid-template-columns: minmax(235px, 0.8fr) minmax(0, 1.7fr);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.75rem;
  overflow: hidden;
}
.orden-pos__division-cuentas {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-right: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
.orden-pos__division-cuentas-head,
.orden-pos__division-productos-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--bs-border-color);
}
.orden-pos__division-cuentas-head small,
.orden-pos__division-productos-head small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}
.orden-pos__division-cuentas-head strong,
.orden-pos__division-productos-head strong {
  display: block;
  font-size: 0.92rem;
}
.orden-pos__division-cuentas-lista {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.65rem;
  overflow-y: auto;
}
.orden-pos__division-cuenta {
  display: grid;
  width: 100%;
  grid-template-columns: 30px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.65rem;
  color: inherit;
  background: var(--bs-body-bg);
  text-align: left;
  transition: 0.16s ease;
}
.orden-pos__division-cuenta:hover,
.orden-pos__division-cuenta.active {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 10%, var(--bs-body-bg));
}
.orden-pos__division-cuenta.pagada {
  opacity: 0.72;
}
.orden-pos__division-cuenta-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 0.55rem;
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 13%, transparent);
}
.orden-pos__division-cuenta span:nth-child(2) {
  min-width: 0;
}
.orden-pos__division-cuenta small,
.orden-pos__division-cuenta em {
  display: block;
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: 0.61rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.orden-pos__division-cuenta strong {
  display: block;
  overflow: hidden;
  font-size: 0.84rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.orden-pos__division-cuenta b {
  color: var(--color-primary);
  font-size: 0.76rem;
  white-space: nowrap;
}
.orden-pos__division-cuenta > .ti-trash {
  padding: 0.18rem;
  border-radius: 0.35rem;
  color: var(--bs-danger);
  cursor: pointer;
}
.orden-pos__division-cuenta > .ti-trash:hover {
  background: color-mix(in srgb, var(--bs-danger) 14%, transparent);
}
.orden-pos__division-productos {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.orden-pos__division-productos-head {
  flex: none;
}
.orden-pos__division-productos-lista {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.7rem;
  overflow-y: auto;
}
.orden-pos__division-producto {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.65rem;
  background: var(--bs-tertiary-bg);
}
.orden-pos__division-producto-info {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.12rem;
}
.orden-pos__division-producto-info strong {
  font-size: 0.83rem;
}
.orden-pos__division-producto-info small {
  color: var(--bs-secondary-color);
  font-size: 0.68rem;
}
.orden-pos__division-producto-control {
  display: grid;
  grid-template-columns: 34px minmax(34px, auto) 34px;
  align-items: center;
  gap: 0.3rem;
}
.orden-pos__division-producto-control button {
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
}
.orden-pos__division-producto-control strong {
  min-width: 34px;
  color: var(--color-primary);
  font-size: 0.88rem;
  text-align: center;
}
.orden-pos__division-vacio,
.orden-pos__division-loading {
  display: flex;
  min-height: 160px;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  color: var(--bs-secondary-color);
  font-size: 0.77rem;
  text-align: center;
}
.orden-pos__division-vacio i,
.orden-pos__division-loading i {
  color: var(--color-primary);
  font-size: 1.7rem;
}
[data-bs-theme="dark"] .orden-pos__division-cuentas-modal {
  background: #050d22;
}
[data-bs-theme="dark"] .orden-pos__division-layout,
[data-bs-theme="dark"] .orden-pos__division-cuentas,
[data-bs-theme="dark"] .orden-pos__division-cuentas-head,
[data-bs-theme="dark"] .orden-pos__division-productos-head {
  border-color: #23345d;
}
[data-bs-theme="dark"] .orden-pos__division-cuentas {
  background: #08132c;
}
[data-bs-theme="dark"] .orden-pos__division-cuenta,
[data-bs-theme="dark"] .orden-pos__division-producto {
  border-color: #29416f;
  background: #0b1835;
}
@media (max-width: 767.98px) {
  .orden-pos__division-resumen {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }
  .orden-pos__division-layout {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .orden-pos__division-cuentas {
    max-height: 245px;
    border-right: 0;
    border-bottom: 1px solid var(--bs-border-color);
  }
  .orden-pos__division-productos {
    min-height: 350px;
  }
  .orden-pos__division-cuentas-head,
  .orden-pos__division-productos-head {
    padding: 0.7rem;
  }
  .orden-pos__division-productos-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .orden-pos__division-productos-head > div:last-child {
    width: 100%;
  }
  .orden-pos__division-productos-head .btn {
    flex: 1;
  }
  .orden-pos__division-producto {
    align-items: flex-start;
    flex-direction: column;
  }
  .orden-pos__division-producto-control {
    align-self: flex-end;
  }
}
.topbar-alertas-sunat {
  position: relative;
  place-items: center;
}
.topbar-alerta-item__top small {
  margin-bottom: 0.45rem;
}
.toastify.toast-alerta-mozo {
  max-width: min(420px, calc(100vw - 28px));
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
}
.toastify.toast-alerta-mozo:hover {
  filter: brightness(1.06);
}
@media (max-width: 767.98px) {
  .toastify.toast-alerta-mozo {
    top: calc(env(safe-area-inset-top) + 12px) !important;
    left: 14px !important;
    right: 14px !important;
    max-width: none !important;
    width: auto !important;
    text-align: center;
  }
}
.venta-pos__mesa-card {
  position: relative;
}
.venta-pos__mesa-qr-alert {
  position: absolute;
  right: 8px;
  top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  border-radius: 999px;
  background: #e65a45;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  box-shadow: 0 0 0 3px rgba(230, 90, 69, 0.16);
  animation: mesaQrPulse 1.5s ease-in-out infinite;
}
.venta-pos__mesa-qr-alert i {
  font-size: 0.76rem;
}
@keyframes mesaQrPulse {
  50% {
    transform: scale(1.08);
  }
}
.venta-pos__qr-requests {
  margin-top: 0.85rem;
  border: 1px solid
    color-mix(in srgb, var(--bs-warning) 42%, var(--bs-border-color));
  border-radius: 0.65rem;
  overflow: hidden;
}
.venta-pos__qr-requests .venta-pos__pedido-detalles-header {
  background: color-mix(in srgb, var(--bs-warning) 9%, var(--bs-tertiary-bg));
}
.venta-pos__qr-request {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border-top: 1px solid var(--bs-border-color);
}
.venta-pos__qr-request > span {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  column-gap: 0.45rem;
  align-items: center;
}
.venta-pos__qr-request i {
  grid-row: span 2;
  color: var(--bs-warning);
  font-size: 1rem;
}
.venta-pos__qr-request strong {
  font-size: 0.78rem;
}
.venta-pos__qr-request small {
  color: var(--bs-secondary-color);
  font-size: 0.65rem;
}
.qr-mesa-mini {
  width: 54px;
  height: 54px;
  padding: 3px;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.4rem;
  background: #fff;
}
.topbar-alertas-sunat__count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border: 2px solid var(--bs-body-bg);
  border-radius: 99px;
  color: #fff;
  background: #e11d48;
  font-size: 0.62rem;
  font-weight: 900;
  line-height: 14px;
  text-align: center;
}
.topbar-alertas-sunat--pendiente img {
  filter: drop-shadow(0 0 4px rgba(225, 29, 72, 0.62));
}
@media (max-width: 767.98px) {
  .topbar-actions {
    gap: 0.5rem !important;
  }
  .topbar-alertas-sunat {
    width: 38px;
    height: 38px;
  }
  .topbar-alertas-sunat img {
    width: 20px !important;
  }
}
.topbar-alertas-mozo {
  position: relative;
}
.topbar-alertas-mozo__button {
  position: relative;
}
.topbar-alertas-mozo__count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border: 2px solid var(--bs-body-bg);
  border-radius: 99px;
  color: #fff;
  background: #e11d48;
  font-size: 0.62rem;
  font-weight: 900;
  line-height: 14px;
}
.topbar-alertas-mozo--pendiente .topbar-alertas-mozo__button > i {
  animation: campana-mozo 0.9s ease-in-out infinite;
  color: #f59e0b;
}
@keyframes campana-mozo {
  0%,
  100% {
    transform: rotate(0);
  }
  20% {
    transform: rotate(14deg);
  }
  40% {
    transform: rotate(-14deg);
  }
  60% {
    transform: rotate(8deg);
  }
  80% {
    transform: rotate(-8deg);
  }
}
.topbar-alertas-mozo__menu {
  width: min(380px, calc(100vw - 24px));
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  background: var(--bs-body-bg);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.22);
}
.topbar-alertas-mozo__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
.topbar-alertas-mozo__header small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}
.topbar-alertas-mozo__header strong {
  display: block;
  font-size: 0.92rem;
}
.topbar-alertas-mozo__header > span {
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 800;
}
.topbar-alertas-mozo__list {
  max-height: min(58vh, 430px);
  overflow-y: auto;
}
.topbar-alertas-mozo__empty {
  display: flex;
  min-height: 135px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 1rem;
  color: var(--bs-secondary-color);
  font-size: 0.8rem;
  text-align: center;
}
.topbar-alertas-mozo__empty i {
  font-size: 1.6rem;
}
.topbar-alerta-item {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--bs-border-color);
}
.topbar-alerta-item:last-child {
  border-bottom: 0;
}
.topbar-alerta-item__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}
.topbar-alerta-item__top strong {
  font-size: 0.83rem;
}
.topbar-alerta-item__top small {
  display: block;
  margin-top: 0.12rem;
  color: var(--bs-secondary-color);
  font-size: 0.7rem;
}
.topbar-alerta-item__time {
  white-space: nowrap;
  color: #15803d;
  font-size: 0.68rem;
  font-weight: 850;
}
.topbar-alerta-item ul {
  margin: 0.55rem 0 0.7rem;
  padding: 0;
  list-style: none;
}
.topbar-alerta-item li {
  display: flex;
  gap: 0.38rem;
  padding: 0.18rem 0;
  font-size: 0.76rem;
  line-height: 1.25;
}
.topbar-alerta-item li > strong {
  color: var(--color-primary);
}
.topbar-alerta-item__entregar {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  background: #0f9f6e;
  font-size: 0.75rem;
  font-weight: 850;
}
.topbar-alerta-item__entregar:hover {
  background: #0b8059;
}
.topbar-alerta-item__entregar:disabled {
  opacity: 0.7;
}
[data-bs-theme="dark"] .topbar-alertas-mozo__menu {
  border-color: #23345d;
  background: #08132c;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.38);
}
[data-bs-theme="dark"] .topbar-alertas-mozo__header {
  border-color: #23345d;
  background: #0b1a3d;
}
[data-bs-theme="dark"] .topbar-alerta-item {
  border-color: #23345d;
}
@media (max-width: 575.98px) {
  .topbar-alertas-mozo__menu {
    position: fixed !important;
    top: 66px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto;
    transform: none !important;
  }
  .topbar-alertas-mozo__list {
    max-height: calc(100dvh - 165px);
  }
}

[data-bs-theme="dark"].reporte-ventas__head,
[data-bs-theme="dark"].reporte-ventas__panel {
  background: #0c1536 !important;
}

[data-bs-theme="dark"].libro-contable__head, 
[data-bs-theme="dark"].libro-contable__panel, 
[data-bs-theme="dark"].libro-contable__kpi {
  background: #0C1536 !important;
}

.validador-cpe {
  --vc-panel: var(--bs-tertiary-bg);
  --vc-border: var(--bs-border-color);
  --vc-muted: var(--bs-secondary-color);
}
.validador-cpe__head,
.validador-cpe__panel {
  border: 1px solid var(--vc-border);
  border-radius: 1rem;
  background: var(--vc-panel);
}


[data-bs-theme="dark"] .validador-cpe__panel {
  background: #0c1536 !important;
}

[data-bs-theme="dark"] .libro-contable__head, [data-bs-theme="dark"] .libro-contable__panel, [data-bs-theme="dark"] .libro-contable__kpi {
    background: #0c1536 !important;
}

.validador-cpe__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
}
.validador-cpe__head h5 {
  margin: 0;
  font-weight: 800;
}
.validador-cpe__head p {
  margin: 0.18rem 0 0;
  color: var(--vc-muted);
  font-size: 0.84rem;
}
.validador-cpe__panel { padding: 1rem; }
.validador-cpe__intro {
  border: 1px solid rgba(255, 189, 74, 0.28);
  border-radius: 0.8rem;
  color: var(--vc-muted);
  background: rgba(255, 189, 74, 0.09);
  font-size: 0.83rem;
}
.validador-cpe__intro strong { color: var(--bs-body-color); }
.validador-cpe__documento strong,
.validador-cpe__cliente strong { display: block; font-size: 0.8rem; }
.validador-cpe__documento small,
.validador-cpe__cliente small { color: var(--vc-muted); font-size: 0.73rem; }
.validador-cpe__options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.validador-cpe__options small { color: var(--vc-muted); }
.validador-cpe .form-switch .form-check-input { cursor: pointer; }
[data-bs-theme="dark"] .validador-cpe {
  --vc-panel: #0c1836;
  --vc-border: #253b69;
  --vc-muted: #a9b7d2;
}
@media (max-width: 767.98px) {
  .validador-cpe__head {
    align-items: flex-start;
    flex-direction: column;
  }
  .validador-cpe__head .btn { width: 100%; }
}

/* Módulo contable: pasos, encabezados y acciones táctiles. */
.contable-hub {
  --contable-panel: var(--bs-tertiary-bg);
  --contable-border: var(--bs-border-color);
  --contable-muted: var(--bs-secondary-color);
}
.contable-hub__hero { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.2rem; border:1px solid var(--contable-border); border-radius:1rem; background:linear-gradient(115deg,rgba(81,90,255,.16),transparent 55%),var(--contable-panel); }
.contable-hub__eyebrow { color:var(--color-primary); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contable-hub__hero h5 { margin:.15rem 0; font-weight:800; }
.contable-hub__hero p { max-width:620px; margin:0; color:var(--contable-muted); font-size:.86rem; }
.contable-hub__icon { display:grid; flex:0 0 auto; width:54px; height:54px; place-items:center; border-radius:.95rem; color:#8ea1ff; background:rgba(102,118,255,.16); font-size:1.7rem; }
.contable-hub__card { display:flex; flex-direction:column; height:100%; padding:1.15rem; border:1px solid var(--contable-border); border-radius:1rem; background:var(--contable-panel); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.contable-hub__card:hover { transform:translateY(-3px); border-color:var(--contable-color); box-shadow:0 .85rem 2rem rgba(0,0,0,.14); }
.contable-hub__card-icon { display:grid; width:43px; height:43px; place-items:center; border-radius:.75rem; color:var(--contable-color); background:var(--contable-glow); font-size:1.25rem; }
.contable-hub__card h6 { margin:1rem 0 .35rem; font-weight:800; }
.contable-hub__card p { flex:1; margin:0 0 1rem; color:var(--contable-muted); font-size:.84rem; line-height:1.5; }
.contable-hub__note { margin:1rem 0 0; border:1px solid rgba(26,198,214,.26); border-radius:.85rem; color:var(--contable-muted); background:rgba(26,198,214,.08); font-size:.84rem; }
.concar-contable { --cc-panel:var(--bs-tertiary-bg); --cc-border:var(--bs-border-color); --cc-muted:var(--bs-secondary-color); }
.concar-contable__head,.concar-contable__panel { border:1px solid var(--cc-border); border-radius:1rem; background:var(--cc-panel); }
.concar-contable__head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; }.concar-contable__head h5{margin:0;font-weight:800}.concar-contable__head p{margin:.2rem 0 0;color:var(--cc-muted);font-size:.84rem}
.concar-contable__panel { height:100%; padding:1.1rem; }.concar-contable__title { margin:0 0 .2rem; font-size:1rem; font-weight:800; }.concar-contable__subtitle { margin:0 0 1rem;color:var(--cc-muted);font-size:.83rem; }
.concar-contable__info { border:1px solid rgba(167,123,255,.28); border-radius:.85rem; color:var(--cc-muted); background:rgba(167,123,255,.09); font-size:.84rem; }.concar-contable__info strong{color:var(--bs-body-color)}
.concar-contable__flow { display:grid; gap:.75rem; margin:1.1rem 0; }.concar-contable__step { display:flex; gap:.75rem; align-items:flex-start; }.concar-contable__step-icon{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border-radius:.65rem;color:#16c7dc;background:rgba(22,199,220,.13)}.concar-contable__step strong{display:block;font-size:.86rem}
.concar-contable__code { font-family:var(--bs-font-monospace); letter-spacing:.03em; }
.libro-contable { --lc-panel:var(--bs-tertiary-bg); --lc-border:var(--bs-border-color); --lc-muted:var(--bs-secondary-color); }
.libro-contable__head,.libro-contable__panel,.libro-contable__kpi { border:1px solid var(--lc-border); border-radius:1rem; background:var(--lc-panel); }
.libro-contable__head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; }
.libro-contable__head h5 { margin:0; font-weight:800; } .libro-contable__head p { margin:.2rem 0 0; color:var(--lc-muted); font-size:.84rem; }
.libro-contable__kpi { position:relative; min-height:105px; overflow:hidden; padding:1rem; }
.libro-contable__kpi::after { position:absolute; width:65px; height:65px; right:-20px; bottom:-24px; border-radius:50%; background:var(--kpi-glow); content:""; }
.libro-contable__kpi small { position:relative; z-index:1; display:block; color:var(--lc-muted); font-size:.71rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.libro-contable__kpi strong { position:relative; z-index:1; display:block; margin-top:.35rem; font-size:1.35rem; font-weight:800; }
.libro-contable__panel { padding:1rem; } .libro-contable__panel-title { font-size:.86rem; font-weight:800; }
.libro-contable__info { border:1px solid rgba(22,199,220,.24); border-radius:.75rem; color:var(--lc-muted); background:rgba(22,199,220,.08); font-size:.82rem; }
.libro-contable__doc strong,.libro-contable__cliente strong { display:block; font-size:.79rem; } .libro-contable__doc small,.libro-contable__cliente small { color:var(--lc-muted); font-size:.73rem; }
[data-bs-theme="dark"] .contable-hub { --contable-panel:#0c1836; --contable-border:#253b69; --contable-muted:#a9b7d2; }
[data-bs-theme="dark"] .concar-contable { --cc-panel:#0c1836; --cc-border:#253b69; --cc-muted:#a9b7d2; }
[data-bs-theme="dark"] .libro-contable { --lc-panel:#0c1836; --lc-border:#253b69; --lc-muted:#a9b7d2; }
.concar-contable__step {
  min-width: 0;
}
.concar-contable__step > .concar-contable__step-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin: 0;
  place-items: center;
  line-height: 1;
}
.concar-contable__step > div {
  min-width: 0;
}
.concar-contable__step > div > span {
  display: block;
  margin-top: 0.1rem;
  color: var(--cc-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}
@media (max-width: 991.98px) {
  .concar-contable__head,
  .libro-contable__head,
  .validador-cpe__head {
    align-items: stretch;
    flex-direction: column;
  }
  .concar-contable__head > div,
  .libro-contable__head > div,
  .validador-cpe__head > div {
    min-width: 0;
  }
  .concar-contable__head .btn,
  .validador-cpe__head .btn {
    width: 100%;
  }
  .concar-contable__head > div:first-child > .btn.btn-sm,
  .libro-contable__head > div:first-child > .btn.btn-sm,
  .validador-cpe__head > div:first-child > .btn.btn-sm {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 38px;
  }
  .concar-contable__head > div:first-child > div,
  .libro-contable__head > div:first-child > div,
  .validador-cpe__head > div:first-child > div {
    min-width: 0;
  }
  .libro-contable__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
  }
  .libro-contable__actions .btn,
  .contable-action-button {
    width: 100%;
  }
}
@media (max-width: 575.98px) {
  .contable-hub__hero,
  .concar-contable__head,
  .libro-contable__head,
  .validador-cpe__head {
    padding: 0.9rem;
  }
  .concar-contable__panel,
  .libro-contable__panel,
  .validador-cpe__panel {
    padding: 0.85rem;
  }
  .concar-contable__step {
    gap: 0.6rem;
  }
  .concar-contable__step > .concar-contable__step-icon {
    flex-basis: 31px;
    width: 31px;
    height: 31px;
  }
  .concar-contable__step strong { font-size: 0.82rem; }
  .concar-contable__step > div > span { font-size: 0.74rem; }
  .libro-contable__actions {
    grid-template-columns: 1fr;
  }
}
