@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Lato&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Lato&display=swap);
.icon {
  font-size: 20px;
}
.content-form {
  display: grid;
  grid-template-columns: 500px;
  grid-template-rows: auto;
  grid-gap: 20px;
  border-radius: 20px;
  background: #fff;
}
.content-logo {
  display: grid;
  justify-items: center;
  align-items: center;
  padding: 32px 25px 0 40px;
}
.logo-login {
  height: 130px;
  width: auto;
}
.toggle-password {
  cursor: pointer;
  background: #f8f9fa;
}
.toggle-password:hover {
  background: #e9ecef;
}
.toggle-password:focus-visible {
  outline: 2px solid #c9a227;
  outline-offset: -2px;
}
.text-logo {
  display: grid;
  align-items: center;
  color: #000;
}
.form-login {
  display: grid;
  align-items: center;
  padding: 0px 25px 20px 40px;
}
.form-btn {
  background: #000;
  font-weight: bold;
  border: 1px solid #000;
}
.form-btn:hover {
  background: #000;
  border: 1px solid #000;
}
.form-btn-outline {
  background: #fff;
  color: #000;
  font-weight: bold;
  border: 1px solid #000;
}
.form-btn-outline:hover {
  background: #000;
  color: #fff;
  font-weight: bold;
  border: 1px solid #000;
}
.content-form .w-100 {
  height: 100%;
}
.registro {
  background: #c9a227;
}
.login {
  background: #000;
}
.change-password {
  background: #c9a227;
}
.reset_link {
  color: #fff;
  font-size: 11px;
}
.reset_link:hover {
  color: #000;
}
.reset-link {
  color: #fff;
  text-decoration: underline;
  font-size: 11px;
}
.reset-link:hover {
  color: #000;
}
.login--button {
  display: grid;
  align-items: stretch;
}
.container-login {
  padding: 15px;
}
.auth-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-width: 50%;
  min-height: 100vh;
  background: #000;
}
.auth-wrapper a,
.auth-wrapper p > a {
  color: #111;
  font-weight: 600;
  font-size: 12px;
}
.auth-wrapper .input-group {
  background: transparent;
}
.aut-bg-img {
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}
.aut-bg-img-side p {
  line-height: 2;
}
.aut-bg-img .custom-select,
.aut-bg-img-side .custom-select,
.aut-bg-img .form-control,
.aut-bg-img-side .form-control {
  background: transparent;
}
.aut-bg-img .auth-content,
.aut-bg-img-side .auth-content {
  padding-top: 90px;
  padding-bottom: 90px;
}
@media screen and (max-width: 812px) {
  .content-form {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-gap: 20px;
    border-radius: 20px;
    background: #fff;
  }
}

.no-autorizado-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50vh;
}
.no-autorizado-content {
  text-align: center;
}
h1 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
p {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.table>:not(:last-child)>:last-child>* {
  border-bottom-color: #fff;
}
.productos-modal .modal-dialog {
  width: 90%;
  max-width: none !important;
}
.header-title {
  display: flex;
  justify-content: center;
  align-content: center;
  font-size: 30px;
  width: 100%;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  color: #5e9f87;
}

body {
  margin: 0;
  padding: 0;
}
.Checkout {
  grid-template-columns: repeat(auto-fit, minmax(100px, auto));
  grid-gap: 2rem;
  grid-row-gap: 1.5em;
  display: grid;
}
.content-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, auto));
  justify-content: end;
  grid-gap: 5px;
}
.MenuCheckout {
  display: flex;
  justify-content: center;
  font-size: 80px;
  padding: 20px;
}
.MenuCheckout-printInvoice {
  display: flexbox;
  justify-content: center;
  text-align: center;
  width: 250px;
  background-color: #b5af94;
  border-radius: 10px;
  padding: 50px;
  margin: 60px;
}
.trash {
  --width-svg: 17px;
  --height-svg: 20px;
  --background-svg: currentColor;
  margin-left: 5px;
  cursor: pointer;
}
.printer {
  --width-svg: 50%;
  --height-svg: 50%;
  --background-svg: currentColor;
}
.Checkout-sidebar {
  display: grid;
  justify-content: end;
  align-items: flex-start;
  grid-template-columns: repeat(auto-fit, minmax(60%, auto));
}
.Checkout-sidebar .div {
  display: grid;
  grid-column-start: 1;
  grid-column-end: 3;
}
.Checkout-sidebar div {
  display: grid;
}
.Checkout-content {
  grid-column-start: 1;
  grid-column-end: 2;
}
.toast-header button {
  margin-left: auto;
  background: #d3d3d3;
  border-radius: 15px;
  color: #000;
}
@media (min-width: 100px) and (max-width: 480px) {
  .Checkout {
    grid-template-columns: repeat(auto-fit, minmax(200px, auto));
    grid-gap: 2rem;
    grid-row-gap: 1.5em;
    display: grid;
  }
}
@media (min-width: 481px) and (max-width: 767px) {
  .Checkout {
    grid-template-columns: auto;
    grid-gap: 2rem;
    grid-row-gap: 1.5em;
    display: grid;
  }
}
.btn-state {
  background-color: transparent;
  border: 1px solid #000;
  padding: 0rem 0.2rem;
  font-size: 1.3rem;
  cursor: pointer;
  color: #000;
  transition: all 0.3s ease-in-out;
}
.btn-state:hover,
.btn-state:focus {
  color: #fff;
  background-color: #111;
  outline: none;
  cursor: pointer;
}
.btn-state.active,
.btn-state:active {
  color: #fff;
  background-color: #000;
  box-shadow: none;
}
.btn-state .icon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto;
  font-size: 1.4rem;
  color: #000;
}
.btn-state:hover .icon,
.btn-state:focus .icon,
.btn-state:active .icon,
.btn-state.active .icon {
  color: #fff;
}
.summer-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.receiptWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.receiptHeader {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
}
.receiptBody {
  display: flex;
  justify-content: center;
  align-items: center;
}
.receipt {
  padding: 10px;
  text-transform: uppercase;
  position: relative;
  top: 20px;
  -webkit-box-shadow: 0 -17px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
  box-shadow: 0 -17px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
  border-radius: 2px;
  width: 100%;
  height: 100%;
}
.receipt .receiptHeader,
.receipt .receiptItem,
.receipt .receiptFooter {
  text-align: center;
  font-weight: bold;
}
.receipt .receiptTable {
  margin: 0 auto;
}
.receipt .receiptTable>thead>tr>th,
.receipt .receiptTable>tbody>tr>td {
  text-align: left;
}
.receipt .receiptTable>thead>tr>th:nth-child(2),
.receipt .receiptTable>tbody>tr>td:nth-child(2) {
  text-align: left;
}
.zig-zag {
  background: #fff;
  position: relative;
}
.zig-zag-top:before,
.zig-zag-bottom:after {
  background-repeat: repeat-x;
  content: " ";
  display: block;
  height: 32px;
  width: 100%;
  position: absolute;
  z-index: 0;
  left: 0;
}
.zig-zag-top:before {
  background: linear-gradient(-45deg, #fff 16px, #f00 16px, #00f 16px, transparent 0), linear-gradient(45deg, #fff 16px, transparent 0);
  background-size: 22px 32px;
  background-position: left top;
  top: -30px;
}
.zig-zag-bottom:after {
  background: linear-gradient(-135deg, #fff 16px, #f00 16px, #00f 16px, transparent 0), linear-gradient(135deg, #fff 16px, transparent 0);
  background-position: left bottom;
  background-size: 22px 32px;
}
.custom-button {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  background-color: #00507a;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.custom-button:hover {
  background-color: #00507a;
}
.custom-button:hover {
  opacity: 1;
}
.icon-checkout {
  margin-right: 8px;
  vertical-align: middle;
  color: #fff;
}
.icon-checkout:hover {
  color: #fff;
}
.container-loader {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50vh;
}
.loader-checkout {
  width: 48px;
  height: 48px;
  margin: auto;
  position: relative;
}
.loader-checkout:before {
  content: 'Facturando...';
  width: 48px;
  height: 5px;
  background: rgba(46,46,46,0.8);
  position: absolute;
  top: 60px;
  left: 0;
  border-radius: 50%;
  animation: shadow324 0.5s linear infinite;
}
.loader-checkout:after {
  content: '';
  width: 100%;
  height: 100%;
  background: #00507a;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 4px;
  animation: jump7456 0.5s linear infinite;
}
.nav-tabs .nav-link {
  background-color: #fff;
  color: #000;
  border: #ddd 1px solid;
  border-radius: 5px;
  font-size: 13px;
  padding: 0px;
  margin: 0px;
}
.custom-button-pagos {
  position: relative;
  display: inline-block;
  padding: 5px 15px;
  background-color: #00507a;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.custom-button:hover {
  background-color: #00507a;
  cursor: pointer;
  opacity: 1;
}
.register-pago {
  background-color: #f1e6b2;
  color: #00507a;
  cursor: pointer;
}
.custom-button-invoice {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  background-color: #c9a227;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.custom-button-invoice .custom-button:hover {
  background-color: #c9a227;
  cursor: pointer;
  opacity: 1;
}
@-moz-keyframes jump7456 {
  15% {
    border-bottom-right-radius: 3px;
  }
  25% {
    transform: translateY(9px) rotate(22.5deg);
  }
  50% {
    transform: translateY(18px) scale(1, 0.9) rotate(45deg);
    border-bottom-right-radius: 40px;
  }
  75% {
    transform: translateY(9px) rotate(67.5deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}
@-webkit-keyframes jump7456 {
  15% {
    border-bottom-right-radius: 3px;
  }
  25% {
    transform: translateY(9px) rotate(22.5deg);
  }
  50% {
    transform: translateY(18px) scale(1, 0.9) rotate(45deg);
    border-bottom-right-radius: 40px;
  }
  75% {
    transform: translateY(9px) rotate(67.5deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}
@-o-keyframes jump7456 {
  15% {
    border-bottom-right-radius: 3px;
  }
  25% {
    transform: translateY(9px) rotate(22.5deg);
  }
  50% {
    transform: translateY(18px) scale(1, 0.9) rotate(45deg);
    border-bottom-right-radius: 40px;
  }
  75% {
    transform: translateY(9px) rotate(67.5deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}
@keyframes jump7456 {
  15% {
    border-bottom-right-radius: 3px;
  }
  25% {
    transform: translateY(9px) rotate(22.5deg);
  }
  50% {
    transform: translateY(18px) scale(1, 0.9) rotate(45deg);
    border-bottom-right-radius: 40px;
  }
  75% {
    transform: translateY(9px) rotate(67.5deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}
@-moz-keyframes shadow324 {
  0%, 100% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1);
  }
}
@-webkit-keyframes shadow324 {
  0%, 100% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1);
  }
}
@-o-keyframes shadow324 {
  0%, 100% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1);
  }
}
@keyframes shadow324 {
  0%, 100% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1);
  }
}

.full-width-modal .modal-xl {
  width: 100vw;
  max-width: 100%;
}
.full-width-modal .modal-content {
  height: 100%;
}
.full-width-modal .modal-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.modalContent {
  display: grid;
  grid-template-columns: 55% 45%;
  column-gap: 10px;
}
.modalContent--mobile {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.modalContent--mobile .Products {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.modalContent--mobile .Products-items {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}
.produtosNavbar {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.Product-menu-modal .Products-MenuCategories {
  width: 100%;
}
.comanda-fab {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1056;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.65rem 1.1rem;
  box-shadow: 0 6px 16px rgba(0,0,0,0.2);
  font-weight: 600;
}
.comanda-fab__badge {
  margin-left: 0.5rem;
  background: #fff;
  color: #000;
  border-radius: 999px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}
.comanda-offcanvas {
  width: 90vw !important;
  max-width: 420px;
  z-index: 1075 !important;
}
.comanda-offcanvas-backdrop {
  z-index: 1074 !important;
}

.Products-items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  grid-auto-rows: max-content;
  align-content: start;
  grid-gap: 0.75rem;
  width: 100%;
  max-height: 70vh;
  overflow: auto;
}
.Products-item {
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(39,44,49,0.08);
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: #fff;
  min-height: 160px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.Products-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(39,44,49,0.12);
}
.Products-item-info {
  padding: 10px 12px;
}
.Products-item-info h2 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 4px 0;
  color: #222;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.Products-item-price {
  display: block;
  color: #33b13a;
  font-weight: 700;
  font-size: 15px;
}
.Products-item button {
  width: 100%;
  padding: 10px;
  border-radius: 0px 0px 5px 5px;
  border: 0px;
  outline: 0;
  cursor: pointer;
  font-size: 14px;
  font-weight: 300;
}
.Products-item button:hover {
  background-color: rgba(39,44,49,0.06);
}
.Products-MenuCategories_button {
  width: 180px;
  height: 50px;
  border-radius: 10px;
  background-color: #111;
  color: #f5e1a4;
}
.Products-search input {
  width: 100%;
  height: 50px;
  border-radius: 10px;
  background-color: rgba(245,225,164,0.5);
  transition: 1000;
  pointer: text;
}
.Products-search input:focus {
  outline: none;
  background-color: #fff;
}
.Product-search_icon {
  width: 100px;
  color: rgba(211,211,211,0.7);
  font-size: 34px;
  padding: 20px;
  margin-top: -70px;
  z-indez: -1;
}
.Product-item_foto {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100px;
  background-color: rgba(250,233,194,0.6);
}
.Product-item_foto_img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.Products-item-info {
  min-height: 60px;
  text-overflow: ellipsis;
}
.opciones .modal-lg {
  width: 100%;
  max-width: none !important;
}
.modifier-backdrop.show {
  opacity: 0.7 !important;
}
.modifier-backdrop {
  z-index: 1090 !important;
}
.modal-over-offcanvas-backdrop {
  z-index: 1090 !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .Products-MenuCategories {
    grid-template-columns: auto auto;
    grid-template-rows: auto;
  }
}
/* 
  ##Device = Low Resolution Tablets, Mobiles (Landscape)
  ##Screen = B/w 481px to 767px
*/
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .modalContent {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    row-gap: 10px;
  }
  .Products-items {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    height: auto;
    max-height: 55vh;
    overflow: auto;
  }
  .comanda-list {
    display: block !important;
    min-height: 35vh;
  }
}
@media (min-width: 481px) and (max-width: 767px) {
  .Products {
    overflow: auto;
    grid-template-rows: auto;
    grid-template-columns: auto;
  }
  .modalContent {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    row-gap: 10px;
  }
  .Products-MenuCategories {
    grid-template-columns: auto auto;
    grid-template-rows: auto;
    max-height: 150px;
    overflow: auto;
  }
  .Products-items {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    height: auto;
    max-height: 50vh;
    overflow: auto;
  }
  .comanda-list {
    display: block !important;
    min-height: 30vh;
  }
}
/* 
  ##Device = Most of the Smartphones Mobiles (Portrait)
  ##Screen = B/w 320px to 479px
*/
@media (min-width: 100px) and (max-width: 480px) {
  .modalContent {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    row-gap: 8px;
    overflow: auto;
  }
  .Products {
    overflow: auto;
    grid-template-rows: auto auto;
    grid-template-columns: auto auto;
  }
  .Products-MenuCategories {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    height: 150px;
    overflow: auto;
  }
  .Products-items {
    grid-template-columns: repeat(2, 1fr);
    max-height: 50vh;
    overflow: auto;
  }
  .comanda-list {
    display: block !important;
    min-height: 25vh;
  }
}

.Main {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.content-detail {
  padding: 20px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.content-mesas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); /* Modificamos el ancho mínimo y la fracción */
  grid-gap: 20px; /* Modificamos la separación entre elementos */
  margin-top: 30px;
}
@media (max-width: 767px) {
  .content-mesas {
    grid-template-columns: repeat(auto-fit, minmax(150px, 300px));
    align-items: center;
  }
}
.card-table {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.2s ease-in-out;
  cursor: pointer;
}
.card-table:hover {
  transform: translateY(-5px);
}
.card-table-header {
  background-color: #f7f7f7;
  font-weight: bold;
  color: #000;
}
.card-table-body {
  padding: 1rem;
}
.card-table-title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}
.card-table-text {
  margin-bottom: 0.5rem;
}
.card-table .btn {
  border-radius: 20px;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: bold;
  text-transform: uppercase;
}
.card-table .btn-primary {
  background-color: #007bff;
  border-color: #007bff;
}
.card-table .btn-primary:hover {
  background-color: #0062cc;
  border-color: #005cbf;
}
.card-table .btn-light {
  background-color: #f7f7f7;
  border-color: #f7f7f7;
}
.card-table .btn-light:hover {
  background-color: #e6e6e6;
  border-color: #e6e6e6;
}
.card-table .btn-success {
  background-color: #28a745;
  border-color: #28a745;
}
.card-table .btn-success:hover {
  background-color: #218838;
  border-color: #1e7e34;
}
.mesas-selector__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}
.mesa-tile {
  border: 1px solid #e3e3e3;
  border-radius: 10px;
  background: #fff;
  padding: 14px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: transform 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.mesa-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.12);
  border-color: #0d6efd;
}
.mesa-tile--actual {
  border: 2px solid #0d6efd;
  background: #f0f6ff;
}
.mesa-tile--ocupada {
  background: #fff8e6;
  border-color: #e8d49a;
}
.mesa-tile__nombre {
  font-weight: 600;
  word-break: break-word;
}

#comandaDatos thead td {
  padding: 10px;
  font-weight: bold;
}
#comandaDatos thead {
  color: #fff;
  background: #000;
}
#comandaDatos th {
  position: sticky;
  top: 0;
  z-index: 1;
}
.comanda {
  padding: 5px;
}
.comanda-list {
  margin: 50 auto 50 auto;
  width-min: 500px;
  width-max: 550px;
  overflow-x: auto;
  overflow-y: auto;
  border-radius: 15px;
  border: 2px dotted #000;
  padding: 2px;
}
.optionsButtons {
  font-size: 16px;
  margin: 2px;
}
.comanda-productName {
  font-weight: bold;
  text-align: left;
  width: 50%;
}
.comanda-precio {
  text-align: right;
  font-weight: bold;
}
.comanda-cantidad {
  width: 25%;
}
.opcion-item {
  width: max-content;
}
.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  color: #fff;
  background-color: #000;
  border-color: #dee2e6 #dee2e6 #fff;
}
.nav-tabs .nav-link {
  color: #000;
}
.label-quantity {
  margin-right: 25px;
  margin-top: 10px;
  font-weight: bold;
}
.comanda-compact {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  gap: 0.5rem;
}
.comanda-compact__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding: 0.25rem 0;
  flex-shrink: 0;
}
.comanda-compact__items {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.25rem;
}
.comanda-item-card {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.6rem;
  background: #fff;
  border: 1px solid #e4e8eb;
  border-radius: 6px;
}
.comanda-item-card__body {
  flex: 1 1 auto;
  min-width: 0;
}
.comanda-item-card__name {
  font-weight: 600;
  font-size: 13px;
  line-height: 1.25;
  color: #222;
  word-break: break-word;
}
.comanda-item-card__group-tag {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 600;
  color: #000;
  background: #e8f0f6;
  border-radius: 999px;
  vertical-align: middle;
}
.comanda-item-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.3rem;
}
.comanda-item-card__stepper {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.comanda-item-card__stepper .btn {
  min-width: 28px;
  padding: 0.1rem 0.4rem;
  font-weight: 700;
  line-height: 1;
}
.comanda-item-card__qty {
  min-width: 18px;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
}
.comanda-item-card__price {
  font-weight: 700;
  color: #000;
  font-size: 14px;
  white-space: nowrap;
}
.comanda-item-card__actions {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  font-size: 16px;
  color: #000;
}
.comanda-compact__footer {
  border-top: 1px solid #e4e8eb;
  padding: 0.6rem 0 0.25rem;
  margin-top: auto;
  background: #fff;
  position: sticky;
  bottom: 0;
  flex-shrink: 0;
}
.comanda-compact__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
}
.comanda-compact__total strong {
  font-size: 18px;
  color: #000;
}

.formaPago-modal .modal-md {
  max-width: 100%;
}

.pago-panel {
  font-family: inherit;
}
.pago-panel .pp-header {
  background: #000;
  color: #fff;
  padding: 18px 22px 16px;
}
.pago-panel .pp-kicker {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.8;
}
.pago-panel .pp-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #c8792a;
  color: #fff;
  font-weight: 800;
  font-size: 0.8rem;
}
.pago-panel .pp-saldo {
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.05;
}
.pago-panel .pp-client {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 10px;
  padding: 10px 12px;
  min-width: 200px;
}
.pago-panel .pp-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f7e9c8;
  color: #000;
  font-weight: 800;
  font-size: 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pago-panel .pp-body {
  padding: 14px 22px 22px;
}
.pago-panel .pp-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  color: #495057;
}
.pago-panel .pp-row b {
  color: #212529;
}
.pago-panel .pp-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-top: 1px solid #e5e5e5;
  margin-top: 8px;
  padding-top: 12px;
}
.pago-panel .pp-total .lbl {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #000;
}
.pago-panel .pp-total .val {
  font-size: 1.5rem;
  font-weight: 800;
  color: #000;
}
.pago-panel .pp-seg {
  display: inline-flex;
  background: #eef0f3;
  border-radius: 8px;
  padding: 3px;
  gap: 2px;
}
.pago-panel .pp-seg button {
  border: none;
  background: transparent;
  color: #6c757d;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 3px 10px;
  border-radius: 6px;
  cursor: pointer;
}
.pago-panel .pp-seg button.on {
  background: #000;
  color: #fff;
}
.pago-panel .pp-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dee2e6;
  border-radius: 10px;
  padding: 8px 12px;
  font-weight: 600;
  font-size: 0.92rem;
  color: #495057;
  cursor: pointer;
  margin: 0;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}
.pago-panel .pp-toggle .form-check,
.pago-panel .pp-toggle .form-check.form-switch {
  margin: 0;
  padding: 0;
  min-height: 0;
  display: flex;
  align-items: center;
}
.pago-panel .pp-toggle .form-switch .form-check-input,
.pago-panel .pp-toggle .form-check-input {
  margin: 0 !important;
  float: none;
  width: 2.6em;
  height: 1.4em;
  cursor: pointer;
  background-color: #e9ecef;
  border-color: #dee2e6;
}
.pago-panel .pp-toggle .form-switch .form-check-input:checked,
.pago-panel .pp-toggle .form-check-input:checked {
  background-color: #000;
  border-color: #000;
}
.pago-panel .pp-toggle small {
  color: #8a8f98;
  font-weight: 400;
}
.pago-panel .pp-methods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
  margin: 10px 0 14px;
}
.pago-panel .pp-method {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dee2e6;
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  font-weight: 700;
  color: #495057;
  cursor: pointer;
  text-align: left;
}
.pago-panel .pp-method .key {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: #eef0f3;
  color: #6c757d;
  font-size: 0.75rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pago-panel .pp-method.on {
  background: #000;
  border-color: #000;
  color: #fff;
}
.pago-panel .pp-method.on .key {
  background: #c8792a;
  color: #fff;
}
.pago-panel .pp-card {
  border: 1px solid #dee2e6;
  border-radius: 10px;
  overflow: hidden;
}
.pago-panel .pp-card .pp-card-head {
  background: #f7e9c8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
}
.pago-panel .pp-card .pp-card-head .k {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  font-weight: 800;
  color: #6b5d3f;
}
.pago-panel .pp-card .pp-card-head .v {
  font-size: 1.25rem;
  font-weight: 800;
  color: #000;
}
.pago-panel .pp-card .pp-card-body {
  padding: 12px 14px;
  background: #fff;
}
.pago-panel .pp-card .pp-card-body label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a8f98;
  margin-bottom: 4px;
}
.pago-panel .pp-card .pp-card-body .form-control {
  border-radius: 8px;
}
.pago-panel .pp-card .pp-card-body .form-control[readonly] {
  background: #f3f1ec;
}
.pago-panel .pp-quick {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.pago-panel .pp-quick button {
  flex: 1 1 0;
  min-width: 0;
  border: 1px solid #dee2e6;
  background: #fff;
  border-radius: 8px;
  padding: 8px 4px;
  font-weight: 700;
  color: #212529;
  cursor: pointer;
}
.pago-panel .pp-quick button.on {
  border-color: #000;
  color: #000;
  background: #eaf1f6;
}
.pago-panel .pp-confirm {
  width: 100%;
  background: #000;
  border: none;
  color: #fff;
  font-weight: 800;
  font-size: 1.05rem;
  padding: 12px;
  border-radius: 10px;
  margin-top: 14px;
}
.pago-panel .pp-confirm.pp-confirm--idle {
  background: #cfc9ba;
  color: #fff;
}
.pago-panel .pp-confirm:disabled {
  opacity: 0.6;
}
.pago-panel .pp-hint {
  text-align: center;
  color: #8a8f98;
  font-size: 0.8rem;
  margin-top: 6px;
}
.pago-panel .pp-link {
  background: none;
  border: none;
  color: #000;
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: underline;
  padding: 0;
}
@media (max-width: 1199px) {
  .pago-panel .pp-header {
    padding: 14px 16px;
  }
  .pago-panel .pp-body {
    padding: 12px 16px 18px;
  }
  .pago-panel .pp-saldo {
    font-size: 1.8rem;
  }
  .pago-panel .pp-client {
    min-width: 0;
    flex: 1 1 100%;
  }
  .pago-panel .pp-methods {
    grid-template-columns: repeat(2, 1fr);
  }
  .pago-panel .pp-toggle {
    font-size: 0.85rem;
    gap: 8px;
    padding: 8px 10px;
  }
}
@media (max-width: 575px) {
  .pago-panel .pp-quick {
    flex-wrap: wrap;
  }
  .pago-panel .pp-quick button {
    flex: 1 1 45%;
  }
}

body {
  margin: 0;
  padding: 0;
  color: #3c484e;
  font-family: 'Open Sans', sans-serif;
}
.loader-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
}
.loader {
  border: 10px solid #f3f3f3;
  border-top: 10px solid #111;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  animation: spin 1s linear infinite;
}
@-moz-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-o-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.clock {
  color: #fff;
  text-align: center;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Lato", sans-serif;
}
.home,
.reports,
.products {
  display: flex;
  height: 90vh;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  background-color: #000;
  color: #fff;
}
.content-wrapper {
  margin-left: 250px;
  transition: margin-left 0.5s ease;
}
/* Barras de acción fijas al pie (Nuevo Pedido, Procesar Pedidos, Pedido Estándar,
   Conciliación): son position-fixed de borde a borde con z-index alto y tapaban
   el final del sidebar (Configuración, Huelleros). Con el sidebar abierto arrancan
   en su borde derecho. */
.content-wrapper .position-fixed.bottom-0.start-0 {
  left: 250px !important;
  transition: left 0.5s ease;
}
.content-wrapper--transform {
  transform: translateX(200px);
}
.navbar {
  background-color: #000;
  height: 100px;
  display: grid;
  grid-template-columns: auto 2fr auto;
  justify-content: space-around;
  align-items: center;
  transition: all 0.5s ease;
}
.menu-bars-close {
  margin-left: 2rem;
  font-size: 2rem;
  background: none;
  color: #fff;
}
.menu-bars {
  margin-left: 2rem;
  font-size: 2.5rem !important;
  background: none;
  color: #fff;
}
.nav-menu {
  background-color: #000;
  width: 250px;
  height: 100vh;
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 1;
  transition: all 1.5s ease;
}
.nav-menu.active {
  left: 0;
  transition: all 0.4s ease;
}
.nav-text {
  display: flex;
  justify-content: start;
  align-items: center;
  padding: 8px 0px 8px 10px;
  list-style: none;
  height: 60px;
}
.nav-text-sub {
  display: flex;
  justify-content: start;
  align-items: center;
  padding: 8px 0px 8px 10px;
  list-style: none;
  height: 60px;
}
.nav-text-dropdown {
  display: flex;
  justify-content: start;
  align-items: center;
  padding: 8px 0px 8px 12px;
  margin: -6px 0px -6px 0px;
  list-style: none;
  height: 56px;
  background: #1a1a1a;
}
.nav-text a {
  text-decoration: none;
  color: #fff;
  font-size: 18px;
  width: 95%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 16px;
  border-radius: 4px;
}
.nav-text-sub a {
  text-decoration: none;
  color: #fff;
  font-size: 18px;
  width: 95%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 4px;
  justify-content: space-between;
}
/* El grupo envuelve ícono+título en un div: en fila y sin saltos, para que
   títulos largos ("Inventario de Café") no caigan debajo del ícono. */
.nav-text-sub a > div {
  display: flex;
  align-items: center;
  min-width: 0;
}
.nav-text a:hover,
.nav-text-sub a:hover {
  color: #000;
  font-weight: bold;
  background: #fff;
}
.nav-menu-items {
  width: 100%;
  overflow-y: scroll;
}
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background-color: #000;
}
::-webkit-scrollbar-thumb {
  background-color: #1a1a1a;
  border-radius: 8px;
}
.nav-menu-items {
  padding-left: 0px;
}
.navbar-toggle {
  background-color: #000;
  width: 100%;
  height: 100px;
  display: flex;
  justify-content: start;
  align-items: center;
}
.span-sidebar {
  margin-left: 10px;
/* Títulos largos (p. ej. "Inventario de Café") no se parten en dos líneas:
     la fila mide 60px y el salto descuadra el menú. Si no cabe, se corta con … */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.info-tienda {
  display: grid;
  justify-content: center;
}
.info-usuario {
  display: grid;
  justify-content: center;
/* justify-content: end; */
}
.user button {
  color: transparent;
  background-color: transparent;
  border: none;
}
.user button:hover {
  background-color: transparent;
}
.show .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #fff;
  border: none;
}
.dropdown-row {
  color: #fff;
  padding: 2px 1px 6px 1px;
  margin: 2px 12px 2px 2px;
  font-size: 24px;
  border-radius: 5px;
}
.dropdown-row:hover {
  color: #fff;
  background: #1a1a1a;
}

@font-face {
  font-family: 'Arquitecta Black';
  src: url(/d3944a8229a023d2659e.otf) format('opentype'),;
}
.title-home {
  text-align: center;
  margin-top: 40px;
  margin-bottom: -20px;
  color: #000;
}
.shop {
  background-color: #fae9c2;
  border: none;
  border-radius: 0.36rem;
  transition: background-color 0s;
  transition: transform 0.6s ease;
  min-width: 310px;
}
.shop:hover {
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 0.36rem;
  transform: scale(0.97);
}
.shop-title {
  color: #000;
  margin-top: 18px;
  margin-bottom: 8px;
/* font-family: 'Arquitecta Black'; */
}
.shop-footer {
  height: 100px;
  color: #fae9c2;
  background-color: #000;
}
.icon {
  font-size: 2rem;
  color: #000;
}
.icon-label {
  font-size: 0.6rem;
  color: #000;
}
.current {
  font-size: 1rem;
  color: #187a66;
  margin-bottom: 1px;
  font-weight: 600;
}
.current-label {
  font-size: 0.7rem;
  color: #187a66;
  margin-bottom: 1px;
  font-weight: 600;
}
.goal {
  font-size: 1rem;
  color: #82d2b9;
  margin-bottom: 1px;
  font-weight: 600;
}
.goal-label {
  font-size: 0.7rem;
  color: #82d2b9;
  margin-bottom: 1px;
  font-weight: 600;
}
.grafic-goals {
  height: 100%;
  width: 100%;
  margin-top: -68px;
  margin-bottom: -81px;
  text-align: -webkit-center;
}
.txtShopAdmin {
  min-width: 165px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notifications {
  background-color: #ec4a4a !important;
  border-radius: 10px;
  width: 20px;
  height: 16px;
  padding-left: 5px;
  padding-top: 3px;
  margin-top: -10px;
  margin-left: 20px;
  position: absolute;
  font-size: 10px;
  font-weight: bold;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Lato", sans-serif;
}
.home,
.reports,
.products {
  display: flex;
  height: 90vh;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  background-color: #000;
  color: #fff;
}
.navbar {
  background-color: #000;
  height: 100px;
  display: grid;
  grid-template-columns: auto 2fr auto;
  justify-content: space-around;
  align-items: center;
}
.menu-bars-close {
  margin-left: 2rem;
  font-size: 2rem;
  background: none;
  color: #fff;
}
.menu-bars {
  margin-left: 2rem;
  font-size: 2rem;
  background: none;
  color: #fff;
}
.info-usuario {
  display: grid;
  justify-content: center;
/* justify-content: end; */
}
.user button {
  color: transparent;
  background-color: transparent;
  border: none;
}
.user button:hover {
  background-color: transparent;
}
.show .btn-primary.dropdown-toggle {
  color: transparent;
  background-color: transparent;
  border: none;
}
/* El logo es vertical (ratio 0.67): se limita por ALTO para que no desborde
   los 100px de la barra. */
.logo {
  margin-left: 2rem;
  height: 76px;
  width: auto;
}
.sidebar-open-logo {
  margin-left: 13rem;
  height: 76px;
  width: auto;
  transition: margin-left 0.5s ease;
}
/* Responsive para mobile */
@media screen and (max-width: 1000px) {
  .logo {
    margin-left: 1rem;
    height: 52px;
  }
  .sidebar-open-logo {
    margin-left: 1rem;
    height: 52px;
  }
  .navbar {
    grid-template-columns: auto 1fr auto;
    padding: 0 0.5rem;
  }
  .info-tienda h3 {
    font-size: 1rem;
  }
  .menu-bars {
    margin-left: 1rem;
    font-size: 1.8rem !important;
  }
}
@media screen and (max-width: 600px) {
  .logo,
  .sidebar-open-logo {
    margin-left: 0.5rem;
    height: 44px;
  }
  .menu-bars {
    margin-left: 0.5rem;
    font-size: 1.5rem !important;
  }
  .info-tienda h3 {
    font-size: 0.85rem;
  }
  .info-usuario {
    padding: 0 0.5rem !important;
  }
}

.modal-content-container {
  text-align: center;
}
.icon-caja {
  font-size: 80px;
  color: #65c063;
  text-align: center;
}
.message {
  font-size: 18px;
  margin-bottom: 20px;
}
.cerrar-button {
  margin: 0 auto;
}

.table>:not(:last-child)>:last-child>* {
  border-bottom-color: #fff;
}
.productos-modal .modal-dialog {
  width: 90%;
  max-width: none !important;
}
.header-title {
  display: flex;
  justify-content: center;
  align-content: center;
  font-size: 30px;
  width: 100%;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  color: #5e9f87;
}
.table thead th {
  background-color: #000;
}
.pedido-trash {
  font-size: 27px;
}
.pedido-delete {
  display: flex;
  justify-content: center;
}
.card-pedidos {
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 2px 2px 2px #ccc;
  width: 200px !important;
}
.card-body-pedidos {
  padding: 10px;
}
.card-pedidos-title {
  font-size: 30px;
  font-weight: bold;
  color: #495057;
  margin-bottom: 5px;
  text-align: center;
}
.card-pedidos-text {
  font-size: 20px;
  font-weight: bold;
  color: #495057;
  text-align: center;
}
.dashboard-card {
  border-radius: 10px;
  background-color: #fff;
  padding: 5px;
  transition: all 0.5s ease-in-out;
  margin-bottom: 20px;
  box-shadow: 0px 10px 20px rgba(0,0,0,0.1);
  border: transparent;
}
.dashboard-card:hover {
  transform: translateY(-5px);
}
.card-number {
  font-size: 36px;
  font-weight: bold;
  color: #495057;
  text-align: center;
}
.icon-container {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  background-color: #000;
  border-radius: 50%;
  box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin-right: 20px;
  margin-top: 20px;
}
.icon-pedidos {
  font-size: 100%;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}
.icon-warning {
  color: #fff;
}
.icon-container-warning {
  background: #fdbe2a;
}
.icon-success {
  color: #fff;
}
.icon-info {
  color: #fff;
}
.icon-container-success {
  background: #c9a227;
}
.icon-danger {
  color: #fff;
}
.icon-container-danger {
  background: #9b2132;
}
.arrow-icon {
  font-size: 20px;
  color: #495057;
}
.warning-card {
  background-color: #f7f9fb;
}
.info-card {
  background-color: #f7f9fb;
}
.success-card {
  background-color: #f7f9fb;
}
.danger-card {
  background-color: #f7f9fb;
}
.close {
  box-sizing: content-box;
  width: 1em;
  color: #000;
  border: 0;
}
.pedidos-modal .modal-dialog {
  width: 90%;
  max-width: none !important;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #ddd;
}
th,
td {
  text-align: left;
  padding: 8px;
}
th {
  color: #fff;
}
tr:nth-child(even) {
  background-color: #f2f2f2;
}
a {
  text-decoration: none;
  color: #fff;
}
a:hover {
  color: #fff;
}
.pedidos-modal .modal-dialog {
  width: 80%;
  max-width: none !important;
}
.main-pedidos {
  padding: 30px;
}
.even-row {
  background-color: #fff;
}
.odd-row {
  background-color: #dbe9f2 !important;
}
.paginationContainer {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.paginationButton {
  background-color: #000;
  border-color: #06426a;
  margin: 3px;
}
.paginationLabel {
  min-width: fit-content;
}
.my-alert {
  position: fixed;
  left: 50%;
  transform: translateX(-30%) translateY(100%);
  width: 50%;
  opacity: 0;
  transition: all 0.5s ease;
  visibility: hidden;
}
.my-alert.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(-30%) translateY(0);
  transition: all 0.5s ease;
}
.product-summary {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 10px;
  font-family: sans-serif;
}
.product-summary ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.product-summary li {
  margin-bottom: 5px;
}
.product-summary button {
  background-color: transparent;
  border: none;
  color: #0074d9;
  cursor: pointer;
  font-size: 14px;
  text-decoration: underline;
}
.btn-state {
  background-color: transparent;
  border: 1px solid #000;
  padding: 0rem 0.2rem;
  font-size: 1.3rem;
  cursor: pointer;
  color: #000;
  transition: all 0.3s ease-in-out;
}
.btn-state:hover,
.btn-state:focus {
  color: #fff;
  background-color: #111;
  outline: none;
  cursor: pointer;
}
.btn-state.active,
.btn-state:active {
  color: #fff;
  background-color: #000;
  box-shadow: none;
}
.btn-state .icon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto;
  font-size: 1.4rem;
  color: #000;
}
.btn-state:hover .icon,
.btn-state:focus .icon,
.btn-state:active .icon,
.btn-state.active .icon {
  color: #fff;
}
.btn-state-delete {
  background-color: transparent;
  border: 1px solid #f00;
  padding: 0rem 0.2rem;
  font-size: 1.3rem;
  cursor: pointer;
  color: #f00;
  transition: all 0.3s ease-in-out;
}
.btn-state-delete:hover,
.btn-state-delete:focus {
  color: #fff;
  background-color: #f00;
  outline: none;
  cursor: pointer;
}
.btn-state-delete.active,
.btn-state-delete:active {
  color: #fff;
  background-color: #f00;
  box-shadow: none;
}
.btn-state-delete .icon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto;
  font-size: 1.4rem;
  color: #f00;
}
.btn-state-delete:hover .icon,
.btn-state-delete:focus .icon,
.btn-state-delete:active .icon,
.btn-state-delete.active .icon {
  color: #fff;
}
/* Hide the spin buttons in WebKit browsers */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Hide spin buttons in Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}
/* Estilos para textarea de observaciones - scrollbar personalizado */
.observaciones-textarea::-webkit-scrollbar {
  width: 6px;
}
.observaciones-textarea::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}
.observaciones-textarea::-webkit-scrollbar-thumb {
  background: #6c757d;
  border-radius: 10px;
}
.observaciones-textarea::-webkit-scrollbar-thumb:hover {
  background: #5a6268;
}
.btn-outline-navy {
  color: #000;
  border-color: #000;
  background-color: transparent;
}
.btn-outline-navy:hover,
.btn-outline-navy:focus,
.btn-outline-navy:active {
  color: #fff;
  background-color: #000;
  border-color: #000;
}

.custom-button-date {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  background-color: #c9a227;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.custom-button-date:hover {
  background-color: #c9a227;
  cursor: pointer;
  opacity: 1;
}

.nav-tabs .nav-link {
  background-color: #fff;
  color: #000;
  border: #ddd 1px solid;
  padding: 14px;
}
.nav-tabs .nav-link.active {
  background-color: #000;
  color: #fff;
  border-bottom-color: #000;
}
.nav-link:hover {
  background-color: #ddd;
  color: #000;
  border-bottom-color: #000;
}
.even-row {
  background-color: #fff;
}
.odd-row {
  background-color: #dbe9f2 !important;
}
.paginationContainer {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.paginationButton {
  background-color: #000;
  border-color: #06426a;
  margin: 3px;
}
.paginationLabel {
  min-width: fit-content;
}

.custom-checkbox-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  position: relative;
}
.custom-checkbox-input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.custom-checkbox-checkmark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 2px solid #cbd5e0;
  border-radius: 6px;
  background-color: #fff;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.custom-checkbox-container:hover .custom-checkbox-checkmark {
  border-color: #3182ce;
  box-shadow: 0 0 0 3px rgba(49,130,206,0.1);
}
.custom-checkbox-input:checked ~ .custom-checkbox-checkmark {
  background-color: #3182ce;
  border-color: #3182ce;
  box-shadow: 0 2px 8px rgba(49,130,206,0.3);
}
.custom-checkbox-input:checked ~ .custom-checkbox-checkmark:hover {
  background-color: #2c5282;
  border-color: #2c5282;
  box-shadow: 0 0 0 3px rgba(49,130,206,0.2);
}
.custom-checkbox-icon {
  width: 14px;
  height: 14px;
  color: #fff;
}
.custom-checkbox-input:focus ~ .custom-checkbox-checkmark {
  outline: 2px solid #3182ce;
  outline-offset: 2px;
}
.custom-checkbox-input:disabled ~ .custom-checkbox-checkmark {
  opacity: 0.5;
  cursor: not-allowed;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 32px;
  margin-left: 20px;
  margin-right: 20px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: #fff;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
input:checked + .slider {
  background-color: #2196f3;
}
input:focus + .slider {
  box-shadow: 0 0 1px #2196f3;
}
input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}
.slider.round {
  border-radius: 34px;
}
.slider.round:before {
  border-radius: 50%;
}

/* Estilos mínimos - Solo gradientes */
.producto-header {
  background: linear-gradient(135deg, #000 0%, #00507a 100%);
  border-radius: 0.375rem 0.375rem 0 0;
}
.btn-submit-producto {
  background: linear-gradient(135deg, #000 0%, #00507a 100%);
  border: none;
  color: #fff;
}
.btn-submit-producto:hover {
  background: linear-gradient(135deg, #00507a 0%, #000 100%);
}
.points-accordion .accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, #000 0%, #00507a 100%);
  color: #fff;
}
/* ===== PUNTOS DE VENTA CARDS ===== */
.puntos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.75rem;
}
.punto-card {
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 0.65rem 0.75rem;
  transition: all 0.2s ease;
  background: #fff;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.punto-card:hover {
  border-color: #000;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.punto-card.selected {
  border-color: #000;
  background: linear-gradient(135deg, rgba(0,0,0,0.04) 0%, rgba(46,46,46,0.06) 100%);
}
.punto-card.selected::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(180deg, #000 0%, #00507a 100%);
}
.punto-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.punto-card-title {
  font-weight: 600;
  font-size: 0.8rem;
  color: #2c3e50;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.punto-card-title svg {
  font-size: 0.75rem;
}
.punto-card-id {
  font-size: 0.65rem;
  color: #6c757d;
  background: #f8f9fa;
  padding: 0.1rem 0.4rem;
  border-radius: 3px;
}
.punto-card-body {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.punto-price-input {
  flex: 1;
}
.punto-price-input .form-control {
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.8rem;
  padding: 0.25rem 0.5rem;
}
.punto-price-input .input-group-text {
  background: #f8f9fa;
  border-radius: 6px 0 0 6px;
  font-size: 0.8rem;
  padding: 0.25rem 0.5rem;
}
.punto-checkbox {
  transform: scale(1.1);
  cursor: pointer;
}
.punto-card.disabled {
  opacity: 0.6;
  pointer-events: none;
}
.puntos-summary {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.puntos-summary-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  border-radius: 15px;
  font-size: 0.75rem;
  font-weight: 500;
}
.puntos-summary-item.total {
  background: #e9ecef;
  color: #495057;
}
.puntos-summary-item.selected {
  background: linear-gradient(135deg, #000 0%, #00507a 100%);
  color: #fff;
}
.select-all-btn {
  font-size: 0.75rem;
  padding: 0.35rem 0.75rem;
}
/* ===== PROVEEDORES STYLES ===== */
.proveedor-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  transition: all 0.2s ease;
}
.proveedor-card:hover {
  background: #f8f9fa;
}
.proveedor-info {
  display: flex;
  flex-direction: column;
}
.proveedor-nit {
  font-size: 0.75rem;
  color: #6c757d;
}
.proveedor-nombre {
  font-weight: 500;
  color: #2c3e50;
}
/* ===== ASIGNAR PROVEEDOR MODAL ===== */
.list-container {
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
}
.list-item {
  transition: background-color 0.15s ease;
}
.list-item:hover {
  background-color: #f0f7ff;
}
.list-item:last-child {
  border-bottom: none !important;
}
.selected-item-card {
  border-left: 4px solid #000 !important;
}
.hover-bg:hover {
  background-color: #f0f7ff;
}
/* ===== DETALLE PRODUCTO - IMAGEN ===== */
.custom-card {
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  max-width: 100%;
}
.image-container {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
}
.image-zoom {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-in-out;
}
.image-container:hover .image-zoom {
  transform: scale(2);
}
.card-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.card-image.loaded {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.loading-indicator {
  width: 100%;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spin-icon {
  animation: spin 1s linear infinite;
  font-size: 1.5rem;
  color: #000;
}
.not-found-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #adb5bd;
}
.error-icon {
  font-size: 3rem;
}
.product-details .label {
  font-weight: 600;
  color: #000;
}
/* ===== OPCIONES DEL PRODUCTO ===== */
.opcion-card {
  border: 1px solid #e0e5ec;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}
.opcion-card:hover {
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.opcion-card .card-header {
  border-bottom: 1px solid #e9ecef;
  padding: 0.65rem 0.85rem;
}
.opcion-name-input {
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.85rem;
}
.opcion-name-input:focus {
  border-color: #000;
  box-shadow: 0 0 0 0.15rem rgba(0,0,0,0.15);
}
.opcion-cantidad-input {
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 0.8rem;
  text-align: center;
}
.opcion-cantidad-input::placeholder {
  font-size: 0.72rem;
}
.valores-list {
  padding: 0.25rem 0;
}
.valor-row {
  padding: 0.3rem 0.5rem;
  border-radius: 6px;
  transition: background-color 0.15s ease;
}
.valor-row:hover {
  background-color: #f8f9fa;
}
@-moz-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-o-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.card-report {
  background-color: #fff;
  border-radius: 14px;
  box-shadow: 3px 4px 40px rgba(26,26,26,0.561);
}
.card-report .card-header {
  background-color: #000;
  color: #fff;
  border-radius: 14px 14px 0px 0px;
}
.table-container {
  width: 100%;
  overflow-x: auto;
}

/* Security module skin: follows the POS language — white background, soft
   shadow cards, the sidebar brand navy #000000 as the single accent (the mockups were the
   structural idea, not the palette). Scoped under .seguridad-modulo. */
.seguridad-modulo {
  --sg-navy: #000;
  --sg-navy-dark: #1a1a1a;
  --sg-gold: #ffc107;
  --sg-blue-soft: #6c757d;
  --sg-edge: #e9ecef;
  --sg-muted: #6c757d;
}
.seguridad-modulo .sg-eyebrow {
  font-size: 0.7rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--sg-muted);
  font-weight: 600;
}
.seguridad-modulo .sg-title {
  color: #212529;
  font-weight: 700;
  font-size: 1.5rem;
}
.seguridad-modulo .sg-sub {
  color: var(--sg-muted);
}
/* Estado + acción principal */
.seguridad-modulo .sg-status-chip {
  background: #fff;
  border: 1px solid var(--sg-edge);
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 0.85rem;
  color: #495057;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.seguridad-modulo .sg-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #198754;
}
.seguridad-modulo .sg-status-dot.dirty {
  background: var(--sg-gold);
}
.seguridad-modulo .btn-sg-primary {
  background: var(--sg-navy);
  border: 1px solid var(--sg-navy);
  color: #fff;
  border-radius: 6px;
  font-weight: 600;
}
.seguridad-modulo .btn-sg-primary:hover:not(:disabled) {
  background: var(--sg-navy-dark);
  color: #fff;
}
.seguridad-modulo .btn-sg-primary:disabled {
  opacity: 0.55;
  color: #fff;
}
/* Tarjetas: como el resto del POS */
.seguridad-modulo .card {
  border: 0;
  border-radius: 8px;
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
}
/* Celda-check (matriz) */
.seguridad-modulo .sg-check {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1.5px solid #d9dee3;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  transition: all 0.1s ease;
}
.seguridad-modulo .sg-check.on {
  background: var(--sg-navy);
  border-color: var(--sg-navy);
}
.seguridad-modulo .sg-check:hover {
  border-color: var(--sg-navy);
}
/* Chip-checkbox (detalle del rol) */
.seguridad-modulo .sg-chipcheck {
  border: 1px solid #dee2e6;
  background: #fff;
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  color: #212529;
  font-size: 0.88rem;
}
.seguridad-modulo .sg-chipcheck.on {
  background: rgba(0,0,0,0.06);
  border-color: var(--sg-navy);
}
.seguridad-modulo .sg-chipcheck .sg-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  cursor: inherit;
}
/* Badges de nivel derivado */
.seguridad-modulo .sg-level {
  font-size: 0.68rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 4px;
  padding: 4px 10px;
}
.seguridad-modulo .sg-level.none {
  background: #f1f3f5;
  color: var(--sg-muted);
}
.seguridad-modulo .sg-level.partial {
  background: var(--sg-gold);
  color: #212529;
}
.seguridad-modulo .sg-level.total {
  background: var(--sg-navy);
  color: #fff;
}
/* Tarjeta del rol seleccionado: blanca con acento azul (nada de navy sólido) */
.seguridad-modulo .sg-rolecard {
  background: #fff;
  color: #212529;
  border-radius: 8px;
  border-left: 4px solid var(--sg-navy);
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
  padding: 16px 18px;
}
.seguridad-modulo .sg-rolecard .sg-eyebrow {
  color: var(--sg-muted);
}
/* Usuarios */
.seguridad-modulo .sg-avatar {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}
.seguridad-modulo .sg-estado {
  font-size: 0.68rem;
  letter-spacing: 1px;
  font-weight: 700;
  border-radius: 4px;
  padding: 4px 10px;
}
.seguridad-modulo .sg-estado.activo {
  background: #d1e7dd;
  color: #146c43;
}
.seguridad-modulo .sg-estado.inactivo {
  background: #f8d7da;
  color: #b02a37;
}
/* Auditoría (timeline) */
.seguridad-modulo .sg-evento {
  display: flex;
  gap: 16px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid var(--sg-edge);
  border-radius: 8px;
}
.seguridad-modulo .sg-evento .sg-fecha {
  font-family: monospace;
  font-size: 0.8rem;
  color: var(--sg-muted);
  white-space: nowrap;
  padding-top: 2px;
}
.seguridad-modulo .sg-evento .sg-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 6px;
  flex-shrink: 0;
}
.seguridad-modulo .sg-dot.rol-editado {
  background: var(--sg-navy);
}
.seguridad-modulo .sg-dot.rol-creado {
  background: #198754;
}
.seguridad-modulo .sg-dot.cargo-usuario {
  background: var(--sg-gold);
}
/* Matriz: tabla */
.seguridad-modulo .sg-matriz thead th {
  position: sticky;
  top: 0;
  background: #f8f9fa;
  color: #495057;
  z-index: 2;
  border-bottom: 2px solid var(--sg-edge);
}
.seguridad-modulo .sg-matriz td .sg-modulo-eyebrow {
  font-size: 0.65rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--sg-muted);
}
/* Matriz: fila agrupadora por módulo + filas de acción limpias */
.seguridad-modulo .sg-matriz tbody tr td {
  background: #fff;
}
.seguridad-modulo .sg-matriz tr.sg-modulo-row td {
  background: #f6f8f9;
  font-size: 0.68rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--sg-muted);
  padding-top: 10px;
  padding-bottom: 6px;
}
/* Matriz escalable: primera columna fija y columnas de rol compactas */
.seguridad-modulo .sg-matriz .sg-col-accion {
  position: sticky;
  left: 0;
  background: inherit;
  z-index: 1;
  box-shadow: 1px 0 0 var(--sg-edge);
}
.seguridad-modulo .sg-matriz thead .sg-col-accion {
  z-index: 3;
  background: #f8f9fa;
}
.seguridad-modulo .sg-matriz tbody tr td.sg-col-accion {
  background: #fff;
}
.seguridad-modulo .sg-matriz tr.sg-modulo-row td {
  position: sticky;
  left: 0;
}
.seguridad-modulo .sg-matriz .sg-col-rol {
  min-width: 96px;
  max-width: 120px;
  font-size: 0.72rem;
  letter-spacing: 0.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Chips para elegir qué cargos comparar */
.seguridad-modulo .sg-rolchip {
  border: 1px solid #ced4da;
  background: #fff;
  color: var(--sg-muted);
  border-radius: 20px;
  padding: 3px 12px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.seguridad-modulo .sg-rolchip.on {
  border-color: var(--sg-navy);
  background: var(--sg-navy);
  color: #fff;
}
/* Pestañas del módulo: bootstrap nav-tabs con el acento navy */
.seguridad-modulo .nav-tabs .nav-link {
  color: var(--sg-muted);
  background-color: #fff;
  font-weight: 600;
}
/* !important: global POS styles also target .nav-link.active — selected tab is
   solid navy with white text (user's call), inactive stays white/muted. */
.seguridad-modulo .nav-tabs .nav-link.active {
  color: #fff !important;
  background-color: var(--sg-navy) !important;
  border-color: var(--sg-navy) !important;
  font-weight: 700;
}
/* Áreas del menú como lista de ajustes (Ver / Editar por fila) */
.seguridad-modulo .sg-area-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 6px;
  border-bottom: 1px solid #f1f3f5;
}
.seguridad-modulo .sg-area-row:hover {
  background: #fafbfc;
}
.seguridad-modulo .sg-area-nombre {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sg-navy);
  font-weight: 600;
  font-size: 0.9rem;
}
.seguridad-modulo .sg-area-row .form-check-label {
  font-size: 0.78rem;
  color: var(--sg-muted);
}
.seguridad-modulo .form-check-input:checked {
  background-color: var(--sg-navy);
  border-color: var(--sg-navy);
}
/* Usuarios: badges de cargo y chips de excepciones */
.seguridad-modulo .sg-cargo-badge {
  background: rgba(0,0,0,0.08);
  color: var(--sg-navy);
  border: 1px solid rgba(0,0,0,0.25);
  font-weight: 600;
  letter-spacing: 0.4px;
}
.seguridad-modulo .sg-exc-chip {
  border: 1px solid;
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 0.7rem;
  font-weight: 700;
  background: #fff;
}
.seguridad-modulo .sg-exc-chip.extra {
  color: var(--sg-navy);
  border-color: var(--sg-navy);
}
.seguridad-modulo .sg-exc-chip.denegado {
  color: #9a6d0a;
  border-color: var(--sg-gold);
}
/* !important: a global style paints table headers solid navy; align with the
   POS light table headers instead. */
.seguridad-modulo .sg-usuarios thead th {
  background: #f8f9fa !important;
  color: #495057 !important;
  letter-spacing: 0.5px;
}
.seguridad-modulo .sg-th-orden {
  cursor: pointer;
  user-select: none;
}
.seguridad-modulo .sg-th-orden:hover {
  color: var(--sg-navy) !important;
}
/* Paginación con el acento navy (el global la pinta con el azul bootstrap) */
.seguridad-modulo .pagination .page-link {
  color: var(--sg-navy);
  box-shadow: none;
}
.seguridad-modulo .pagination .page-item.active .page-link {
  background: var(--sg-navy);
  border-color: var(--sg-navy);
  color: #fff;
}
/* Wizard de cargo: barra de progreso por pasos */
.seguridad-modulo .sg-pasos {
  display: flex;
  gap: 6px;
}
.seguridad-modulo .sg-pasos span {
  flex: 1;
  height: 5px;
  border-radius: 3px;
  background: #e9ecef;
  transition: background 0.15s ease;
}
.seguridad-modulo .sg-pasos span.on {
  background: var(--sg-navy);
}


/* Recipe wizard identity: coffee tones over the plain bootstrap defaults.
   Scoped under .receta-wizard so nothing leaks to the rest of the POS. */
.receta-wizard {
  --rw-brown: #d97f66;
  --rw-brown-dark: #b85f48;
  --rw-cream: #fdf6f4;
  --rw-edge: #f0d8d0;
}
/* Header band */
.receta-wizard .rw-header {
  background: linear-gradient(135deg, var(--rw-brown) 0%, var(--rw-brown-dark) 100%);
  color: #fff;
  border-radius: 14px;
  padding: 18px 22px;
}
.receta-wizard .rw-header .rw-eyebrow {
  font-size: 0.7rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #f6d9d0;
}
.receta-wizard .rw-header .btn-light {
  background: rgba(255,255,255,0.15);
  border: 0;
  color: #fff;
}
.receta-wizard .rw-cost-chip {
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 10px;
  padding: 6px 14px;
  text-align: right;
}
/* Step cards */
.receta-wizard .card {
  border: 1px solid var(--rw-edge);
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(217,127,102,0.1);
}
.receta-wizard .card .card-body {
  padding: 1.25rem 1.5rem;
}
/* Inputs and choices pick up the coffee accent */
.receta-wizard .form-control:focus,
.receta-wizard .form-select:focus {
  border-color: var(--rw-brown);
  box-shadow: 0 0 0 0.2rem rgba(217,127,102,0.18);
}
.receta-wizard .form-check-input:checked {
  background-color: var(--rw-brown);
  border-color: var(--rw-brown);
}
/* Primary actions in brown (same accent as the coffee-control module) */
.receta-wizard .btn-primary {
  background-color: var(--rw-brown);
  border-color: var(--rw-brown);
}
.receta-wizard .btn-primary:hover,
.receta-wizard .btn-primary:focus,
.receta-wizard .btn-primary:active {
  background-color: var(--rw-brown-dark) !important;
  border-color: var(--rw-brown-dark) !important;
}
.receta-wizard .btn-outline-primary {
  color: var(--rw-brown);
  border-color: var(--rw-brown);
}
.receta-wizard .btn-outline-primary:hover {
  background-color: var(--rw-brown);
  border-color: var(--rw-brown);
  color: #fff;
}
/* Stepper */
.receta-wizard .rw-steps {
  display: flex;
  align-items: flex-start;
  margin: 22px 0 26px;
}
.receta-wizard .rw-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  background: none;
  border: 0;
  padding: 0;
  min-width: 84px;
}
.receta-wizard .rw-step-dot {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  border: 2px solid #ecc9bf;
  background: #fff;
  color: #c9a094;
  transition: all 0.15s ease;
}
.receta-wizard .rw-step.done .rw-step-dot {
  background: var(--rw-brown);
  border-color: var(--rw-brown);
  color: #fff;
}
.receta-wizard .rw-step.active .rw-step-dot {
  border-color: var(--rw-brown);
  color: var(--rw-brown);
  box-shadow: 0 0 0 4px rgba(217,127,102,0.18);
}
.receta-wizard .rw-step-label {
  font-size: 0.78rem;
  color: #b08d82;
  white-space: nowrap;
}
.receta-wizard .rw-step.active .rw-step-label {
  color: var(--rw-brown-dark);
  font-weight: 700;
}
.receta-wizard .rw-step.done .rw-step-label {
  color: var(--rw-brown);
}
.receta-wizard .rw-step-line {
  flex: 1;
  height: 3px;
  border-radius: 2px;
  background: var(--rw-edge);
  margin-top: 18px;
  min-width: 18px;
}
.receta-wizard .rw-step-line.done {
  background: var(--rw-brown);
}
/* Footer action bar */
.receta-wizard .rw-footer {
  background: var(--rw-cream);
  border: 1px solid var(--rw-edge);
  border-radius: 12px;
  padding: 12px 16px;
}
@media (max-width: 576px) {
  .receta-wizard .rw-step-label {
    display: none;
  }
  .receta-wizard .rw-step {
    min-width: auto;
  }
}

.background-checkout {
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

