.menu .app-brand.demo {
  height: 64px;
  margin-top: 12px;
}

.app-brand-logo.demo svg {
  width: 22px;
  height: 38px;
}

.app-brand-text.demo {
  font-size: 1.75rem;
  letter-spacing: -0.5px;
  text-transform: lowercase;
}

/* ! For .layout-navbar-fixed added fix padding top to .layout-page */
/* Detached navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 76px !important;
}
/* Default navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}
.docs-page .layout-navbar-fixed.layout-wrapper:not(.layout-without-menu) .layout-page,
.docs-page .layout-menu-fixed.layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 62px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks > * {
  display: block !important;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing > * {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-lg.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-xl.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.rtl-only {
  display: none !important;
  text-align: left !important;
  direction: ltr !important;
}

[dir='rtl'] .rtl-only {
  display: block !important;
}

/* Dropdown buttons going out of small screens */
@media (max-width: 576px) {
  #dropdown-variation-demo .btn-group .text-truncate {
    width: 231px;
    position: relative;
  }
  #dropdown-variation-demo .btn-group .text-truncate::after {
    position: absolute;
    top: 45%;
    right: 0.65rem;
  }
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1rem;
}
.layout-demo-placeholder img {
  width: 900px;
}
.layout-demo-info {
  text-align: center;
  margin-top: 1rem;
}
.auto-font-table {
  font-size: clamp(12px, 1vw, 15px);
}
/*
* Style caja
******************************************************************************/
.cierre-caja-container .cierre-header-caja h1 {
    color: #212529;
    font-size: 1.75rem;
    font-weight: 600;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.cierre-caja-container .cierre-header-caja p {
    color: #6c757d;
    font-size: 0.875rem;
    margin-bottom: 20px;
}

.cierre-caja-container .status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    margin-bottom: 24px;
}

.cierre-caja-container .status-abierto { background-color: #2fd381; color: #b9f5c1; border: 1px solid #bee5eb; }
.cierre-caja-container .status-cerrado { background-color: #ff6b6b; color: #ffe3e3; border: 1px solid #f5c6cb; }

.cierre-caja-container .card:not([data-component]) {
    background: white;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border: 1px solid #e9ecef;
    margin-bottom: 24px;
}

.cierre-caja-container .card-header-caja:not([data-component]) {
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    padding: 16px 24px;
}

.cierre-caja-container .card-header-caja h3 {
    color: #495057;
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.cierre-caja-container .card-body:not([data-component]) { padding: 24px; }

.cierre-caja-container .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

.cierre-caja-container .info-section {
    background: white;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border: 1px solid #e9ecef;
}

.cierre-caja-container .info-section-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    padding: 12px 20px;
}

.cierre-caja-container .info-section-header h4 {
    color: #495057;
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.cierre-caja-container .info-section-body { padding: 20px; }

.cierre-caja-container .info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f1f3f4;
}

.cierre-caja-container .info-item:last-child { border-bottom: none; }

.cierre-caja-container .info-label {
    color: #6c757d;
    font-size: 0.845rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cierre-caja-container .info-value {
    color: #212529;
    font-size: 0.845rem;
    font-weight: 600;
    text-align: right;
}

.cierre-caja-container .info-value.money { color: #28a745; font-size: 1.025rem; }
.cierre-caja-container .info-value.user { color: #007bff; }
.cierre-caja-container .info-value.empty { color: #6c757d; font-style: italic; }

.cierre-caja-container .icon { width: 16px; height: 16px; color: #6c757d; }

.cierre-caja-container .actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #e9ecef;
}

.cierre-caja-container .btn-custom {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid transparent;
    text-decoration: none;
}

.cierre-caja-container .btn-custom.btn-primary { background-color: #007bff; color: white; border-color: #007bff; }
.cierre-caja-container .btn-custom.btn-primary:hover { background-color: #0056b3; border-color: #0056b3; }
.cierre-caja-container .btn-custom.btn-secondary { background-color: #6c757d; color: white; border-color: #6c757d; }
.cierre-caja-container .btn-custom.btn-secondary:hover { background-color: #545b62; border-color: #545b62; }
.cierre-caja-container .btn-custom.btn-outline { background-color: transparent; color: #6c757d; border-color: #ced4da; }
.cierre-caja-container .btn-custom.btn-outline:hover { background-color: #e9ecef; color: #495057; }

.cierre-caja-container .summary-card-caja { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; color: white !important; }
.cierre-caja-container .summary-card-caja .card-header-caja { background-color: rgba(255, 255, 255, 0.1)!important; border-bottom-color: rgba(255, 255, 255, 0.2)!important; }
.cierre-caja-container .summary-card-caja .card-header-caja h3 { color: white!important; }

@media (max-width: 768px) {
    .cierre-caja-container .info-grid { grid-template-columns: 1fr; }
    .cierre-caja-container .actions { flex-direction: column; }
    .cierre-caja-container .btn-custom { justify-content: center; }
}
/*
* End Style caja
******************************************************************************/
  .table-product-edit .form-control-sm {
      border: 1px solid #dee2e6;
      border-radius: 0.375rem;
      padding: 0.25rem 0.5rem;
      font-size: 0.875rem;
      text-align: right;
  }
  .table-product-edit .form-control-sm:focus {
      border-color: #0d6efd;
      box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
      outline: 0;
  }
  .total-display {
      font-weight: 600;
      color: #0d6efd;
      font-size: 0.95rem;
  }
  .delete-btn:hover {
      transform: scale(1.1);
      transition: all 0.2s ease;
  }
  .restore-btn:hover {
      transform: scale(1.1);
      transition: all 0.2s ease;
  }
  .modal-footer-custom {
      border-top: 1px solid #dee2e6;
      padding: 1rem;
      background: #f8f9fa;
  }
  .producto-marcado-eliminar {
      background-color: #f8d7da !important;
      opacity: 0.7;
  }
  .producto-marcado-eliminar td {
      text-decoration: line-through;
  }
  .alert {
      padding: 0.75rem 1rem;
      margin-bottom: 1rem;
      border: 1px solid transparent;
      border-radius: 0.375rem;
  }
  .alert-warning {
      color: #664d03;
      background-color: #fff3cd;
      border-color: #ffecb5;
  }
  .quantity-controls {
      display: flex !important;
      align-items: stretch !important;
      width: 100% !important;
  }
  .quantity-controls .btn {
      border-radius: 0 !important;
      border-color: #ced4da !important;
  }
  .quantity-controls .btn:first-child {
      border-top-left-radius: 0.375rem !important;
      border-bottom-left-radius: 0.375rem !important;
  }
  .quantity-controls .btn:last-child {
      border-top-right-radius: 0.375rem !important;
      border-bottom-right-radius: 0.375rem !important;
  }
  .quantity-controls input {
      border-radius: 0 !important;
      border-left: none !important;
      border-right: none !important;
  }
  .quantity-controls input:focus {
      z-index: 3 !important;
      border-left: 1px solid #86b7fe !important;
      border-right: 1px solid #86b7fe !important;
  }
  /* Ocultar spinners de input number */
  input[type="number"]::-webkit-outer-spin-button,
  input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none !important;
      margin: 0 !important;
  }
  input[type="number"] {
      -moz-appearance: textfield !important;
  }
  /* Indicadores visuales para el debounce */
  .border-warning {
      border-color: #ffc107 !important;
      box-shadow: 0 0 0 0.1rem rgba(255, 193, 7, 0.25) !important;
  }
  .border-success {
      border-color: #198754 !important;
      box-shadow: 0 0 0 0.1rem rgba(25, 135, 84, 0.25) !important;
  }
  /* Animación suave para los botones */
  .quantity-btn {
      transition: all 0.15s ease-in-out;
  }
  .quantity-btn:active {
      transform: scale(0.95);
  }