/* Card overrides to match Xeus POS / Mecharocket style */
.card {
    border: 0 !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
    margin-bottom: 1.5rem !important;
    border-radius: 0.5rem !important;
}

.card-header {
    background-color: #ffffff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    padding: 1.1rem 1.5rem !important;
    color: #374151 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-top-left-radius: 0.5rem !important;
    border-top-right-radius: 0.5rem !important;
}

.card-body {
    padding: 1.5rem !important;
}

.card-body.p-0 {
    padding: 0 !important;
}

.card-footer {
    background-color: #ffffff !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 1rem 1.5rem !important;
    border-bottom-left-radius: 0.5rem !important;
    border-bottom-right-radius: 0.5rem !important;
}

/* Table overrides to match Xeus POS / Mecharocket style */
.table {
    vertical-align: middle !important;
    border-collapse: collapse !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}

.table thead, 
.table .table-light {
    background-color: #f8f9fa !important;
    color: #374151 !important;
}

.table thead th {
    font-weight: 700 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
    padding: 0.9rem 1.25rem !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.05em !important;
}

.table tbody td {
    padding: 0.9rem 1.25rem !important;
    font-size: 0.9rem !important;
}

.table.table-sm thead th,
.table.table-sm tbody td {
    padding: 0.35rem 0.6rem !important;
    font-size: 0.85rem !important;
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.02) !important;
}

/* Titles and Headers styling */
.body h1, 
.body h2, 
h1, 
h2 {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: #1f2937 !important;
    margin-bottom: 1.25rem !important;
    letter-spacing: -0.02em !important;
}

/* Form Controls & Inputs styling */
.form-control, 
.form-select {
    border: 1px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    padding: 0.475rem 0.75rem !important;
    font-size: 0.9rem !important;
    color: #374151 !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.form-control:focus, 
.form-select:focus {
    border-color: #5856d6 !important;
    box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.18) !important;
    outline: 0 !important;
}

/* Button overrides for standard Bootstrap 5 look */
.btn {
    border-radius: 0.375rem !important;
    font-weight: 600 !important;
    padding: 0.475rem 1rem !important;
    font-size: 0.875rem !important;
    transition: all 0.2s !important;
}

.btn-xs {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    border-radius: 0.25rem !important;
}

.btn-primary {
    background-color: #5856d6 !important;
    border-color: #5856d6 !important;
    color: #ffffff !important;
}

.btn-primary:hover {
    background-color: #4643c1 !important;
    border-color: #413ea3 !important;
}

.btn-info {
    background-color: #39f !important;
    border-color: #39f !important;
    color: #ffffff !important;
}

.btn-info:hover {
    background-color: #2982d9 !important;
    border-color: #2475c4 !important;
}

/* Select2 overrides to match Bootstrap 5 theme */
.select2-container--default .select2-selection--single {
    border: 1px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    height: calc(2.25rem + 2px) !important;
    padding: 0.375rem 0.75rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5 !important;
    color: #374151 !important;
    padding-left: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
}

/* Jumbotron style overrides for empty states */
.jumbotron {
    padding: 3rem 2rem !important;
    background-color: #f8f9fa !important;
    border-radius: 0.5rem !important;
    text-align: center !important;
    border: 1px dashed rgba(0, 0, 0, 0.1) !important;
    margin: 1.5rem 0 !important;
}

.jumbotron h2 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #4f5d73 !important;
    margin-bottom: 0.5rem !important;
}

.jumbotron p {
    color: #6c757d !important;
    font-size: 0.95rem !important;
    margin-bottom: 0 !important;
}

.card-hover {
    transition: transform 0.22s ease-in-out, box-shadow 0.22s ease-in-out !important;
}

.card-hover:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08) !important;
}

/* =========================================================
   MÉTRICAS - LISTA DE VENTAS
   ========================================================= */

.metrics-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
}

.metrics-grid .card {
    min-width: 0;
    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   TARJETA DE UTILIDAD
   --------------------------------------------------------- */

.utility-icon {
    background-color: #f9b115 !important;
    color: #ffffff !important;
}

.utility-value {
    color: #f9b115 !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 1400px) {
    .metrics-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 992px) {
    .metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 576px) {
    .metrics-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   Xeus POS - Tabs de configuración
   Apariencia tipo Bootstrap/CoreUI, sin depender de JS externo.
   ============================================================ */
.xeus-tabs {
    border: 1px solid var(--cui-border-color, #d8dbe0);
    border-radius: .5rem;
    background: var(--cui-card-bg, #fff);
    overflow: hidden;
}
.xeus-tabs .xeus-tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    padding: .5rem .5rem 0;
    margin: 0;
    list-style: none;
    border-bottom: 1px solid var(--cui-border-color, #d8dbe0);
    background: #f8f9fa;
}
.xeus-tabs .xeus-tab-button {
    appearance: none;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #5c6873;
    padding: .7rem 1rem;
    margin: 0;
    border-radius: .35rem .35rem 0 0;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.xeus-tabs .xeus-tab-button:hover {
    color: #321fdb;
    background: rgba(50,31,219,.06);
}
.xeus-tabs .xeus-tab-button.active {
    color: #321fdb;
    background: #fff;
    border-bottom-color: #321fdb;
}
.xeus-tabs .xeus-tab-panel {
    display: none;
    padding: 1.25rem;
}
.xeus-tabs .xeus-tab-panel.active {
    display: block;
}
.xeus-tabs .xeus-tab-nav + .xeus-tab-panels > .xeus-tab-panel {
    min-height: 8rem;
}
.xeus-tabs .xeus-tab-actions {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--cui-border-color, #d8dbe0);
}
@media (max-width: 575.98px) {
    .xeus-tabs .xeus-tab-nav { overflow-x: auto; flex-wrap: nowrap; }
    .xeus-tabs .xeus-tab-button { white-space: nowrap; padding: .65rem .8rem; }
    .xeus-tabs .xeus-tab-panel { padding: 1rem; }
}

/* v3.7.3.238 · Alta de empresa: las acciones pertenecen al pie real del
   modal. Permanecen visibles aunque la suscripción o el onboarding requieran
   desplazamiento, tanto en escritorio como en tablet y celular. */
#empresaModal .modal-content { min-height: 0; }
#empresaModal #empresaForm {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
#empresaModal .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
#empresaModal .xeus-company-wizard-footer {
    flex: 0 0 auto;
    background: rgba(255,255,255,.98);
    border-top: 1px solid var(--cui-border-color, #d8dbe0);
    box-shadow: 0 -.45rem 1.25rem rgba(15,23,42,.07);
    z-index: 6;
}
#empresaModal .xeus-company-wizard-footer [hidden] { display: none !important; }
@media (max-width: 575.98px) {
    #empresaModal .xeus-company-wizard-footer { display: grid !important; grid-template-columns: 1fr 1fr; align-items: stretch; gap: .5rem; }
    #empresaModal .xeus-company-wizard-footer > div { display: contents !important; }
    #empresaModal .xeus-company-wizard-footer .btn { width: 100%; margin: 0; }
    #empresaModal #empresa-submit-button { grid-column: 1 / -1; }
}


/* ============================================================
   XEUS POS v1.8.4 - TABLAS COMPACTAS, CONTROL DE MENUS Y ERRORES
   ------------------------------------------------------------
   Regla global conservadora: reduce rellenos y evita que DataTables
   calcule anchos excesivos, sin forzar un table-layout fijo que pueda
   romper módulos con descripciones o contenidos extensos.
   ============================================================ */
.table.xeus-table-compact,
table.dataTable.xeus-table-compact {
    font-size: 0.875rem;
}

.table.xeus-table-compact > :not(caption) > * > *,
table.dataTable.xeus-table-compact > :not(caption) > * > * {
    padding: 0.52rem 0.62rem;
    vertical-align: middle;
}

.table.xeus-table-compact thead th,
table.dataTable.xeus-table-compact thead th {
    white-space: nowrap;
    font-size: 0.82rem;
    letter-spacing: 0.01em;
}

.table.xeus-table-compact .btn-sm,
.table.xeus-table-compact .btn-xs {
    padding: 0.32rem 0.5rem !important;
}

/* Las columnas explícitamente marcadas como nowrap ocupan solo lo necesario. */
.table.xeus-table-compact th.text-nowrap,
.table.xeus-table-compact td.text-nowrap {
    width: 1%;
}

.xeus-cell-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* Tabla de ventas: anchos semánticos para aprovechar mejor el área visible. */
#sells-data-table.xeus-sales-table {
    table-layout: fixed;
    width: 100% !important;
}

#sells-data-table .xeus-col-fac      { width: 64px !important; }
#sells-data-table .xeus-col-client   { width: 175px !important; }
#sells-data-table .xeus-col-user     { width: 145px !important; }
#sells-data-table .xeus-col-products { width: 105px !important; }
#sells-data-table .xeus-col-money    { width: 105px !important; }
#sells-data-table .xeus-col-date     { width: 96px !important; }
#sells-data-table .xeus-col-status   { width: 125px !important; }
#sells-data-table .xeus-col-actions  { width: 160px !important; }

#sells-data-table td.xeus-col-fac,
#sells-data-table td.xeus-col-products,
#sells-data-table td.xeus-col-date,
#sells-data-table td.xeus-col-status,
#sells-data-table td.xeus-col-actions {
    white-space: nowrap;
}

#sells-data-table td.xeus-col-client,
#sells-data-table td.xeus-col-user {
    overflow: hidden;
}

/* Botón cuadrado pequeño para acciones en tablas. */
.xeus-action-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem !important;
    line-height: 1 !important;
}

.xeus-action-btn i {
    font-size: 0.94rem;
    line-height: 1;
}

.xeus-sale-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.3rem;
}

/* Mantiene alineada la columna Acciones aunque una factura no admita rectificación. */
.xeus-disabled-action-wrap {
    width: 32px;
    height: 32px;
}

.xeus-action-disabled,
.xeus-action-disabled:disabled {
    opacity: .38 !important;
    filter: grayscale(.55);
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* Menú compacto de acciones secundarias en Lista de Ventas.
 * Se monta sobre <body> para evitar que .table-responsive lo recorte. */
.xeus-sale-more-menu {
    position: fixed;
    z-index: 1085;
    width: min(250px, calc(100vw - 16px));
    padding: .42rem;
    background: #fff;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: .7rem;
    box-shadow: 0 .75rem 2rem rgba(31, 41, 55, .18);
}

.xeus-sale-menu-item {
    width: 100%;
    border: 0;
    background: transparent;
    color: #344054;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .62rem .7rem;
    border-radius: .5rem;
    font-size: .9rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

.xeus-sale-menu-item i {
    width: 1.15rem;
    text-align: center;
    font-size: 1rem;
}

.xeus-sale-menu-item:hover,
.xeus-sale-menu-item:focus {
    background: #f3f4f6;
    color: #4f46e5;
    outline: none;
}

.xeus-sale-menu-divider {
    height: 1px;
    margin: .32rem .35rem;
    background: #eceff3;
}

.xeus-sale-menu-danger { color: #dc3545; }
.xeus-sale-menu-danger:hover,
.xeus-sale-menu-danger:focus {
    color: #b42318;
    background: #fff1f1;
}

.js-xeus-sale-more[aria-expanded="true"] {
    color: #4f46e5;
    border-color: rgba(79, 70, 229, .35) !important;
    background: rgba(79, 70, 229, .08) !important;
}

/* Vista rápida de productos por factura (v3.7.3.265). El detalle se carga
 * bajo demanda en un panel flotante y la tabla conserva filas compactas. */
.xeus-sale-products-trigger {
    width: 100%; min-height: 34px; padding: .25rem .35rem; border: 1px solid transparent;
    border-radius: .55rem; background: transparent; display: inline-flex; align-items: center;
    justify-content: center; gap: .3rem; white-space: nowrap; cursor: pointer;
}
.pos-recent-products-trigger {
    min-height: 34px; padding: .25rem .45rem; border: 1px solid transparent;
    border-radius: .55rem; background: transparent; display: inline-flex; align-items: center;
    justify-content: center; gap: .3rem; white-space: nowrap; cursor: pointer; color: #4b5563;
}
.pos-recent-products-trigger:hover,
.pos-recent-products-trigger:focus-visible,
.pos-recent-products-trigger[aria-expanded="true"] { background: rgba(79,70,229,.08); border-color: rgba(79,70,229,.28); outline: none; }
.pos-recent-products-trigger .xeus-sale-products-eye { color: #4f46e5; font-size: .9rem; }
.pos-recent-products-trigger .xeus-sale-products-chevron { color: #667085; font-size: .72rem; transition: transform .16s ease; }
.pos-recent-products-trigger[aria-expanded="true"] .xeus-sale-products-chevron { transform: rotate(180deg); color: #4f46e5; }
.xeus-sale-products-trigger:hover,
.xeus-sale-products-trigger:focus-visible,
.xeus-sale-products-trigger[aria-expanded="true"] { background: rgba(79,70,229,.08); border-color: rgba(79,70,229,.28); outline: none; }
.xeus-sale-products-trigger .bi { color: #667085; font-size: .78rem; }
.xeus-sale-products-trigger .xeus-sale-products-eye { color: #4f46e5; font-size: .9rem; }
.xeus-sale-products-trigger .xeus-sale-products-chevron { transition: transform .16s ease; }
.xeus-sale-products-trigger[aria-expanded="true"] .xeus-sale-products-chevron { transform: rotate(180deg); color: #4f46e5; }
#sells-data-table tr.xeus-sale-products-open > td,
#cash-session-sales-table tr.xeus-sale-products-open > td { background: rgba(79,70,229,.035); }
.xeus-sale-products-preview {
    position: fixed; z-index: 1090; width: min(540px, calc(100vw - 16px)); max-height: min(68vh, 470px);
    display: flex; flex-direction: column; overflow: hidden; background: #fff;
    border: 1px solid rgba(16,24,40,.12); border-radius: .9rem;
    box-shadow: 0 1.1rem 2.8rem rgba(16,24,40,.22); color: #1d2939; pointer-events:auto;
}
/* En Vender POS la vista rápida nace desde el modal Ventas recientes
   (z-index 1310). Esta instancia debe quedar por encima de su modal padre;
   la utilizada en Lista de ventas conserva el nivel global normal. */
#pos-recent-products-preview{z-index:1335!important}
.xeus-sale-products-head,.xeus-sale-products-foot { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; background:#fff; }
.xeus-sale-products-head { border-bottom:1px solid #eaecf0; }
.xeus-sale-products-foot { border-top:1px solid #eaecf0; font-size:.8rem; flex-wrap:wrap; }
.xeus-sale-products-list { overflow:auto; overscroll-behavior:contain; padding:.3rem .7rem; }
.xeus-sale-product-item { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.9rem; padding:.72rem .35rem; border-bottom:1px solid #f0f1f3; }
.xeus-sale-product-item:last-child { border-bottom:0; }
.xeus-sale-product-item.is-returned { opacity:.62; }
.xeus-sale-product-main { min-width:0; overflow-wrap:anywhere; }
.xeus-sale-product-qty { text-align:right; display:flex; flex-direction:column; white-space:nowrap; font-variant-numeric:tabular-nums; }
.xeus-sale-product-qty small { color:#667085; }
.xeus-sale-product-total { min-width:84px; text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.xeus-sale-products-loading { min-height:150px; display:flex; align-items:center; justify-content:center; gap:.65rem; color:#667085; }

@media (max-width:575.98px) {
    .xeus-sale-products-preview { left:8px !important; right:8px; bottom:8px; top:auto !important; width:auto; max-height:72vh; border-radius:1rem; }
    .xeus-sale-product-item { grid-template-columns:minmax(0,1fr) auto; gap:.55rem .8rem; }
    .xeus-sale-product-qty { grid-row:1 / span 2; grid-column:2; padding-right:0; }
    .xeus-sale-product-total { display:none; }
    .xeus-sale-products-foot { align-items:stretch; }
    .xeus-sale-products-foot .btn { flex:1 0 100%; min-height:42px; }
}

/* Mantiene la tabla usable en pantallas pequeñas sin deformar columnas. */
@media (max-width: 1199.98px) {
    #sells-data-table.xeus-sales-table {
        min-width: 1080px;
    }
}

/* =========================================================
   XEUS POS v1.8.4 - TABLAS MÁS COMPACTAS + TRACKER DE ERRORES
   ========================================================= */
.xeus-cell-ellipsis{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.xeus-action-inline{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:.35rem;
}

.xeus-action-inline .btn{
  white-space:nowrap;
}

.table.xeus-table-compact td,
.table.xeus-table-compact th{
  vertical-align:middle;
}

.table.xeus-table-compact .btn-sm{
  padding:.28rem .5rem;
}

.badge.xeus-badge-soft{
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}

@media (max-width: 991.98px){
  .xeus-action-inline{
    flex-wrap:wrap;
  }
}

/* ============================================================
   XEUS POS v1.8.4.1 - TABLAS ESPECÍFICAS COMPACTAS
   ------------------------------------------------------------
   Estas reglas evitan que DataTables estire columnas con contenido
   corto y mantienen las acciones en una sola línea horizontal.
   ============================================================ */
.xeus-table-actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:.35rem !important;
  white-space:nowrap !important;
}

.xeus-col-actions{
  width:90px !important;
  min-width:90px !important;
  max-width:110px !important;
  white-space:nowrap !important;
}

/* Categorías: evita una tabla de dos columnas ocupando toda la pantalla. */
#categories-table.xeus-table-category{
  width:680px !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
#categories-table .xeus-cat-name{ width:560px !important; }
#categories-table td:first-child{ max-width:560px; }

/* Inventario: anchos acordes al contenido real. */
#inventory-products-table.xeus-table-inventory{
  width:1080px !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
#inventory-products-table .xeus-inv-code{ width:85px !important; }
#inventory-products-table .xeus-inv-name{ width:210px !important; }
#inventory-products-table .xeus-inv-money{ width:125px !important; }
#inventory-products-table .xeus-inv-qty{ width:75px !important; }
#inventory-products-table .xeus-inv-status{ width:115px !important; }
#inventory-products-table td:nth-child(2){ overflow:hidden; }

/* Compras: tabla corta y acciones siempre horizontales. */
#purchases-table.xeus-table-purchases{
  width:820px !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
#purchases-table .xeus-purchase-id{ width:70px !important; }
#purchases-table .xeus-purchase-products{ width:115px !important; }
#purchases-table .xeus-purchase-total{ width:150px !important; }
#purchases-table .xeus-purchase-date{ width:135px !important; }
#purchases-table .xeus-col-actions{ width:130px !important; min-width:130px !important; max-width:130px !important; }

/* Movimientos de caja: evita columnas vacías exageradamente largas. */
#cash-movements-table.xeus-table-cash-movements{
  width:1000px !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
#cash-movements-table .xeus-cash-date{ width:180px !important; }
#cash-movements-table .xeus-cash-box{ width:120px !important; }
#cash-movements-table .xeus-cash-user{ width:155px !important; }
#cash-movements-table .xeus-cash-type{ width:145px !important; }
#cash-movements-table .xeus-cash-ref{ width:180px !important; }
#cash-movements-table .xeus-cash-value{ width:145px !important; }
#cash-movements-table td:nth-child(5){ overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

/* DataTables no debe forzar a estirar estas tablas particulares. */
.dataTables_wrapper #categories-table,
.dataTables_wrapper #inventory-products-table,
.dataTables_wrapper #purchases-table,
.dataTables_wrapper #cash-movements-table{
  margin-left:0 !important;
  margin-right:auto !important;
}

@media (max-width: 767.98px){
  #categories-table.xeus-table-category{ min-width:540px; }
  #inventory-products-table.xeus-table-inventory{ min-width:980px; }
  #purchases-table.xeus-table-purchases{ min-width:720px; }
  #cash-movements-table.xeus-table-cash-movements{ min-width:900px; }
}


/* ============================================================
   XEUS POS v3.6.12 - MENÚ ACTIVO / UBICACIÓN DEL USUARIO
   ------------------------------------------------------------
   El módulo actual queda resaltado de forma persistente incluso
   durante navegación AJAX. El grupo padre también permanece abierto.
   ============================================================ */
#sidebar .sidebar-nav .nav-link{
  position:relative;
  transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}

#sidebar .sidebar-nav > .nav-item > .nav-link.xeus-menu-active,
#sidebar .sidebar-nav > .nav-item > .nav-link.active.xeus-menu-active{
  color:#fff !important;
  background:linear-gradient(90deg,rgba(88,86,214,.42),rgba(88,86,214,.16)) !important;
  box-shadow:inset 3px 0 0 #7b79ff,0 0 18px rgba(88,86,214,.16);
  font-weight:700;
}

#sidebar .nav-group > .nav-group-toggle.xeus-group-active{
  color:#fff !important;
  background:rgba(88,86,214,.14) !important;
  box-shadow:inset 3px 0 0 rgba(123,121,255,.85);
  font-weight:700;
}

#sidebar .nav-group-items .nav-link.xeus-menu-active,
#sidebar .nav-group-items .nav-link.active.xeus-menu-active{
  color:#fff !important;
  background:linear-gradient(90deg,rgba(88,86,214,.34),rgba(88,86,214,.12)) !important;
  box-shadow:inset 3px 0 0 #7b79ff,0 4px 14px rgba(0,0,0,.10);
  font-weight:700;
}

#sidebar .nav-group-items .nav-link.xeus-menu-active .nav-icon-bullet{
  background:#8f8dff !important;
  border-color:#8f8dff !important;
  box-shadow:0 0 0 3px rgba(143,141,255,.18),0 0 9px rgba(143,141,255,.55);
}

#sidebar .nav-link.xeus-menu-active .nav-icon,
#sidebar .nav-group-toggle.xeus-group-active .nav-icon{
  color:#a9a8ff !important;
}

/* v3.7.3.207 · En tema oscuro conservamos contraste alto sin volver al
   problema de texto/icono blanco sobre un fondo casi blanco. */
[data-coreui-theme="dark"] #sidebar .sidebar-nav > .nav-item > .nav-link.xeus-menu-active,
[data-coreui-theme="dark"] #sidebar .nav-group-items .nav-link.xeus-menu-active,
[data-coreui-theme="dark"] #sidebar .nav-group > .nav-group-toggle.xeus-group-active{
  color:#fff !important;
  background:linear-gradient(90deg,rgba(88,86,214,.42),rgba(88,86,214,.16)) !important;
}
[data-coreui-theme="dark"] #sidebar .nav-link.xeus-menu-active .nav-icon,
[data-coreui-theme="dark"] #sidebar .nav-group-toggle.xeus-group-active .nav-icon{
  color:#a9a8ff !important;
}

#sidebar .nav-link.xeus-menu-active:not(.nav-group-toggle)::after{
  content:"";
  position:absolute;
  right:10px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#8f8dff;
  box-shadow:0 0 10px rgba(143,141,255,.9);
  transform:translateY(-50%);
}

#sidebar .nav-group-toggle.xeus-group-active::after{
  /* CoreUI utiliza ::after para la flecha del grupo; no la sustituimos. */
  filter:brightness(1.7);
}

@media (prefers-reduced-motion: reduce){
  #sidebar .sidebar-nav .nav-link{
    transition:none;
  }
}

/* ============================================================
   Control Xeus · navegación por áreas y tabs (v3.6.39)
   ============================================================ */
.xeus-control-workspace{
  background:#fff;
  border:1px solid rgba(31,41,55,.08);
  border-radius:14px;
  box-shadow:0 2px 10px rgba(31,41,55,.045);
  overflow:hidden;
}
.xeus-control-primary-tabs{
  display:flex;
  align-items:stretch;
  gap:.25rem;
  padding:.45rem;
  overflow-x:auto;
  scrollbar-width:thin;
}
.xeus-control-primary-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:44px;
  padding:.65rem 1rem;
  border-radius:10px;
  color:#53606f;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
  transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.xeus-control-primary-tab:hover{background:#f4f5ff;color:#5147d9;}
.xeus-control-primary-tab.active{
  background:rgba(88,80,230,.10);
  color:#5147d9;
  box-shadow:inset 0 0 0 1px rgba(88,80,230,.16);
}
.xeus-control-secondary-tabs{
  display:flex;
  align-items:center;
  gap:.15rem;
  padding:.25rem .7rem 0;
  border-top:1px solid rgba(31,41,55,.07);
  background:#fbfbfd;
  overflow-x:auto;
  scrollbar-width:thin;
}
.xeus-control-secondary-tab{
  display:flex;
  align-items:center;
  gap:.4rem;
  padding:.72rem .9rem .62rem;
  border-bottom:3px solid transparent;
  color:#667085;
  text-decoration:none;
  font-size:.9rem;
  font-weight:650;
  white-space:nowrap;
}
.xeus-control-secondary-tab:hover{color:#5147d9;}
.xeus-control-secondary-tab.active{color:#5147d9;border-bottom-color:#5850e6;background:#fff;}
.xeus-control-inner-tabs .xeus-tab-nav{background:#fbfbfd;}
.xeus-control-inner-tabs .xeus-tab-button{gap:.4rem;display:inline-flex;align-items:center;}
.xeus-control-tab-count{font-size:.72rem;line-height:1;padding:.25rem .4rem;border-radius:999px;background:#eef0f4;color:#667085;}
.xeus-control-tab-button.active .xeus-control-tab-count{background:rgba(88,80,230,.12);color:#5147d9;}
@media (max-width: 767.98px){
  .xeus-control-workspace{border-radius:11px;}
  .xeus-control-primary-tabs{justify-content:flex-start;padding:.35rem;}
  .xeus-control-primary-tab{min-height:40px;padding:.55rem .72rem;font-size:.83rem;}
  .xeus-control-secondary-tab{padding:.62rem .7rem .52rem;font-size:.82rem;}
}


/* ============================================================
   Xeus POS v3.6.43 · Identidad visual XP
   Marca global aplicada a login, sidebar, pie y loaders.
   ============================================================ */
:root{
  --xeus-brand-indigo:#4f46e5;
  --xeus-brand-blue:#2563eb;
  --xeus-brand-violet:#7c3aed;
  --xeus-brand-navy:#111827;
  --xeus-brand-gradient:linear-gradient(135deg,#2563eb 0%,#4f46e5 48%,#7c3aed 100%);
}

.xeus-word-xeus{color:var(--xeus-brand-navy);}
.xeus-word-pos{
  color:#5b50e6;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Sidebar */
#sidebar .xeus-sidebar-brand{
  min-height:64px;
  padding:.55rem .7rem;
}
#sidebar .xeus-sidebar-brand-full{
  display:flex;
  align-items:center;
  gap:.6rem;
  width:100%;
  min-width:0;
}
#sidebar .xeus-sidebar-main-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  object-fit:contain;
  box-sizing:border-box;
  padding:2px;
  background:transparent;
  border:0;
  border-radius:50%;
  /* Contraste por color: sin placa, halo, radial ni contorno artificial. */
  filter:brightness(1.78) saturate(1.24) contrast(1.06);
}
#sidebar .xeus-sidebar-wordmark{
  font-weight:800;
  font-size:1.13rem;
  letter-spacing:-.02em;
  white-space:nowrap;
}
#sidebar .xeus-sidebar-wordmark .xeus-word-xeus{
  color:#fff;
}
#sidebar .xeus-sidebar-wordmark .xeus-word-pos{
  background:linear-gradient(90deg,#7aa7ff,#9b7cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
#sidebar .xeus-sidebar-brand-narrow{
  align-items:center;
  justify-content:center;
}
#sidebar:not(.sidebar-narrow) .xeus-sidebar-brand-narrow{
  display:none !important;
}
#sidebar.sidebar-narrow .xeus-sidebar-brand-full{
  display:none !important;
}
#sidebar.sidebar-narrow .xeus-sidebar-brand-narrow{
  display:flex !important;
  width:100%;
}
#sidebar .xeus-sidebar-main-icon-narrow{
  width:48px;
  height:48px;
  flex-basis:48px;
  padding:2px;
}
.sidebar-narrow-unfoldable:not(:hover) .xeus-sidebar-wordmark,
.sidebar-narrow:not(:hover) .xeus-sidebar-wordmark{
  display:none;
}

/* Autenticación */
.xeus-auth-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.xeus-auth-logo{
  width:88px;
  height:88px;
  object-fit:contain;
  margin-bottom:.2rem;
  filter:drop-shadow(0 8px 16px rgba(79,70,229,.14));
}
.xeus-auth-wordmark{
  font-size:1.75rem;
  line-height:1.1;
  font-weight:850;
  letter-spacing:-.035em;
  margin-bottom:.8rem;
}
.xeus-auth-wordmark-sm{
  font-size:1.35rem;
  margin-bottom:.55rem;
}
.xeus-auth-tagline{
  font-size:.95rem;
}
.xeus-auth-section-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin:.15rem 0 .65rem;
  border-radius:12px;
  color:#5b50e6;
  background:rgba(79,70,229,.08);
  border:1px solid rgba(79,70,229,.10);
  font-size:1.15rem;
}
.xeus-auth-brand-compact .xeus-auth-logo{
  width:62px;
  height:62px;
}
.xeus-auth-brand + .alert{
  margin-top:.2rem;
}

/* Pie y zonas globales */
.xeus-footer-mark{
  width:22px;
  height:22px;
  object-fit:contain;
}
.xeus-footer strong{
  color:#394150;
}
.xeus-control-title-mark{
  width:34px;
  height:34px;
  object-fit:contain;
  filter:drop-shadow(0 3px 7px rgba(79,70,229,.12));
}
.xeus-system-full-logo{
  display:block;
  width:min(100%,320px);
  max-height:250px;
  object-fit:contain;
  margin:0 auto;
}
.xeus-brand-card{
  background:
    radial-gradient(circle at 50% 0%,rgba(79,70,229,.06),transparent 55%),
    #fff;
}

/* Loaders de tablas */
.xeus-loader-mark{
  width:22px;
  height:22px;
  object-fit:contain;
  margin-right:.25rem;
  animation:xeusBrandPulse 1.4s ease-in-out infinite;
}
@keyframes xeusBrandPulse{
  0%,100%{transform:scale(.96);opacity:.72}
  50%{transform:scale(1.06);opacity:1}
}

/* Refuerzo visual de botones y foco con la nueva marca */
.btn-primary{
  background:var(--xeus-brand-gradient)!important;
  border-color:#5147d9!important;
  box-shadow:0 4px 10px rgba(79,70,229,.12);
}
.btn-primary:hover,
.btn-primary:focus{
  background:linear-gradient(135deg,#1f55d8 0%,#4338ca 50%,#6d28d9 100%)!important;
  border-color:#4338ca!important;
}
.form-control:focus,
.form-select:focus{
  border-color:#6257ea!important;
  box-shadow:0 0 0 .22rem rgba(79,70,229,.14)!important;
}

/* Login / recuperación en pantallas pequeñas */
@media (max-width:575.98px){
  .xeus-auth-logo{width:74px;height:74px}
  .xeus-auth-wordmark{font-size:1.5rem}
  .xeus-auth-brand-compact .xeus-auth-logo{width:56px;height:56px}
  .xeus-footer{
    gap:.55rem;
    align-items:flex-start!important;
  }
  .xeus-footer .ms-auto{
    margin-left:0!important;
  }
}

.xeus-inline-brand-mark{
  width:28px;
  height:28px;
  object-fit:contain;
  flex:0 0 28px;
}
.xeus-software-brand-preview{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(79,70,229,.10);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(37,99,235,.035),rgba(124,58,237,.045));
}
.xeus-software-logo-horizontal{
  width:220px;
  max-width:38%;
  max-height:92px;
  object-fit:contain;
  flex:0 0 auto;
}
@media (max-width:767.98px){
  .xeus-software-brand-preview{flex-direction:column;text-align:center}
  .xeus-software-logo-horizontal{max-width:80%;width:260px}
}

/* ============================================================
   Xeus POS v3.6.50
   Control Xeus > Gestión SaaS > Editar plan
   Scroll reforzado para producción.
   ============================================================ */

/*
 * No dependemos exclusivamente de 100dvh. 100vh actúa como fallback
 * estable y @supports mejora el cálculo en navegadores modernos.
 */
#planModal {
    overflow: hidden !important;
}

#planModal .modal-dialog {
    display: flex !important;
    align-items: stretch !important;
    width: auto;
    height: calc(100vh - 2rem) !important;
    max-height: calc(100vh - 2rem) !important;
    margin: 1rem auto !important;
}

#planModal .modal-content {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#planModal #planForm {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100%;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#planModal .modal-header {
    flex: 0 0 auto !important;
}

/*
 * Esta es la única zona que debe desplazarse.
 * "scroll" se usa a propósito para que la barra exista en producción
 * incluso cuando el navegador usa barras superpuestas.
 */
#planModal .modal-body {
    position: relative;
    flex: 1 1 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable both-edges;
    padding-bottom: 0;
}

/* Barra de scroll visible en navegadores WebKit/Chromium. */
#planModal .modal-body::-webkit-scrollbar {
    width: 11px;
}

#planModal .modal-body::-webkit-scrollbar-track {
    background: #f1f3f5;
    border-radius: 10px;
}

#planModal .modal-body::-webkit-scrollbar-thumb {
    background: #a8adb5;
    border: 2px solid #f1f3f5;
    border-radius: 10px;
}

#planModal .modal-body::-webkit-scrollbar-thumb:hover {
    background: #7c828b;
}

/* Firefox */
#planModal .modal-body {
    scrollbar-width: auto;
    scrollbar-color: #a8adb5 #f1f3f5;
}

/* Las tabs quedan disponibles mientras se recorre la lista. */
#planModal .xeus-tab-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--cui-body-bg, #fff);
    border-bottom: 1px solid var(--cui-border-color, #d8dbe0);
}

/*
 * Acciones visibles en la zona inferior de cada pestaña.
 * Se mantiene dentro del contenedor desplazable.
 */
#planModal .xeus-tab-actions {
    position: sticky;
    bottom: 0;
    z-index: 21;
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    margin-bottom: -1.25rem;
    padding: 1rem 1.25rem;
    background: rgba(255,255,255,.97);
    border-top: 1px solid rgba(0,0,0,.07);
    box-shadow: 0 -8px 18px rgba(0,0,0,.06);
    backdrop-filter: blur(4px);
}

/* Mejora el cálculo de altura cuando dvh está soportado. */
@supports (height: 100dvh) {
    #planModal .modal-dialog {
        height: calc(100dvh - 2rem) !important;
        max-height: calc(100dvh - 2rem) !important;
    }
}

@media (max-width: 767.98px) {
    #planModal .modal-dialog {
        width: calc(100% - 1rem);
        height: calc(100vh - 1rem) !important;
        max-height: calc(100vh - 1rem) !important;
        margin: .5rem auto !important;
    }

    @supports (height: 100dvh) {
        #planModal .modal-dialog {
            height: calc(100dvh - 1rem) !important;
            max-height: calc(100dvh - 1rem) !important;
        }
    }

    #planModal .xeus-tab-actions {
        margin-left: -.9rem;
        margin-right: -.9rem;
        margin-bottom: -.9rem;
        padding: .9rem;
        flex-wrap: wrap;
    }
}


/* ============================================================
   Xeus POS v3.7.3.34 · Modo Soporte Xeus
   ============================================================ */
.xeus-support-trigger{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(79,70,229,.22);background:#fff;color:#4338ca;border-radius:10px;padding:.42rem .65rem;font-size:.78rem;font-weight:700}
.xeus-support-trigger:hover{background:#f6f5ff;color:#3730a3}
.xeus-support-active-pill{display:flex;align-items:center;gap:.55rem;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:12px;padding:.35rem .55rem;max-width:min(720px,55vw)}
.xeus-support-active-pill .xeus-support-target{min-width:0;line-height:1.15}.xeus-support-active-pill .xeus-support-target strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xeus-support-active-pill .xeus-support-target span{font-size:.7rem;color:#c2410c}
.xeus-support-active-pill .btn{white-space:nowrap}
.xeus-support-readonly-banner{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;padding:.45rem 1rem;font-size:.8rem;font-weight:600;text-align:center}
.xeus-support-company{padding:.85rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff;margin-bottom:.65rem;transition:border-color .15s ease,box-shadow .15s ease}.xeus-support-company:hover{border-color:#c7c3ff;box-shadow:0 7px 20px rgba(79,70,229,.07)}
.xeus-support-company-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#f1f0ff;color:#5147d9;font-size:1.05rem;flex:0 0 42px}.xeus-support-results{max-height:48vh;overflow:auto;padding-right:.15rem}.xeus-support-mode-choice{border:1px solid #e5e7eb;border-radius:10px;padding:.65rem .75rem;background:#fff}.xeus-support-mode-choice:has(input:checked){border-color:#8278f5;background:#f7f6ff}.min-width-0{min-width:0}
@media(max-width:991.98px){.xeus-support-active-pill{max-width:64vw}.xeus-support-active-pill .xeus-support-target span{display:none}.xeus-support-active-pill .btn span{display:none}.xeus-support-trigger span{display:none}}

/* Xeus POS v3.7.3.80 · menú lateral: nombres largos sin romper el diseño. */
#sidebar .sidebar-nav .nav-link{min-width:0;gap:.1rem;}
#sidebar .sidebar-nav .nav-link .xeus-menu-text{
  display:block;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#sidebar .sidebar-nav .nav-link .nav-icon,
#sidebar .sidebar-nav .nav-link .badge{flex:0 0 auto;}
#sidebar.sidebar-narrow-unfoldable:not(:hover) .xeus-menu-text,
#sidebar.sidebar-narrow:not(:hover) .xeus-menu-text{max-width:0;overflow:hidden;}

/* Xeus POS v3.7.3.80 · indicador global de conexión/sincronización. */
.xeus-connection-status{
  display:inline-flex;align-items:center;gap:.42rem;border:1px solid var(--cui-border-color,#d8dbe0);
  background:var(--cui-body-bg,#fff);border-radius:.55rem;padding:.35rem .62rem;font-size:.76rem;font-weight:650;
  color:var(--cui-body-color,#4f5d73);white-space:nowrap;cursor:pointer;transition:.15s ease;
}
.xeus-connection-status:hover{background:rgba(88,86,214,.06);border-color:rgba(88,86,214,.28);}
.xeus-connection-dot{width:.46rem;height:.46rem;border-radius:50%;background:#6c757d;box-shadow:0 0 0 .15rem rgba(108,117,125,.10);}
.xeus-connection-status.is-online .xeus-connection-dot{background:#20c997;box-shadow:0 0 0 .15rem rgba(32,201,151,.12);}
.xeus-connection-status.is-offline{color:#b02a37;border-color:rgba(220,53,69,.3);background:rgba(220,53,69,.05);}
.xeus-connection-status.is-offline .xeus-connection-dot{background:#dc3545;box-shadow:0 0 0 .15rem rgba(220,53,69,.12);}
.xeus-connection-status.is-syncing .xeus-connection-dot{background:#0d6efd;animation:xeus-connection-pulse 1s infinite;}
.xeus-connection-status.has-pending .xeus-connection-dot{background:#fd7e14;}
.xeus-connection-count{min-width:1.15rem;height:1.15rem;padding:0 .27rem;border-radius:999px;background:#fd7e14;color:#fff;font-size:.65rem;display:inline-flex;align-items:center;justify-content:center;}
@keyframes xeus-connection-pulse{50%{opacity:.35;transform:scale(.82)}}
@media(max-width:575.98px){.xeus-connection-status{padding:.35rem .48rem}.xeus-connection-status [data-xeus-connection-label]{display:none}}
.xeus-connection-status.needs-review{color:#8a4b08;border-color:rgba(253,126,20,.35);background:rgba(253,126,20,.06);}
.xeus-connection-status.needs-review .xeus-connection-dot{background:#fd7e14;box-shadow:0 0 0 .15rem rgba(253,126,20,.12);}


/* v3.7.3.84 · visibilidad de contraseñas y recuperación */
.xeus-password-visibility{min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.xeus-password-visibility i{font-size:1rem;line-height:1}
.xeus-password-auto-group{width:100%}
.xeus-auth-section-icon i{display:block;line-height:1}

/* ============================================================
   Xeus POS v3.7.3.85 · Centro de sincronización compacto
   ============================================================ */
.xeus-sync-center-table{
  font-size:.74rem;
  line-height:1.2;
  --cui-table-cell-padding-y:.34rem;
  --cui-table-cell-padding-x:.42rem;
}
.xeus-sync-center-table thead th{
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.025em;
  white-space:nowrap;
  vertical-align:middle;
}
.xeus-sync-center-table td{vertical-align:middle;max-width:310px;}
.xeus-sync-center-table .small,.xeus-sync-center-table small{font-size:.68rem!important;}
.xeus-sync-center-table code{font-size:.68rem;word-break:break-all;}
.xeus-sync-center-table .badge{font-size:.63rem;font-weight:650;}
.xeus-sync-center-table .btn-sm{font-size:.68rem;padding:.22rem .4rem;}
.xeus-sync-center .small{font-size:.72rem;}

/* Control Xeus · supervisión offline: densidad apta para escritorio/tablet. */
.xeus-compact-monitor-table{font-size:.75rem;line-height:1.2;}
.xeus-compact-monitor-table thead th{
  font-size:.66rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;
  padding:.46rem .42rem;background:#f8f9fb;
}
.xeus-compact-monitor-table tbody td{padding:.42rem;vertical-align:middle;}
.xeus-compact-monitor-table .badge{font-size:.63rem;}
.xeus-compact-monitor-table code{font-size:.68rem;word-break:break-all;}
.xeus-monitor-subtext{font-size:.66rem;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.xeus-offline-admin-metrics .small{font-size:.7rem;}

@media(max-width:991.98px){
  .xeus-sync-center-table,.xeus-compact-monitor-table{font-size:.69rem;}
  .xeus-sync-center-table thead th,.xeus-compact-monitor-table thead th{font-size:.6rem;padding:.32rem .34rem;}
  .xeus-sync-center-table td,.xeus-compact-monitor-table tbody td{padding:.32rem .34rem;}
  .xeus-sync-center-table .small,.xeus-sync-center-table small,.xeus-monitor-subtext{font-size:.61rem!important;}
  .xeus-sync-center-table .badge,.xeus-compact-monitor-table .badge{font-size:.58rem;}
}
@media(max-width:575.98px){
  .xeus-sync-center{font-size:.72rem;}
  .xeus-sync-center-table{font-size:.64rem;min-width:760px;}
  .xeus-sync-center-table thead th{font-size:.56rem;}
  .xeus-sync-center-table .small,.xeus-sync-center-table small{font-size:.57rem!important;}
  .xeus-compact-monitor-table{font-size:.64rem;min-width:1100px;}
  .xeus-monitor-subtext{font-size:.57rem;max-width:180px;}
}

/* ==========================================================
   Xeus POS v3.7.3.143 · Pantalla completa estilo Bootstrap
   ========================================================== */
.xeus-fullscreen-toggle{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:.35rem;
  padding:0;
  border-radius:.5rem;
  font-size:1rem;
  line-height:1;
  box-shadow:none;
}
.xeus-fullscreen-toggle i{
  font-size:1rem;
  line-height:1;
}
.xeus-fullscreen-toggle:hover{
  box-shadow:0 .15rem .35rem rgba(88,86,214,.15);
}
.xeus-fullscreen-toggle:focus-visible{
  box-shadow:0 0 0 .2rem rgba(88,86,214,.18);
}
.xeus-fullscreen-toggle.is-active{
  color:#fff;
}
@media(max-width:575.98px){
  .xeus-fullscreen-toggle{width:36px;height:36px;flex-basis:36px;margin-left:.15rem}
}

/* ==========================================================
   Xeus POS v3.7.3.265 · Navegación global coherente
   ========================================================== */
.xeus-global-back{
  min-width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  margin-left:.2rem;
  padding:0 .7rem;
  border-radius:.5rem;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
  box-shadow:none;
}
.xeus-global-back i{font-size:1rem;line-height:1}
.xeus-global-back:hover{box-shadow:0 .15rem .35rem rgba(15,23,42,.12)}
.xeus-global-back:focus-visible{box-shadow:0 0 0 .2rem rgba(108,117,125,.2)}
@media(max-width:575.98px){
  .header .container-fluid{padding-left:.65rem!important;padding-right:.65rem!important}
  .xeus-global-back{width:36px;min-width:36px;height:36px;margin-left:.1rem;padding:0}
  .xeus-global-back-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .xeus-announcement-host{margin-left:.35rem!important;margin-right:.35rem!important}
}




/* ==========================================================
   Xeus POS v3.7.3.148 · DataTables Control Xeus alto volumen
   ========================================================== */
.xeus-control-dt-shell .dataTables_wrapper{padding:.75rem .85rem .85rem}
.xeus-control-dt-shell .table-responsive .dataTables_wrapper{min-width:100%}
.xeus-control-dt-shell .dataTables_wrapper .dataTables_length,
.xeus-control-dt-shell .dataTables_wrapper .dataTables_filter{margin-bottom:.65rem}
.xeus-control-dt-shell .dataTables_wrapper .dataTables_filter input,
.xeus-control-dt-shell .dataTables_wrapper .dataTables_length select{border:1px solid #d8dee9;border-radius:.5rem;background:#fff}
.xeus-control-dt-shell table.dataTable{margin-top:.15rem!important;margin-bottom:.45rem!important;border-collapse:collapse!important;width:100%!important}
.xeus-control-dt-shell table.dataTable thead th{white-space:nowrap;background:#f8f9fb;border-bottom:1px solid #e6e9ef;font-size:.72rem;text-transform:uppercase;letter-spacing:.02em}
.xeus-control-dt-shell table.dataTable tbody td{vertical-align:middle}
.xeus-control-dt-shell .dataTables_info{font-size:.76rem;color:#667085;padding-top:.7rem!important}
.xeus-control-dt-shell .dataTables_paginate{padding-top:.45rem!important}
.xeus-control-dt-shell .pagination{margin-bottom:0}
.xeus-control-dt-shell .xeus-dt-description{min-width:280px}
.xeus-control-dt-shell .xeus-id-4d{min-width:70px;width:70px;white-space:nowrap}
.xeus-company-actions{min-width:188px}
.xeus-company-actions .dropdown-menu{min-width:230px}
.xeus-company-actions .dropdown-item{font-size:.82rem;padding:.48rem .75rem}
.xeus-control-dt-shell .dataTables_processing{z-index:8}
@media(max-width:991.98px){.xeus-control-dt-shell .dataTables_wrapper{padding:.6rem}.xeus-control-dt-shell table.dataTable{min-width:820px}.xeus-company-actions{min-width:180px}}

/* ============================================================
   XEUS POS v3.7.3.208 · ESTADO ACTIVO DEL MENÚ SIEMPRE LEGIBLE
   CoreUI puede añadir .active antes de que xeus-menu.js termine de
   calcular xeus-menu-active. Cubrimos ambos estados para que nunca
   quede texto/icono blanco sobre fondos claros.
   ============================================================ */
#sidebar .sidebar-nav .nav-link.active,
#sidebar .sidebar-nav .nav-link[aria-current="page"],
#sidebar .sidebar-nav .nav-group-toggle.active,
#sidebar .sidebar-nav .nav-group-toggle[aria-current="page"]{
  background:linear-gradient(90deg,rgba(88,86,214,.42),rgba(88,86,214,.16)) !important;
  color:#fff !important;
  font-weight:700 !important;
  box-shadow:inset 3px 0 0 #7b79ff,0 0 18px rgba(88,86,214,.16) !important;
}
#sidebar .sidebar-nav .nav-link.active .nav-icon,
#sidebar .sidebar-nav .nav-link.active .xeus-menu-text,
#sidebar .sidebar-nav .nav-link.active > i,
#sidebar .sidebar-nav .nav-link[aria-current="page"] .nav-icon,
#sidebar .sidebar-nav .nav-link[aria-current="page"] .xeus-menu-text,
#sidebar .sidebar-nav .nav-link[aria-current="page"] > i,
#sidebar .sidebar-nav .nav-group-toggle.active .nav-icon,
#sidebar .sidebar-nav .nav-group-toggle.active .xeus-menu-text,
#sidebar .sidebar-nav .nav-group-toggle.active > i{
  color:#a9a8ff !important;
  opacity:1 !important;
}
#sidebar .nav-group-items .nav-link.active .nav-icon-bullet,
#sidebar .nav-group-items .nav-link[aria-current="page"] .nav-icon-bullet{
  background:#8f8dff !important;
  border-color:#8f8dff !important;
  opacity:1 !important;
}
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link.active,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link[aria-current="page"],
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-group-toggle.active,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-group-toggle[aria-current="page"]{
  background:linear-gradient(90deg,rgba(88,86,214,.42),rgba(88,86,214,.16)) !important;
  color:#a9a8ff !important;
}
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link.active .nav-icon,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link.active .xeus-menu-text,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link.active > i,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link[aria-current="page"] .nav-icon,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link[aria-current="page"] .xeus-menu-text,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-link[aria-current="page"] > i,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-group-toggle.active .nav-icon,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-group-toggle.active .xeus-menu-text,
[data-coreui-theme="dark"] #sidebar .sidebar-nav .nav-group-toggle.active > i{
  color:#fff !important;
}

/* v3.7.3.259: blanco táctil discreto para contraer el menú.
   El botón conserva 36 px clicables y el pictograma iguala los iconos laterales. */
#sidebar .xeus-sidebar-toggler{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  margin-left:auto;
  color:rgba(255,255,255,.72);
  background:transparent;
  border:1px solid rgba(255,255,255,.2);
  border-radius:8px;
  cursor:pointer;
}
#sidebar .xeus-sidebar-toggler i{
  font-size:20px;
  line-height:1;
  transition:transform .15s ease;
}
#sidebar .xeus-sidebar-toggler:hover{
  color:#fff;
  background:rgba(255,255,255,.08);
}
#sidebar .xeus-sidebar-toggler:focus-visible{
  outline:3px solid rgba(139,137,255,.55);
  outline-offset:2px;
}
#sidebar.sidebar-narrow .sidebar-footer{
  height:auto !important;
  min-height:52px;
  padding:8px 14px;
  visibility:visible;
  opacity:1;
}
#sidebar.sidebar-narrow .xeus-sidebar-toggler i{
  transform:rotate(-180deg);
}

/* Menú compacto: los grupos se abren en un panel legible sin ensanchar la barra. */
.xeus-menu-flyout{
  position:fixed;
  z-index:1048;
  width:min(320px,calc(100vw - 88px));
  max-height:calc(100vh - 16px);
  overflow:auto;
  color:#eef2ff;
  background:#202633;
  border:1px solid rgba(139,137,255,.34);
  border-radius:12px;
  box-shadow:0 18px 48px rgba(10,15,28,.34);
}
.xeus-menu-flyout-heading{
  position:sticky;
  top:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:10px 10px 10px 16px;
  background:#252c3a;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.xeus-menu-flyout-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  color:#dfe4f3;
  background:transparent;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
}
.xeus-menu-flyout-close:hover{color:#fff;background:rgba(255,255,255,.08)}
.xeus-menu-flyout-close:focus-visible,.xeus-menu-flyout-link:focus-visible{outline:3px solid rgba(139,137,255,.58);outline-offset:1px}
.xeus-menu-flyout-items{display:flex;flex-direction:column;padding:8px}
.xeus-menu-flyout .xeus-menu-flyout-link{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:9px 12px;
  color:#d8deeb;
  border-radius:8px;
  text-decoration:none;
  white-space:normal;
}
.xeus-menu-flyout .xeus-menu-flyout-link:hover,
.xeus-menu-flyout .xeus-menu-flyout-link.xeus-menu-active,
.xeus-menu-flyout .xeus-menu-flyout-link[aria-current="page"]{color:#fff;background:rgba(99,102,241,.22)}
.xeus-menu-flyout .nav-icon{flex:0 0 20px;width:20px;margin:0;color:#aeb8d1}
@media(max-width:991.98px){.xeus-menu-flyout{display:none!important}}

/* =========================================================
   XEUS POS v3.7.3.290 - CUADRE DE CAJA Y GESTIÓN COMPACTA
   ========================================================= */
.xeus-cash-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
.xeus-cash-kpi{border:1px solid #e4e7ec;border-radius:.7rem;padding:.7rem .8rem;background:#fff;min-width:0}
.xeus-cash-kpi>span{display:block;font-size:.72rem;color:#667085;margin-bottom:.1rem}
.xeus-cash-kpi>strong{display:block;font-size:1.08rem;line-height:1.2;color:#101828;font-variant-numeric:tabular-nums;white-space:nowrap}
.xeus-cash-kpi>small{display:block;margin-top:.18rem;color:#98a2b3;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xeus-cash-kpi-primary{background:rgba(79,70,229,.045);border-color:rgba(79,70,229,.18)}
.xeus-cash-kpi-primary>strong{color:#4f46e5}
.xeus-cash-kpi-profit{background:rgba(22,163,74,.045);border-color:rgba(22,163,74,.16)}
.xeus-cash-kpi-profit>strong{color:#16a34a}
.xeus-cash-kpi-expected{background:rgba(22,163,74,.075);border-color:rgba(22,163,74,.38)}
.xeus-cash-kpi-expected>strong{color:#16a34a;font-size:1.18rem}
.xeus-cash-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #eaecf0;border-radius:.65rem;overflow:hidden;background:#f9fafb}
.xeus-cash-mini-grid>div{padding:.45rem .65rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center;min-width:0;border-right:1px solid #eaecf0;font-size:.73rem}
.xeus-cash-mini-grid>div:last-child{border-right:0}
.xeus-cash-mini-grid span{color:#667085;white-space:nowrap}
.xeus-cash-mini-grid strong{font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.xeus-cash-collection-line{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.7rem;color:#475467}
.xeus-cash-formula{display:flex;flex-direction:column;gap:.14rem;font-size:.77rem}
.xeus-cash-formula>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:1.45rem}
.xeus-cash-formula>div>span{color:#475467;min-width:0}.xeus-cash-formula>div>strong{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.xeus-cash-formula-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4e7ec;margin-top:.45rem;padding-top:.5rem;font-size:.92rem;font-weight:700}
.xeus-cash-formula-total strong{color:#16a34a;font-size:1.06rem}
.xeus-cash-closed-result{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem;margin-top:.35rem;border-top:1px dashed #e4e7ec;font-size:.76rem}
.xeus-cash-close-compact .form-control{min-height:36px;font-size:.82rem}
.xeus-cash-detail-card{overflow:hidden;margin-top:.85rem}
.xeus-cash-detail-tabs{display:flex;align-items:center;gap:.25rem;padding:.4rem .55rem;border-bottom:1px solid #eaecf0;background:#f9fafb;overflow-x:auto}
.xeus-cash-detail-tab{border:0;background:transparent;color:#667085;border-radius:.5rem;padding:.38rem .7rem;font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.xeus-cash-detail-tab:hover{background:#fff;color:#344054}.xeus-cash-detail-tab.active{background:#fff;color:#4f46e5;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.xeus-cash-detail-panel{display:none}.xeus-cash-detail-panel.active{display:block}
.xeus-cash-compact-table{font-size:.75rem}.xeus-cash-compact-table th{font-size:.68rem;color:#475467;text-transform:none;white-space:nowrap;background:#fcfcfd}
.xeus-cash-compact-table td,.xeus-cash-compact-table th{padding:.42rem .55rem!important;vertical-align:middle}
.xeus-cash-detail-panel .dataTables_wrapper{padding:.45rem .55rem .25rem}
.xeus-cash-detail-panel .dataTables_wrapper .row{row-gap:.35rem}
.xeus-portfolio-pager{min-height:38px}

/* Cuadre rápido: mismas prioridades visuales en menos altura. */
.xeus-pos-cash-modal{max-height:calc(100vh - 2rem)}
.xeus-pos-cash-modal .modal-body{overflow-y:auto;overscroll-behavior:contain}
.xeus-pos-cash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}
.xeus-pos-cash-kpis>div{border:1px solid #e4e7ec;border-radius:.65rem;padding:.55rem .65rem;min-width:0;background:#fff}
.xeus-pos-cash-kpis span{display:block;color:#667085;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xeus-pos-cash-kpis strong{display:block;font-size:1rem;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.xeus-pos-cash-kpis small{display:block;color:#98a2b3;font-size:.61rem;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xeus-pos-cash-kpis .is-primary{background:rgba(79,70,229,.045);border-color:rgba(79,70,229,.18)}.xeus-pos-cash-kpis .is-primary strong{color:#4f46e5}
.xeus-pos-cash-kpis .is-profit{background:rgba(22,163,74,.04)}.xeus-pos-cash-kpis .is-profit strong{color:#16a34a}
.xeus-pos-cash-kpis .is-expected{background:rgba(22,163,74,.07);border-color:rgba(22,163,74,.34)}.xeus-pos-cash-kpis .is-expected strong{color:#16a34a;font-size:1.06rem}
.xeus-pos-cash-mini{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.xeus-pos-cash-mini>span{padding:.25rem .48rem;border:1px solid #eaecf0;background:#f9fafb;border-radius:999px;font-size:.67rem;color:#667085;white-space:nowrap}.xeus-pos-cash-mini strong{color:#344054;font-variant-numeric:tabular-nums}
.xeus-pos-cash-formula{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.18rem .65rem;line-height:1.35}.xeus-pos-cash-formula strong{text-align:right;font-variant-numeric:tabular-nums}
.xeus-pos-cash-difference{height:100%;min-height:36px;border:1px solid #e4e7ec;border-radius:.55rem;padding:.35rem .55rem;display:flex;flex-direction:column;justify-content:center}.xeus-pos-cash-difference span,.xeus-pos-cash-difference small{font-size:.62rem;color:#667085}.xeus-pos-cash-difference strong{font-size:.9rem;line-height:1.1}

@media (max-width:1199.98px){.xeus-cash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){
  .xeus-cash-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.xeus-cash-mini-grid>div:nth-child(2){border-right:0}.xeus-cash-mini-grid>div:nth-child(-n+2){border-bottom:1px solid #eaecf0}
  .xeus-cash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.xeus-cash-kpi>small{display:none}
  .xeus-pos-cash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.xeus-pos-cash-modal .modal-body{max-height:calc(100dvh - 96px)}
}
@media (max-width:480px){.xeus-cash-kpi-grid{grid-template-columns:1fr}.xeus-cash-mini-grid{grid-template-columns:1fr}.xeus-cash-mini-grid>div{border-right:0!important;border-bottom:1px solid #eaecf0}.xeus-cash-mini-grid>div:last-child{border-bottom:0}.xeus-pos-cash-kpis strong{font-size:.9rem}}


/* =========================================================
   XEUS POS v3.7.3.290 - GESTIÓN DE CAJAS COMPACTA
   ========================================================= */
.xeus-box-overview-card{overflow:hidden}
.xeus-box-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.xeus-box-status-item{min-width:0;min-height:58px;border:1px solid #eaecf0;border-radius:.7rem;background:#fff;padding:.55rem .65rem;display:flex;align-items:center;gap:.6rem}
.xeus-box-status-item.has-session{border-color:rgba(22,163,74,.28);background:rgba(22,163,74,.035)}
.xeus-box-status-icon{width:34px;height:34px;border-radius:.6rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;font-size:1rem}
.xeus-box-status-icon.is-primary{color:#4f46e5;background:rgba(79,70,229,.1)}
.xeus-box-status-icon.is-success{color:#16a34a;background:rgba(22,163,74,.1)}
.xeus-box-status-icon.is-info{color:#0284c7;background:rgba(2,132,199,.1)}
.xeus-box-status-icon.is-warning{color:#b45309;background:rgba(245,158,11,.12)}
.xeus-box-status-item>div{min-width:0;display:flex;flex-direction:column}
.xeus-box-status-item>div>span{font-size:.68rem;color:#667085;line-height:1.1}
.xeus-box-status-item>div>strong{font-size:1rem;line-height:1.25;color:#101828;font-variant-numeric:tabular-nums}
.xeus-box-status-item>div>small{font-size:.62rem;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xeus-box-context-note{min-height:36px;border-radius:.6rem;background:#f8fafc;border:1px solid #e4e7ec;padding:.42rem .65rem;display:flex;align-items:center;gap:.5rem;font-size:.73rem;color:#475467}
.xeus-box-context-note.is-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.xeus-box-context-note>a{margin-left:auto;white-space:nowrap;font-weight:600}
.xeus-box-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:.55rem}
.xeus-box-row{min-width:0;border:1px solid #e4e7ec;border-radius:.7rem;background:#fff;padding:.65rem .75rem;display:grid;grid-template-columns:minmax(170px,1.05fr) minmax(300px,1.65fr) auto;align-items:center;gap:.8rem}
.xeus-box-row.is-open{border-color:rgba(22,163,74,.3);background:linear-gradient(90deg,rgba(22,163,74,.035),#fff 34%)}
.xeus-box-row.is-mine{box-shadow:inset 3px 0 0 #16a34a}
.xeus-box-row-main{min-width:0;display:flex;flex-direction:column;gap:.22rem}
.xeus-box-row-name{font-size:1rem;line-height:1.2;color:#101828}
.xeus-box-row-main small{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xeus-box-row-meta{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem .8rem}
.xeus-box-row-meta>div{min-width:0;display:flex;flex-direction:column}
.xeus-box-row-meta span{font-size:.63rem;color:#667085;line-height:1.1}
.xeus-box-row-meta strong{font-size:.73rem;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.xeus-box-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;white-space:nowrap}
.xeus-box-empty{grid-column:1/-1;border:1px dashed #d0d5dd;border-radius:.7rem;padding:.8rem;display:flex;align-items:center;gap:.7rem;color:#667085}
.xeus-box-empty>i{font-size:1.25rem}.xeus-box-empty>div{display:flex;flex-direction:column}.xeus-box-empty>div>span{font-size:.72rem}.xeus-box-empty>button{margin-left:auto}
.xeus-box-admin-card{overflow:hidden}
.xeus-box-admin-tabs{display:flex;align-items:center;gap:.25rem;padding:.4rem .55rem;border-bottom:1px solid #eaecf0;background:#f9fafb;overflow-x:auto}
.xeus-box-admin-tab{border:0;background:transparent;color:#667085;border-radius:.5rem;padding:.38rem .7rem;font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.xeus-box-admin-tab:hover{background:#fff;color:#344054}.xeus-box-admin-tab.active{background:#fff;color:#4f46e5;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.xeus-box-admin-panel{display:none}.xeus-box-admin-panel.active{display:block}
.xeus-box-compact-table{font-size:.76rem}.xeus-box-compact-table th{font-size:.68rem;color:#475467;background:#fcfcfd;white-space:nowrap}.xeus-box-compact-table td,.xeus-box-compact-table th{padding:.45rem .6rem!important}
.xeus-box-admin-panel .dataTables_wrapper{padding:.45rem .55rem .25rem}.xeus-box-admin-panel .dataTables_wrapper .row{row-gap:.35rem}

@media (max-width:1199.98px){
  .xeus-box-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xeus-box-row{grid-template-columns:minmax(170px,.9fr) minmax(260px,1.4fr) auto}
}
@media (max-width:991.98px){
  .xeus-box-row{grid-template-columns:minmax(0,1fr) auto}.xeus-box-row-meta{grid-column:1/-1;order:3}.xeus-box-row-actions{grid-column:2;grid-row:1/3}
}
@media (max-width:767.98px){
  .xeus-box-list{grid-template-columns:1fr}.xeus-box-row{grid-template-columns:1fr}.xeus-box-row-actions{grid-column:1;grid-row:auto;justify-content:stretch}.xeus-box-row-actions .btn{flex:1}.xeus-box-row-meta{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));order:initial}
}
@media (max-width:480px){
  .xeus-box-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.xeus-box-status-item{padding:.48rem .5rem;gap:.45rem}.xeus-box-status-icon{width:30px;height:30px;flex-basis:30px}.xeus-box-status-item .btn{display:none}.xeus-box-row-meta{grid-template-columns:1fr 1fr}.xeus-box-context-note{align-items:flex-start;flex-wrap:wrap}.xeus-box-context-note>a{margin-left:0}
}

/* =========================================================
   XEUS POS v3.7.3.300.1 - CIERRE DE CAJA: JERARQUIA Y LEGIBILIDAD
   ========================================================= */
.xeus-cash-v3001-summary-card,
.xeus-cash-v3001-balance-card{border:1px solid #e7eaf0!important;border-radius:.85rem;overflow:hidden}
.xeus-cash-v3001-header,
.xeus-cash-v3001-balance-header{padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid #eef0f4}
.xeus-cash-v3001-title{font-size:.95rem;line-height:1.25;color:#1d2939;text-transform:none;letter-spacing:.01em}
.xeus-cash-v3001-context{font-size:.78rem;color:#667085;margin-top:.2rem}
.xeus-cash-v3001-principle{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;color:#667085}
.xeus-cash-v3001-principle span{font-size:.72rem;font-weight:700;padding:.22rem .45rem;border-radius:999px;background:#f8f9fc;border:1px solid #eaecf0;color:#475467}
.xeus-cash-v3001-principle i{font-size:.62rem;color:#98a2b3}
.xeus-cash-v3001-body{padding:1rem}
.xeus-cash-v3001-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.xeus-cash-v3001-kpi{position:relative;min-width:0;border:1px solid #e4e7ec;border-radius:.78rem;background:#fff;padding:.78rem .82rem .72rem;box-shadow:0 1px 2px rgba(16,24,40,.035)}
.xeus-cash-v3001-kpi-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-bottom:.45rem;padding:.18rem .42rem;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.64rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.xeus-cash-v3001-kpi>span{display:block;color:#475467;font-size:.79rem;font-weight:600;line-height:1.25}
.xeus-cash-v3001-kpi>strong{display:block;margin-top:.16rem;color:#101828;font-size:1.18rem;line-height:1.15;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.xeus-cash-v3001-kpi>small{display:block;margin-top:.34rem;color:#7b8494;font-size:.69rem;line-height:1.25}
.xeus-cash-v3001-kpi.is-collection{background:rgba(79,70,229,.04);border-color:rgba(79,70,229,.2)}
.xeus-cash-v3001-kpi.is-collection .xeus-cash-v3001-kpi-label{background:rgba(79,70,229,.1);color:#4f46e5}
.xeus-cash-v3001-kpi.is-collection>strong{color:#4f46e5}
.xeus-cash-v3001-kpi.is-outflow{background:rgba(220,38,38,.025);border-color:rgba(220,38,38,.14)}
.xeus-cash-v3001-kpi.is-outflow .xeus-cash-v3001-kpi-label{background:rgba(220,38,38,.08);color:#b42318}
.xeus-cash-v3001-kpi.is-outflow>strong{color:#d92d20}
.xeus-cash-v3001-kpi.is-net{background:rgba(22,163,74,.045);border-color:rgba(22,163,74,.18)}
.xeus-cash-v3001-kpi.is-net .xeus-cash-v3001-kpi-label{background:rgba(22,163,74,.1);color:#15803d}
.xeus-cash-v3001-kpi.is-net>strong{color:#16a34a}
.xeus-cash-v3001-analysis{border:1px solid #eaecf0;border-radius:.78rem;background:#fbfcfe;overflow:hidden}
.xeus-cash-v3001-analysis-heading{padding:.62rem .8rem;border-bottom:1px solid #eaecf0;background:#fff}
.xeus-cash-v3001-analysis-heading strong{display:block;color:#344054;font-size:.81rem}
.xeus-cash-v3001-analysis-heading small{display:block;color:#7b8494;font-size:.7rem;margin-top:.08rem}
.xeus-cash-v3001-analysis-grid{display:grid;grid-template-columns:1fr 1.15fr .95fr}
.xeus-cash-v3001-analysis-group{padding:.72rem .8rem;min-width:0;border-right:1px solid #eaecf0}
.xeus-cash-v3001-analysis-group:last-child{border-right:0}
.xeus-cash-v3001-analysis-title{display:flex;align-items:center;gap:.38rem;color:#667085;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em;margin-bottom:.52rem}
.xeus-cash-v3001-analysis-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.24rem 0;font-size:.75rem;line-height:1.25}
.xeus-cash-v3001-analysis-row span{color:#667085;min-width:0}
.xeus-cash-v3001-analysis-row strong{font-size:.79rem;color:#344054;white-space:nowrap;font-variant-numeric:tabular-nums}
.xeus-cash-v3001-analysis-row.is-total{border-top:1px dashed #dfe3e8;margin-top:.2rem;padding-top:.42rem;font-weight:700}
.xeus-cash-v3001-analysis-group.is-result{background:rgba(245,158,11,.035)}
.xeus-cash-v3001-profit-label{font-size:.75rem;color:#667085}
.xeus-cash-v3001-profit-value{display:block;margin:.18rem 0 .28rem;font-size:1.05rem;line-height:1.15;color:#344054;font-variant-numeric:tabular-nums}
.xeus-cash-v309-profit-breakdown{margin:.38rem 0 .42rem;padding-top:.34rem;border-top:1px dashed #e3e6eb}
.xeus-cash-v309-profit-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.16rem 0;font-size:.69rem;line-height:1.25}
.xeus-cash-v309-profit-breakdown span{color:#667085;min-width:0}
.xeus-cash-v309-profit-breakdown strong{color:#344054;white-space:nowrap;font-size:.72rem;font-variant-numeric:tabular-nums}
.xeus-cash-v309-profit-breakdown .is-adjustment strong{color:#b54708}
.xeus-cash-v3001-analysis-group.is-result small{display:block;color:#7b8494;font-size:.68rem;line-height:1.35}
.xeus-cash-v308-availability{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .8rem;border-top:1px solid #eaecf0;background:rgba(22,163,74,.035)}
.xeus-cash-v308-availability-copy{min-width:0}
.xeus-cash-v308-availability-copy>span{display:block;color:#344054;font-size:.79rem;font-weight:800}
.xeus-cash-v308-availability-copy>small{display:block;margin-top:.12rem;color:#7b8494;font-size:.68rem;line-height:1.3}
.xeus-cash-v308-availability-formula{display:flex;align-items:center;justify-content:flex-end;gap:.48rem;flex-wrap:wrap;color:#667085;font-size:.68rem}
.xeus-cash-v308-availability-formula>span{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.xeus-cash-v308-availability-formula strong{color:#344054;font-size:.77rem;font-variant-numeric:tabular-nums}
.xeus-cash-v308-availability-formula>b{color:#98a2b3;font-size:.76rem}
.xeus-cash-v308-availability-formula .is-total{padding:.32rem .48rem;border-radius:.5rem;background:rgba(22,163,74,.08);color:#15803d;font-weight:750}
.xeus-cash-v308-availability-formula .is-total strong{color:#16a34a;font-size:.88rem}
.xeus-cash-v3001-breakdown{border-top:1px solid #eef0f4;padding-top:.65rem}
.xeus-cash-v3001-breakdown summary{cursor:pointer;list-style:none;color:#475467;font-size:.74rem;font-weight:650;display:inline-flex;align-items:center}
.xeus-cash-v3001-breakdown summary::-webkit-details-marker{display:none}
.xeus-cash-v3001-breakdown[open] summary{color:#4f46e5;margin-bottom:.6rem}
.xeus-cash-v3001-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.xeus-cash-v3001-breakdown-grid>div{border:1px solid #eaecf0;border-radius:.6rem;background:#fff;padding:.52rem .62rem;min-width:0}
.xeus-cash-v3001-breakdown-grid span{display:block;color:#667085;font-size:.66rem;font-weight:750;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.2rem}
.xeus-cash-v3001-breakdown-grid p{margin:0;color:#475467;font-size:.72rem;line-height:1.4}
.xeus-cash-v3001-breakdown-grid strong{color:#344054;white-space:nowrap;font-variant-numeric:tabular-nums}
.xeus-cash-v3001-balance-header{align-items:flex-start}
.xeus-cash-v3001-cash-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:999px;border:1px solid rgba(22,163,74,.2);background:rgba(22,163,74,.06);color:#15803d;font-size:.68rem;font-weight:700;white-space:nowrap}
.xeus-cash-v3001-balance-body{padding:1rem}
.xeus-cash-v3001-formula{display:flex;flex-direction:column;gap:.12rem}
.xeus-cash-v3001-formula-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:2rem;padding:.3rem .1rem;border-bottom:1px solid #f1f3f6}
.xeus-cash-v3001-formula-row:last-child{border-bottom:0}
.xeus-cash-v3001-formula-row>span{display:flex;align-items:center;color:#475467;font-size:.82rem;line-height:1.28;min-width:0}
.xeus-cash-v3001-formula-row>strong{color:#344054;font-size:.84rem;font-weight:700;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.xeus-cash-v3001-formula-row .operator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.35rem;width:1.35rem;height:1.35rem;border-radius:.38rem;margin-right:.38rem;font-size:.78rem;background:#f2f4f7;color:#667085}
.xeus-cash-v3001-formula-row.is-plus .operator{background:rgba(22,163,74,.08);color:#15803d}
.xeus-cash-v3001-formula-row.is-minus .operator{background:rgba(220,38,38,.07);color:#b42318}
.xeus-cash-v3001-formula-row.is-adjustment .operator{background:rgba(245,158,11,.11);color:#b54708}
.xeus-cash-v3001-expected{display:flex;align-items:center;justify-content:space-between;gap:.9rem;margin-top:.7rem;padding:.78rem .85rem;border:1px solid rgba(22,163,74,.22);border-radius:.7rem;background:rgba(22,163,74,.055)}
.xeus-cash-v3001-expected span{display:block;color:#344054;font-size:.84rem;font-weight:800}
.xeus-cash-v3001-expected small{display:block;color:#667085;font-size:.69rem;line-height:1.25;margin-top:.12rem}
.xeus-cash-v3001-expected>strong{color:#16a34a;font-size:1.2rem;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.xeus-cash-v3001-transfer-note{display:flex;align-items:flex-start;gap:.38rem;margin-top:.6rem;padding:.48rem .58rem;border-radius:.55rem;background:#f8fafc;color:#667085;font-size:.71rem;line-height:1.35}
.xeus-cash-v3001-transfer-note i{margin-top:.08rem;color:#4f46e5}
.xeus-cash-v3001-close-form{border-top:1px solid #eef0f4;padding-top:.75rem}
.xeus-cash-v3001-close-form .form-label{margin-bottom:.3rem;color:#344054;font-size:.82rem;font-weight:700}
.xeus-cash-v3001-close-form .form-control{min-height:40px;font-size:.86rem}
.xeus-cash-v3001-closed-result{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.85rem;padding-top:.8rem;border-top:1px solid #eef0f4}
.xeus-cash-v3001-closed-result>div{border:1px solid #eaecf0;border-radius:.62rem;padding:.6rem .7rem;background:#fff}
.xeus-cash-v3001-closed-result span{display:block;color:#667085;font-size:.72rem}
.xeus-cash-v3001-closed-result strong{display:block;margin-top:.18rem;color:#344054;font-size:.95rem;font-variant-numeric:tabular-nums}

@media (max-width:1399.98px){
  .xeus-cash-v3001-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xeus-cash-v3001-analysis-grid{grid-template-columns:1fr 1fr}
  .xeus-cash-v3001-analysis-group:nth-child(2){border-right:0}
  .xeus-cash-v3001-analysis-group.is-result{grid-column:1/-1;border-top:1px solid #eaecf0}
}
@media (max-width:1199.98px){
  .xeus-cash-v3001-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .xeus-cash-v3001-analysis-group:nth-child(2){border-right:1px solid #eaecf0}
  .xeus-cash-v3001-analysis-group.is-result{grid-column:auto;border-top:0}
}
@media (max-width:767.98px){
  .xeus-cash-v3001-header,.xeus-cash-v3001-balance-header{padding:.75rem .8rem}
  .xeus-cash-v3001-body,.xeus-cash-v3001-balance-body{padding:.8rem}
  .xeus-cash-v3001-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .xeus-cash-v3001-kpi{padding:.65rem .68rem}.xeus-cash-v3001-kpi>strong{font-size:1.05rem}
  .xeus-cash-v3001-analysis-grid{grid-template-columns:1fr}
  .xeus-cash-v3001-analysis-group,.xeus-cash-v3001-analysis-group:nth-child(2){border-right:0;border-bottom:1px solid #eaecf0}
  .xeus-cash-v3001-analysis-group:last-child{border-bottom:0}
  .xeus-cash-v3001-breakdown-grid{grid-template-columns:1fr}
  .xeus-cash-v308-availability{align-items:flex-start;flex-direction:column}
  .xeus-cash-v308-availability-formula{justify-content:flex-start}
  .xeus-cash-v3001-formula-row>span{font-size:.8rem}.xeus-cash-v3001-formula-row>strong{font-size:.82rem}
}
@media (max-width:480px){
  .xeus-cash-v3001-kpi-grid{grid-template-columns:1fr}
  .xeus-cash-v3001-principle{gap:.22rem}.xeus-cash-v3001-principle span{font-size:.64rem;padding:.18rem .34rem}.xeus-cash-v3001-principle i{display:none}
  .xeus-cash-v3001-expected{align-items:flex-start;flex-direction:column}.xeus-cash-v3001-expected>strong{font-size:1.15rem}
}

/* =========================================================
   XEUS POS v3.7.3.310 - CAJA: RESUMEN JERÁRQUICO SIN DUPLICADOS
   ========================================================= */
.xeus-cash-v310-focus{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border:1px solid rgba(79,70,229,.16);border-radius:999px;background:rgba(79,70,229,.045);color:#4f46e5;font-size:.7rem;font-weight:750;white-space:nowrap}
.xeus-cash-v310-kpi-grid .is-profit{background:rgba(245,158,11,.04);border-color:rgba(245,158,11,.2)}
.xeus-cash-v310-kpi-grid .is-profit .xeus-cash-v3001-kpi-label{background:rgba(245,158,11,.12);color:#b54708}
.xeus-cash-v310-kpi-grid .is-profit>strong{color:#b54708}
.xeus-cash-v310-availability{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.68rem .8rem;border:1px solid rgba(22,163,74,.18);border-radius:.7rem;background:rgba(22,163,74,.035)}
.xeus-cash-v310-availability>div{min-width:0}.xeus-cash-v310-availability span{display:block;color:#344054;font-size:.78rem;font-weight:800}.xeus-cash-v310-availability small{display:block;margin-top:.12rem;color:#7b8494;font-size:.68rem;line-height:1.3}.xeus-cash-v310-availability>strong{color:#16a34a;font-size:1rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.xeus-cash-v310-details{border-top:1px solid #eef0f4;padding-top:.62rem}.xeus-cash-v310-details summary{cursor:pointer;list-style:none;color:#475467;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center}.xeus-cash-v310-details summary::-webkit-details-marker{display:none}.xeus-cash-v310-details[open] summary{color:#4f46e5;margin-bottom:.6rem}
.xeus-cash-v310-details-grid{display:grid;grid-template-columns:.9fr 1.15fr 1.05fr;gap:.55rem}.xeus-cash-v310-details-grid>section{border:1px solid #eaecf0;border-radius:.65rem;background:#fff;padding:.62rem .7rem;min-width:0}.xeus-cash-v310-profit-breakdown{margin:0;padding-top:0;border-top:0}.xeus-cash-v310-detail-note{display:block;margin-top:.35rem;color:#7b8494;font-size:.66rem;line-height:1.3}

.xeus-pos-cash-kpis-v310 .is-net{background:rgba(22,163,74,.045);border-color:rgba(22,163,74,.18)}.xeus-pos-cash-kpis-v310 .is-net strong{color:#16a34a}
.xeus-pos-cash-kpis-v310 .is-profit{background:rgba(245,158,11,.045);border-color:rgba(245,158,11,.2)}.xeus-pos-cash-kpis-v310 .is-profit strong{color:#b54708}
.xeus-pos-cash-details{border:1px solid #eaecf0;border-radius:.65rem;background:#fbfcfe;padding:.45rem .6rem}.xeus-pos-cash-details summary{cursor:pointer;list-style:none;color:#475467;font-size:.69rem;font-weight:700}.xeus-pos-cash-details summary::-webkit-details-marker{display:none}.xeus-pos-cash-details[open] summary{color:#4f46e5;margin-bottom:.45rem}
.xeus-pos-cash-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem .45rem}.xeus-pos-cash-details-grid>span{display:flex;justify-content:space-between;gap:.5rem;padding:.3rem .42rem;border:1px solid #eef0f4;border-radius:.5rem;background:#fff;color:#667085;font-size:.67rem;min-width:0}.xeus-pos-cash-details-grid strong{color:#344054;white-space:nowrap;font-variant-numeric:tabular-nums}.xeus-pos-cash-details-grid .is-available{grid-column:1/-1;background:rgba(22,163,74,.045);border-color:rgba(22,163,74,.18);font-weight:700}.xeus-pos-cash-details-grid .is-available strong{color:#16a34a}

@media (max-width:991.98px){.xeus-cash-v310-details-grid{grid-template-columns:1fr}.xeus-cash-v310-availability{align-items:flex-start;flex-direction:column;gap:.35rem}}
@media (max-width:575.98px){.xeus-pos-cash-details-grid{grid-template-columns:1fr}.xeus-pos-cash-details-grid .is-available{grid-column:auto}.xeus-cash-v310-focus{display:none}}

/* XEUS POS v3.7.3.311: cabecera de pago legible y avisos dentro del área de contenido. */
#posCheckoutModal .modal-header{flex-wrap:wrap;gap:.5rem;position:relative;padding-right:2.5rem}
#posCheckoutModal .modal-header>div:first-child{flex:1 1 200px;min-width:0}
#posCheckoutModal .modal-header>div.text-end{flex:0 0 auto;max-width:100%;margin-right:0!important}
#posCheckoutModal .modal-header>.btn-close{position:absolute;right:1rem;top:1rem;margin:0}
#posCheckoutNetAmount{white-space:nowrap;overflow-wrap:normal;word-break:normal}
#xeus-pdf-print-fallback{min-width:0;overflow-wrap:anywhere}
#xeus-pdf-print-fallback>span{flex:1 1 240px;min-width:0}
#xeus-pdf-print-fallback>.btn-close{flex-shrink:0}

@media(max-width:575.98px){
  #posCheckoutModal .modal-header>div:first-child{padding-right:1.75rem}
  #posCheckoutModal .modal-header>div.text-end{flex-basis:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
  #cart_summary .pos-secondary-btn{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-height:52px;padding:.35rem .2rem!important}
  #cart_summary .pos-secondary-btn>span{white-space:nowrap;word-break:normal;overflow-wrap:normal;font-size:.75rem;line-height:1.25}
  #cart_summary .pos-secondary-btn>i{line-height:1;margin:0!important}
}
/* v311: el selector de cliente no debe recortar la línea ni reducir el área táctil. */
#cart_summary #pos_client_toolbar{height:44px!important;min-height:44px!important;line-height:1.5!important;padding:.5rem 2rem .5rem .65rem!important;font-size:.875rem;box-sizing:border-box;min-width:0}
#cart_summary #pos_open_client_modal{min-height:44px;min-width:44px;flex-shrink:0}
/* v311: reservar el objetivo táctil completo del cierre en tableta y PC. */
@media(min-width:576px){#posCheckoutModal .modal-header{padding-right:5rem}}
