:root {
  --rest-navy: #083344;
  --rest-teal: #0f766e;
  --rest-teal-dark: #115e59;
  --rest-aqua: #ccfbf1;
  --rest-coral: #f97316;
  --rest-sand: #fff7ed;
  --rest-ink: #16323a;
  --rest-muted: #64748b;
  --rest-line: #e2e8f0;
  --rest-bg: #f6faf9;
  --rest-white: #ffffff;
  --rest-radius: 16px;
  --rest-shadow: 0 10px 28px rgba(8, 51, 68, 0.08);
}

/* Identidad visual segura: solo presentación, no toca lógica tributaria. */
.skin-blue .main-header .logo,
.skin-blue .main-header .navbar {
  background: linear-gradient(135deg, var(--rest-navy), var(--rest-teal));
}
.skin-blue .main-header .logo:hover,
.skin-blue .main-header .navbar .sidebar-toggle:hover {
  background: var(--rest-teal-dark);
}
.skin-blue .main-sidebar,
.skin-blue .left-side {
  background: #062b36;
}
.skin-blue .sidebar-menu > li.header {
  background: #05232c;
}
.skin-blue .sidebar-menu > li:hover > a,
.skin-blue .sidebar-menu > li.active > a,
.skin-blue .sidebar-menu > li.menu-open > a {
  border-left-color: var(--rest-coral);
  background: rgba(255, 255, 255, 0.09);
}
.skin-blue .sidebar-menu .treeview-menu > li.active > a,
.skin-blue .sidebar-menu .treeview-menu > li > a:hover {
  color: #fff;
  background: rgba(15, 118, 110, 0.26);
}

.rest-menu-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--rest-coral);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.4;
  vertical-align: middle;
}

.rest-page {
  background: var(--rest-bg);
  min-height: calc(100vh - 50px);
}
.rest-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 24px 14px;
}
.rest-header h1 {
  margin: 5px 0 4px;
  color: var(--rest-ink);
  font-size: 30px;
  font-weight: 800;
}
.rest-header p {
  margin: 0;
  color: var(--rest-muted);
  font-size: 14px;
}
.rest-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--rest-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rest-back-link {
  color: var(--rest-teal);
  font-weight: 700;
}
.rest-back-link:hover,
.rest-back-link:focus {
  color: var(--rest-teal-dark);
}
.rest-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rest-content {
  padding-top: 8px;
}

.btn-rest-primary,
.btn-rest-secondary {
  border: 0;
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 700;
  box-shadow: none;
}
.btn-rest-primary,
.btn-rest-primary:focus {
  background: var(--rest-teal);
  color: #fff;
}
.btn-rest-primary:hover,
.btn-rest-primary:active {
  background: var(--rest-teal-dark);
  color: #fff;
}
.btn-rest-secondary,
.btn-rest-secondary:focus {
  background: var(--rest-white);
  color: var(--rest-teal-dark);
  border: 1px solid #b7ded8;
}
.btn-rest-secondary:hover {
  background: var(--rest-aqua);
  color: var(--rest-navy);
}
.btn-rest-primary[disabled],
.btn-rest-secondary[disabled] {
  opacity: .5;
}

.rest-box {
  border: 0;
  border-radius: var(--rest-radius);
  box-shadow: var(--rest-shadow);
  overflow: hidden;
}
.rest-box > .box-header {
  padding: 18px 20px;
  border-bottom-color: var(--rest-line);
}
.rest-box > .box-header .box-title {
  color: var(--rest-ink);
  font-weight: 800;
}
.rest-box > .box-body {
  padding: 20px;
}
.rest-box-footer {
  min-height: 68px;
  padding: 12px 20px;
  border-top: 1px solid var(--rest-line);
  background: #fbfdfd;
}
.rest-divider {
  margin: 20px 0;
  border-color: var(--rest-line);
}
.rest-section-title {
  margin: 0 0 14px;
  color: var(--rest-ink);
  font-size: 15px;
  font-weight: 800;
}

.rest-switch-grid > div {
  margin-bottom: 12px;
}
.rest-switch-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 92px;
  gap: 12px;
  margin: 0;
  padding: 14px 56px 14px 14px;
  border: 1px solid var(--rest-line);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.rest-switch-card:hover {
  border-color: #9bd2ca;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 118, 110, .08);
}
.rest-switch-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: var(--rest-teal);
  background: var(--rest-aqua);
  font-size: 17px;
}
.rest-switch-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.rest-switch-copy strong {
  color: var(--rest-ink);
  font-size: 14px;
}
.rest-switch-copy small {
  margin-top: 4px;
  color: var(--rest-muted);
  font-weight: 400;
  line-height: 1.35;
}
.rest-switch-card input {
  position: absolute;
  opacity: 0;
}
.rest-toggle {
  position: absolute;
  right: 14px;
  top: 50%;
  width: 36px;
  height: 20px;
  margin-top: -10px;
  border-radius: 999px;
  background: #cbd5e1;
  transition: .2s ease;
}
.rest-toggle::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
  transition: .2s ease;
}
.rest-switch-card input:checked + .rest-toggle {
  background: var(--rest-teal);
}
.rest-switch-card input:checked + .rest-toggle::after {
  transform: translateX(16px);
}

.rest-status-card {
  display: flex;
  gap: 14px;
  margin-bottom: 16px;
  padding: 18px;
  border-radius: var(--rest-radius);
  background: #fff;
  box-shadow: var(--rest-shadow);
}
.rest-status-card.is-safe {
  border: 1px solid #a7f3d0;
  background: linear-gradient(135deg, #ecfdf5, #fff);
}
.rest-status-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  color: var(--rest-teal);
  background: var(--rest-aqua);
  font-size: 20px;
}
.rest-status-label {
  color: var(--rest-teal);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.rest-status-card h3 {
  margin: 3px 0 7px;
  color: var(--rest-ink);
  font-size: 19px;
  font-weight: 800;
}
.rest-status-card p {
  margin: 0;
  color: var(--rest-muted);
  line-height: 1.5;
}
.rest-check-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}
.rest-check-list li {
  margin: 7px 0;
  color: #35515a;
}
.rest-check-list i {
  margin-right: 7px;
  color: #16a34a;
}
.rest-info-alert {
  display: flex;
  gap: 12px;
  border: 0;
  border-radius: 14px;
  color: #7c2d12;
  background: var(--rest-sand);
  box-shadow: 0 8px 20px rgba(124, 45, 18, .06);
}
.rest-info-alert > i {
  margin-top: 3px;
  color: var(--rest-coral);
  font-size: 18px;
}
.rest-info-alert p {
  margin: 3px 0 0;
}

.rest-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 14px;
  padding: 10px 14px;
  border: 1px solid var(--rest-line);
  border-radius: 12px;
  background: #fff;
  color: var(--rest-muted);
  font-size: 12px;
}
.rest-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rest-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.rest-dot.estado-libre { background: #22c55e; }
.rest-dot.estado-ocupada { background: #ef4444; }
.rest-dot.estado-reservada { background: #3b82f6; }
.rest-dot.estado-por_cobrar { background: #f59e0b; }
.rest-dot.estado-fuera_servicio { background: #94a3b8; }

.rest-area-block.is-disabled {
  opacity: .72;
}
.rest-area-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.rest-area-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.rest-area-color {
  display: inline-block;
  width: 12px;
  height: 48px;
  border-radius: 999px;
}
.rest-area-title h3 {
  margin: 0;
  color: var(--rest-ink);
  font-size: 18px;
  font-weight: 800;
}
.rest-area-title p {
  margin: 3px 0 0;
  color: var(--rest-muted);
  font-size: 12px;
}
.rest-area-tools {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rest-table-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
  gap: 14px;
}
.rest-table-card,
.rest-add-table-card {
  min-height: 180px;
  border-radius: 15px;
}
.rest-table-card {
  position: relative;
  padding: 14px;
  border: 1px solid var(--rest-line);
  border-top: 5px solid #22c55e;
  background: #fff;
  box-shadow: 0 7px 18px rgba(8, 51, 68, .06);
}
.rest-table-card.estado-ocupada { border-top-color: #ef4444; }
.rest-table-card.estado-reservada { border-top-color: #3b82f6; }
.rest-table-card.estado-por_cobrar { border-top-color: #f59e0b; }
.rest-table-card.estado-fuera_servicio { border-top-color: #94a3b8; }
.rest-table-card.is-disabled {
  opacity: .58;
  filter: grayscale(.3);
}
.rest-table-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rest-table-card-top .btn-link {
  padding: 0 4px;
  color: var(--rest-muted);
}
.rest-table-code {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  color: var(--rest-teal-dark);
  background: var(--rest-aqua);
  font-size: 10px;
  font-weight: 800;
}
.rest-table-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 55px;
  color: var(--rest-teal);
  font-size: 34px;
}
.rest-table-card h4 {
  margin: 4px 0 10px;
  color: var(--rest-ink);
  font-size: 15px;
  font-weight: 800;
  text-align: center;
}
.rest-table-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--rest-muted);
  font-size: 10px;
}
.rest-state-pill {
  padding: 3px 7px;
  border-radius: 999px;
  background: #f1f5f9;
  white-space: nowrap;
}
.rest-disabled-label {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  color: #b91c1c;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.rest-add-table-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 2px dashed #acd9d2;
  color: var(--rest-teal);
  background: #f8fffd;
  font-weight: 700;
  transition: .2s ease;
}
.rest-add-table-card:hover,
.rest-add-table-card:focus {
  border-color: var(--rest-teal);
  color: var(--rest-teal-dark);
  background: var(--rest-aqua);
}
.rest-add-table-card i {
  margin-bottom: 8px;
  font-size: 24px;
}

.rest-empty-state {
  max-width: 620px;
  margin: 40px auto;
  padding: 44px 24px;
  border: 1px dashed #a7d8d1;
  border-radius: 20px;
  background: #fff;
  text-align: center;
  box-shadow: var(--rest-shadow);
}
.rest-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  margin: 0 auto 14px;
  border-radius: 20px;
  color: var(--rest-teal);
  background: var(--rest-aqua);
  font-size: 28px;
}
.rest-empty-state h2 {
  margin: 0 0 8px;
  color: var(--rest-ink);
  font-weight: 800;
}
.rest-empty-state p {
  margin: 0 0 20px;
  color: var(--rest-muted);
}

.rest-modal {
  border: 0;
  border-radius: 16px;
  overflow: hidden;
}
.rest-modal .modal-header {
  color: #fff;
  background: linear-gradient(135deg, var(--rest-navy), var(--rest-teal));
}
.rest-modal .modal-header .close {
  color: #fff;
  opacity: .9;
}
.rest-modal .modal-title {
  font-weight: 800;
}
.rest-modal .modal-body {
  padding: 22px;
}
.rest-modal .modal-footer {
  padding: 14px 22px;
  background: #f8fafc;
}
.rest-color-input {
  min-height: 38px;
  padding: 4px;
}
.rest-checkbox label {
  color: var(--rest-ink);
  font-weight: 700;
}

@media (max-width: 767px) {
  .rest-header {
    align-items: stretch;
    flex-direction: column;
    padding: 18px 15px 10px;
  }
  .rest-header h1 {
    font-size: 25px;
  }
  .rest-header .btn,
  .rest-header-actions .btn {
    width: 100%;
  }
  .rest-header-actions {
    flex-direction: column;
  }
  .rest-content {
    padding-left: 10px;
    padding-right: 10px;
  }
  .rest-area-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .rest-area-tools {
    width: 100%;
    justify-content: flex-end;
  }
  .rest-table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rest-table-card,
  .rest-add-table-card {
    min-height: 165px;
  }
  .rest-table-meta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 420px) {
  .rest-table-grid {
    grid-template-columns: 1fr;
  }
}

/* ================================================================
 * CEVICHERÍA - ETAPA 2: MESAS Y PEDIDOS
 * ================================================================ */
.rest-operation-page,
.rest-order-page,
.rest-history-page {
  min-height: calc(100vh - 50px);
  background: var(--rest-bg);
}

.rest-page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 24px 14px;
}
.rest-page-heading h1 {
  margin: 4px 0 5px;
  color: var(--rest-ink);
  font-size: 28px;
  font-weight: 800;
}
.rest-page-heading h1 small {
  margin-left: 8px;
  color: var(--rest-muted);
  font-size: 13px;
  font-weight: 700;
}
.rest-page-heading p {
  margin: 0;
  color: var(--rest-muted);
}
.rest-eyebrow {
  display: block;
  color: var(--rest-teal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}
.rest-heading-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.btn-rest-outline {
  border: 1px solid var(--rest-teal);
  background: #fff;
  color: var(--rest-teal);
  font-weight: 700;
}
.btn-rest-outline:hover,
.btn-rest-outline:focus {
  background: var(--rest-aqua);
  color: var(--rest-teal-dark);
}

.rest-operation-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.rest-summary-card {
  position: relative;
  min-height: 92px;
  padding: 16px 18px;
  overflow: hidden;
  border: 1px solid var(--rest-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(8, 51, 68, .05);
}
.rest-summary-card span {
  display: block;
  color: var(--rest-muted);
  font-size: 12px;
  font-weight: 700;
}
.rest-summary-card strong {
  display: block;
  margin-top: 2px;
  color: var(--rest-ink);
  font-size: 28px;
  line-height: 1;
}
.rest-summary-card > i {
  position: absolute;
  right: 13px;
  bottom: 10px;
  color: #cbd5e1;
  font-size: 31px;
  opacity: .7;
}
.rest-summary-card.is-free { border-left: 4px solid #16a34a; }
.rest-summary-card.is-busy { border-left: 4px solid #dc2626; }
.rest-summary-card.is-charge { border-left: 4px solid #f59e0b; }
.rest-summary-card.is-reserved { border-left: 4px solid #2563eb; }

.rest-operation-box,
.rest-catalog-box,
.rest-ticket-box,
.rest-filter-box,
.rest-history-table-box {
  border: 0;
  box-shadow: var(--rest-shadow);
}
.rest-operation-toolbar,
.rest-catalog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--rest-line);
}
.rest-area-filters,
.rest-category-strip {
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.btn-rest-filter,
.btn-rest-category {
  flex: 0 0 auto;
  border: 1px solid var(--rest-line);
  border-radius: 999px;
  background: #fff;
  color: var(--rest-muted);
  font-size: 12px;
  font-weight: 800;
}
.btn-rest-filter > span {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 4px;
  border-radius: 50%;
}
.btn-rest-filter.active,
.btn-rest-category.active {
  border-color: var(--rest-teal);
  background: var(--rest-teal);
  color: #fff;
}
.btn-rest-category span {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(15, 118, 110, .1);
  color: var(--rest-teal);
  font-size: 10px;
}
.btn-rest-category.active span {
  background: rgba(255, 255, 255, .22);
  color: #fff;
}
.rest-table-search,
.rest-product-search {
  position: relative;
  flex: 0 0 270px;
}
.rest-table-search i,
.rest-product-search i {
  position: absolute;
  z-index: 2;
  top: 11px;
  left: 12px;
  color: #94a3b8;
}
.rest-table-search .form-control,
.rest-product-search .form-control {
  padding-left: 34px;
  border-color: var(--rest-line);
  border-radius: 10px;
  box-shadow: none;
}
.rest-status-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin: 0 0 14px;
  color: var(--rest-muted);
  font-size: 12px;
  font-weight: 700;
}
.rest-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 4px;
  border-radius: 50%;
}
.rest-dot.libre { background: #16a34a; }
.rest-dot.ocupada { background: #dc2626; }
.rest-dot.por_cobrar { background: #f59e0b; }
.rest-dot.reservada { background: #2563eb; }

.rest-operation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}
.rest-operation-table {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 315px;
  padding: 15px;
  overflow: hidden;
  border: 1px solid var(--rest-line);
  border-top: 4px solid #16a34a;
  border-radius: 16px;
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease;
}
.rest-operation-table:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(8, 51, 68, .1);
}
.rest-operation-table.ocupada { border-top-color: #dc2626; }
.rest-operation-table.por_cobrar { border-top-color: #f59e0b; }
.rest-operation-table.reservada { border-top-color: #2563eb; }
.rest-operation-table.fuera_servicio { border-top-color: #64748b; opacity: .72; }
.rest-operation-table.is-delayed::after {
  content: "DEMORA";
  position: absolute;
  top: 40px;
  right: -31px;
  width: 110px;
  padding: 4px 0;
  transform: rotate(45deg);
  background: #dc2626;
  color: #fff;
  text-align: center;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.rest-operation-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.rest-table-area {
  max-width: 65%;
  overflow: hidden;
  color: var(--rest-muted);
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rest-table-area::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 5px;
  border-radius: 50%;
  background: var(--area-color);
}
.rest-table-state {
  padding: 3px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: var(--rest-muted);
  font-size: 10px;
  font-weight: 800;
}
.rest-operation-table.libre .rest-table-state { background: #dcfce7; color: #166534; }
.rest-operation-table.ocupada .rest-table-state { background: #fee2e2; color: #991b1b; }
.rest-operation-table.por_cobrar .rest-table-state { background: #fef3c7; color: #92400e; }
.rest-operation-table.reservada .rest-table-state { background: #dbeafe; color: #1e40af; }
.rest-table-round {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 92px;
  height: 92px;
  margin: 16px auto 8px;
  border: 8px solid #dcfce7;
  border-radius: 50%;
  background: #f0fdf4;
  color: #166534;
}
.rest-operation-table.ocupada .rest-table-round { border-color: #fee2e2; background: #fff7f7; color: #b91c1c; }
.rest-operation-table.por_cobrar .rest-table-round { border-color: #fef3c7; background: #fffbeb; color: #b45309; }
.rest-operation-table.reservada .rest-table-round { border-color: #dbeafe; background: #eff6ff; color: #1d4ed8; }
.rest-table-round i { font-size: 22px; }
.rest-table-round strong { margin-top: 3px; font-size: 12px; }
.rest-operation-table h3 {
  margin: 2px 0 8px;
  color: var(--rest-ink);
  text-align: center;
  font-size: 17px;
  font-weight: 800;
}
.rest-operation-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 54px;
  color: var(--rest-muted);
  font-size: 11px;
}
.rest-operation-meta i { width: 15px; color: #94a3b8; }
.rest-delay-text { color: #dc2626; font-weight: 800; }
.rest-operation-total {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: auto 0 10px;
  padding-top: 9px;
  border-top: 1px dashed var(--rest-line);
}
.rest-operation-total small { color: var(--rest-muted); }
.rest-operation-total strong { color: var(--rest-ink); font-size: 18px; }
.btn-rest-table-action {
  border: 0;
  border-radius: 10px;
  background: var(--rest-teal);
  color: #fff;
  font-weight: 800;
}
.btn-rest-table-action:hover,
.btn-rest-table-action:focus { background: var(--rest-teal-dark); color: #fff; }
.rest-no-results {
  padding: 35px 15px;
  color: var(--rest-muted);
  text-align: center;
}
.rest-stage-alert,
.rest-charge-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid #bae6fd;
  border-radius: 12px;
  background: #f0f9ff;
  color: #075985;
}
.rest-stage-alert > i,
.rest-charge-banner > i { margin-top: 2px; font-size: 20px; }
.rest-charge-banner {
  align-items: center;
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}
.rest-charge-banner strong,
.rest-charge-banner span { display: block; }
.rest-charge-banner span { margin-top: 2px; font-size: 12px; }

/* Pedido y carta */
.rest-order-heading p {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.rest-order-status {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #475569;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.rest-order-status.abierto { background: #dcfce7; color: #166534; }
.rest-order-status.por_cobrar { background: #fef3c7; color: #92400e; }
.rest-order-status.cerrado { background: #dbeafe; color: #1e40af; }
.rest-order-status.anulado { background: #fee2e2; color: #991b1b; }
.rest-order-status.fusionado { background: #ede9fe; color: #5b21b6; }
.rest-order-layout { display: flex; align-items: flex-start; }
.rest-catalog-header h3,
.rest-ticket-header h3 { margin: 0; color: var(--rest-ink); font-weight: 800; }
.rest-catalog-header small,
.rest-ticket-header small { display: block; margin-top: 3px; color: var(--rest-muted); }
.rest-catalog-box.is-locked { opacity: .68; }
.rest-catalog-box .box-body { padding: 15px; }
.rest-category-strip { margin-bottom: 14px; }
.rest-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-height: 650px;
  overflow-y: auto;
  padding-right: 4px;
}
.rest-product-card {
  display: flex;
  align-items: stretch;
  min-height: 112px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--rest-line);
  border-radius: 13px;
  background: #fff;
  color: inherit;
  text-align: left;
  transition: border-color .15s ease, transform .15s ease;
}
.rest-product-card:hover:not(:disabled),
.rest-product-card:focus:not(:disabled) {
  border-color: var(--rest-teal);
  outline: none;
  transform: translateY(-1px);
}
.rest-product-card:disabled { cursor: not-allowed; opacity: .65; }
.rest-product-image {
  flex: 0 0 74px;
  overflow: hidden;
  background: #ecfdf5;
}
.rest-product-image img { width: 100%; height: 100%; object-fit: cover; }
.rest-product-image.is-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rest-teal);
  font-size: 25px;
}
.rest-product-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 10px;
}
.rest-product-copy small {
  overflow: hidden;
  color: var(--rest-teal);
  font-size: 9px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rest-product-copy strong {
  display: -webkit-box;
  margin: 4px 0;
  overflow: hidden;
  color: var(--rest-ink);
  font-size: 12px;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.rest-product-copy em {
  margin-top: auto;
  color: var(--rest-coral);
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}
.rest-loading-products {
  padding: 30px 15px;
  color: var(--rest-muted);
  text-align: center;
}
.rest-selected-product { color: var(--rest-ink); font-weight: 800; }
.rest-selected-price { margin: -4px 0 16px; color: var(--rest-coral); font-size: 22px; font-weight: 900; }

.rest-ticket-box { position: sticky; top: 60px; overflow: hidden; }
.rest-ticket-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--rest-line);
}
.rest-ticket-lines {
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--rest-aqua);
  color: var(--rest-teal-dark);
  font-size: 10px;
  font-weight: 900;
}
.rest-ticket-body { max-height: 520px; overflow-y: auto; padding: 0; }
.rest-empty-ticket {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 55px 20px;
  color: #94a3b8;
  text-align: center;
}
.rest-empty-ticket i { margin-bottom: 10px; color: #99f6e4; font-size: 43px; }
.rest-empty-ticket strong { color: var(--rest-ink); font-size: 16px; }
.rest-empty-ticket span { margin-top: 4px; font-size: 12px; }
.rest-order-item { padding: 13px 15px; border-bottom: 1px solid #eef2f7; }
.rest-order-item-main { display: flex; align-items: flex-start; gap: 9px; }
.rest-order-qty {
  flex: 0 0 34px;
  color: var(--rest-teal);
  font-size: 14px;
  font-weight: 900;
}
.rest-order-description { flex: 1; min-width: 0; }
.rest-order-description strong { display: block; color: var(--rest-ink); font-size: 13px; }
.rest-order-description small { display: block; margin-top: 2px; color: var(--rest-muted); }
.rest-order-description span {
  display: block;
  margin-top: 5px;
  padding: 4px 7px;
  border-radius: 6px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 10px;
}
.rest-order-line-total { flex: 0 0 auto; color: var(--rest-ink); font-size: 13px; font-weight: 900; }
.rest-order-item-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  margin-top: 8px;
}
.rest-qty-control {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  margin-right: auto;
  border: 1px solid var(--rest-line);
  border-radius: 8px;
}
.rest-qty-control button {
  width: 28px;
  height: 27px;
  border: 0;
  background: #f8fafc;
  color: var(--rest-teal);
}
.rest-qty-control button:disabled { color: #cbd5e1; }
.rest-qty-control span { min-width: 30px; color: var(--rest-ink); text-align: center; font-size: 11px; font-weight: 800; }
.rest-ticket-summary { padding: 14px 17px; border-top: 1px solid var(--rest-line); background: #f8fafc; }
.rest-ticket-summary > div { display: flex; justify-content: space-between; margin-bottom: 5px; color: var(--rest-muted); font-size: 12px; }
.rest-ticket-summary > div strong { color: var(--rest-ink); }
.rest-ticket-summary .rest-ticket-total {
  align-items: flex-end;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px dashed #cbd5e1;
  color: var(--rest-ink);
  font-size: 14px;
  font-weight: 800;
}
.rest-ticket-summary .rest-ticket-total strong { color: var(--rest-teal-dark); font-size: 24px; }
.rest-ticket-note { padding: 10px 15px; border-top: 1px solid #fed7aa; background: #fff7ed; color: #9a3412; font-size: 11px; }
.rest-history-panel,
.rest-cancelled-panel { border: 0; border-radius: 12px; box-shadow: var(--rest-shadow); }
.rest-history-panel .panel-heading,
.rest-cancelled-panel .panel-heading { border: 0; border-radius: 12px; background: #fff; color: var(--rest-ink); cursor: pointer; }
.rest-history-row { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid #eef2f7; }
.rest-history-row:last-child { border-bottom: 0; }
.rest-history-row > i { margin-top: 6px; color: var(--rest-teal); font-size: 7px; }
.rest-history-row strong,
.rest-history-row span,
.rest-history-row small { display: block; }
.rest-history-row strong { color: var(--rest-ink); font-size: 11px; text-transform: capitalize; }
.rest-history-row span { color: var(--rest-muted); font-size: 11px; }
.rest-history-row small { margin-top: 2px; color: #94a3b8; font-size: 9px; }
.rest-cancelled-row { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #fee2e2; color: #991b1b; }
.rest-cancelled-row small { color: #b91c1c; }
.is-disabled-link { pointer-events: none; opacity: .45; }

/* Historial */
.rest-history-filters {
  display: grid;
  grid-template-columns: 160px 150px 150px minmax(220px, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 15px;
}
.rest-history-filters .form-group { margin: 0; }
.rest-history-filters label { color: var(--rest-muted); font-size: 10px; text-transform: uppercase; }
.rest-filter-actions { display: flex; gap: 5px; }
.rest-history-table-box .box-header { padding: 15px; border-bottom: 1px solid var(--rest-line); }
.rest-history-table-box .box-title { color: var(--rest-ink); font-weight: 800; }
.rest-history-table { margin-bottom: 0; }
.rest-history-table thead th { border-bottom: 1px solid var(--rest-line); color: var(--rest-muted); font-size: 10px; text-transform: uppercase; }
.rest-history-table tbody td { vertical-align: middle; color: var(--rest-ink); }
.rest-history-table td small { display: block; color: var(--rest-muted); font-size: 10px; }
.rest-history-reason td { padding-top: 5px !important; padding-bottom: 10px !important; border-top: 0 !important; background: #fff7ed; color: #9a3412 !important; font-size: 11px; }
.rest-history-modal-head {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 15px;
}
.rest-history-modal-head > div { padding: 10px; border: 1px solid var(--rest-line); border-radius: 9px; background: #f8fafc; }
.rest-history-modal-head small,
.rest-history-modal-head strong { display: block; }
.rest-history-modal-head small { color: var(--rest-muted); font-size: 9px; text-transform: uppercase; }
.rest-history-modal-head strong { margin-top: 2px; color: var(--rest-ink); }
.rest-history-detail-table .is-cancelled { opacity: .55; text-decoration: line-through; }
.rest-history-modal-total { display: flex; justify-content: flex-end; align-items: baseline; gap: 15px; padding: 13px; border-radius: 9px; background: #ecfdf5; color: var(--rest-teal-dark); }
.rest-history-modal-total strong { font-size: 22px; }
.rest-empty-order { margin-top: 80px; }

@media (max-width: 1199px) {
  .rest-operation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rest-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rest-history-filters { grid-template-columns: repeat(4, 1fr); }
  .rest-history-search { grid-column: span 2; }
  .rest-filter-actions { grid-column: span 2; justify-content: flex-end; }
}

@media (max-width: 991px) {
  .rest-operation-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rest-operation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rest-order-layout { display: block; }
  .rest-ticket-box { position: static; }
  .rest-product-grid { max-height: none; }
}

@media (max-width: 767px) {
  .rest-page-heading {
    align-items: stretch;
    flex-direction: column;
    padding: 18px 12px 10px;
  }
  .rest-page-heading h1 { font-size: 24px; }
  .rest-heading-actions { width: 100%; }
  .rest-heading-actions > .btn,
  .rest-heading-actions > .btn-group { flex: 1; }
  .rest-heading-actions > .btn-group > .btn { width: 100%; }
  .rest-operation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rest-operation-toolbar,
  .rest-catalog-header { align-items: stretch; flex-direction: column; }
  .rest-table-search,
  .rest-product-search { flex-basis: auto; width: 100%; }
  .rest-operation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .rest-operation-table { min-height: 295px; padding: 11px; }
  .rest-table-round { width: 78px; height: 78px; }
  .rest-product-grid { grid-template-columns: 1fr; }
  .rest-product-card { min-height: 94px; }
  .rest-product-image { flex-basis: 82px; }
  .rest-history-filters { grid-template-columns: 1fr 1fr; }
  .rest-history-search,
  .rest-filter-actions { grid-column: span 2; }
  .rest-filter-actions .btn { flex: 1; }
  .rest-history-modal-head { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 470px) {
  .rest-operation-summary { grid-template-columns: 1fr 1fr; }
  .rest-summary-card { min-height: 80px; padding: 13px; }
  .rest-summary-card strong { font-size: 23px; }
  .rest-operation-grid { grid-template-columns: 1fr; }
  .rest-operation-table { min-height: 285px; }
  .rest-history-filters { grid-template-columns: 1fr; }
  .rest-history-search,
  .rest-filter-actions { grid-column: auto; }
  .rest-history-modal-head { grid-template-columns: 1fr; }
}

/* ================================================================
 * CEVICHERÍA - ETAPA 3: ESTACIONES, COMANDAS, COCINA Y BARRA
 * ================================================================ */
.rest-command-pending-banner,
.rest-charge-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 0;
  border-radius: 14px;
  padding: 14px 18px;
  box-shadow: var(--rest-shadow);
}
.rest-command-pending-banner {
  color: #075985;
  background: linear-gradient(135deg, #e0f2fe, #f8fafc);
}
.rest-command-pending-banner > i,
.rest-charge-banner > i {
  flex: 0 0 auto;
  font-size: 22px;
}
.rest-command-pending-banner strong,
.rest-command-pending-banner span,
.rest-charge-banner strong,
.rest-charge-banner span {
  display: block;
}
.rest-command-pending-banner span,
.rest-charge-banner span {
  margin-top: 3px;
  font-size: 13px;
  opacity: .86;
}

.rest-item-operation-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 5px 0 3px;
  color: var(--rest-muted);
  font-size: 10px;
}
.rest-item-operation-meta a {
  color: var(--rest-teal);
  font-weight: 700;
}
.rest-item-state {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  background: #e2e8f0;
  color: #475569;
}
.rest-item-state.estado-pendiente { background: #ffedd5; color: #9a3412; }
.rest-item-state.estado-enviado { background: #dbeafe; color: #1d4ed8; }
.rest-item-state.estado-preparando { background: #fef3c7; color: #92400e; }
.rest-item-state.estado-listo { background: #dcfce7; color: #166534; }
.rest-item-state.estado-entregado { background: #ccfbf1; color: #0f766e; }
.rest-item-locked {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}

/* Estaciones */
.rest-station-summary > div {
  margin-bottom: 18px;
}
.rest-station-card {
  --station-color: var(--rest-teal);
  position: relative;
  min-height: 245px;
  padding: 18px;
  border: 1px solid var(--rest-line);
  border-top: 5px solid var(--station-color);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--rest-shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}
.rest-station-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(8, 51, 68, .12);
}
.rest-station-card.is-disabled {
  opacity: .58;
  filter: grayscale(.25);
}
.rest-station-card-head {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 54px;
}
.rest-station-card-head .label {
  margin-left: auto;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 9px;
}
.rest-station-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: #fff;
  background: var(--station-color);
  font-size: 20px;
}
.rest-station-card-head small {
  color: var(--rest-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}
.rest-station-card-head h3 {
  margin: 2px 0 0;
  color: var(--rest-ink);
  font-size: 17px;
  font-weight: 800;
}
.rest-station-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 18px 0 14px;
}
.rest-station-metrics > div {
  padding: 9px 5px;
  border-radius: 10px;
  text-align: center;
  background: #f8fafc;
}
.rest-station-metrics strong,
.rest-station-metrics span {
  display: block;
}
.rest-station-metrics strong {
  color: var(--rest-ink);
  font-size: 17px;
}
.rest-station-metrics span {
  color: var(--rest-muted);
  font-size: 9px;
  text-transform: uppercase;
}
.rest-station-printer {
  min-height: 36px;
  padding: 9px 10px;
  border-radius: 9px;
  color: #475569;
  background: #f1f5f9;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rest-station-printer i { margin-right: 5px; color: var(--station-color); }
.rest-station-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}
.rest-routing-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px !important;
}
.rest-routing-header .box-title {
  display: block;
  float: none;
  color: var(--rest-ink);
  font-weight: 800;
}
.rest-routing-header p {
  margin: 5px 0 0;
  color: var(--rest-muted);
  font-size: 12px;
}
.rest-routing-filters {
  display: flex;
  gap: 8px;
  min-width: 520px;
}
.rest-routing-filters .rest-product-search { flex: 1 1 auto; }
.rest-routing-filters > select { flex: 0 0 190px; }
.rest-routing-table {
  margin-bottom: 0;
}
.rest-routing-table thead th {
  padding: 12px 15px;
  color: #64748b;
  background: #f8fafc;
  border-bottom: 1px solid var(--rest-line) !important;
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.rest-routing-table tbody td {
  padding: 12px 15px;
  vertical-align: middle !important;
  border-color: #edf2f7 !important;
}
.rest-routing-table td:first-child strong,
.rest-routing-table td:first-child small {
  display: block;
}
.rest-routing-table td:first-child strong { color: var(--rest-ink); }
.rest-routing-table td:first-child small { color: var(--rest-muted); margin-top: 2px; }
.rest-routing-select { min-width: 190px; }
.formProductoEstacionRest { display: contents; }
.formProductoEstacionRest .is-saved {
  color: #166534;
  border-color: #86efac;
  background: #dcfce7;
}
.rest-inline-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin: 0;
  color: var(--rest-ink);
  cursor: pointer;
}

/* Panel de comandas */
.rest-command-header {
  align-items: center;
}
.rest-command-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.rest-live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #166534;
  font-size: 11px;
  font-weight: 800;
}
.rest-live-indicator i {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, .14);
  animation: restPulse 1.8s infinite;
}
@keyframes restPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(.75); opacity: .65; }
}
.rest-command-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding: 12px;
  border: 1px solid var(--rest-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(8, 51, 68, .05);
}
.rest-command-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.rest-command-clock {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: 7px;
  color: var(--rest-navy);
}
.rest-command-clock i { grid-row: 1 / 3; font-size: 21px; color: var(--rest-teal); }
.rest-command-clock strong { font-size: 17px; line-height: 1; }
.rest-command-clock small { color: var(--rest-muted); font-size: 9px; }
.rest-command-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  align-items: start;
  gap: 16px;
}
.rest-command-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rest-line);
  border-top: 6px solid #f59e0b;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--rest-shadow);
}
.rest-command-card.estado-preparando { border-top-color: #3b82f6; }
.rest-command-card.estado-listo { border-top-color: #22c55e; }
.rest-command-card.estado-entregado { border-top-color: #0f766e; opacity: .85; }
.rest-command-card.estado-anulado { border-top-color: #94a3b8; opacity: .7; }
.rest-command-card.is-cancellation {
  border-color: #fecaca;
  border-top-color: #dc2626;
  background: linear-gradient(180deg, #fff7f7, #fff);
}
.rest-command-card.is-late {
  animation: restLateGlow 1.6s infinite alternate;
}
@keyframes restLateGlow {
  from { box-shadow: 0 8px 24px rgba(220, 38, 38, .08); }
  to { box-shadow: 0 10px 30px rgba(220, 38, 38, .25); }
}
.rest-command-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 16px 12px;
  border-bottom: 1px dashed #cbd5e1;
}
.rest-command-table small,
.rest-command-table strong,
.rest-command-code strong,
.rest-command-code small {
  display: block;
}
.rest-command-table small {
  color: var(--rest-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.rest-command-table strong {
  color: var(--rest-ink);
  font-size: 23px;
  line-height: 1.05;
}
.rest-command-code {
  text-align: right;
}
.rest-command-code strong { color: var(--rest-navy); font-size: 12px; }
.rest-command-code small { margin-top: 3px; color: var(--rest-muted); }
.rest-command-cancel-label {
  display: inline-block;
  margin-bottom: 4px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #fff;
  background: #dc2626;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}
.rest-command-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  padding: 9px 16px;
  color: var(--rest-muted);
  background: #f8fafc;
  font-size: 10px;
}
.rest-command-meta .rest-command-time {
  margin-left: auto;
  color: #92400e;
  font-weight: 800;
}
.is-late .rest-command-time { color: #dc2626; }
.rest-command-items {
  padding: 8px 16px 12px;
}
.rest-command-item {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px dashed #e2e8f0;
}
.rest-command-item:last-child { border-bottom: 0; }
.rest-command-quantity {
  color: var(--rest-navy);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
}
.rest-command-item strong {
  display: block;
  color: #172f37;
  font-size: 14px;
  line-height: 1.25;
}
.rest-command-item small {
  display: block;
  margin-top: 5px;
  padding: 6px 8px;
  border-radius: 7px;
  color: #9a3412;
  background: #fff7ed;
  font-weight: 700;
  line-height: 1.35;
}
.is-cancellation .rest-command-item small {
  color: #991b1b;
  background: #fee2e2;
}
.rest-command-note {
  margin: 0 16px 12px;
  padding: 9px 10px;
  border-radius: 9px;
  color: #713f12;
  background: #fef9c3;
  font-size: 11px;
}
.rest-command-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 58px;
  padding: 10px 14px;
  border-top: 1px solid var(--rest-line);
  background: #fbfdfd;
}
.rest-command-status {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  border-radius: 999px;
  color: #92400e;
  background: #fef3c7;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rest-command-status.estado-preparando { color: #1d4ed8; background: #dbeafe; }
.rest-command-status.estado-listo { color: #166534; background: #dcfce7; }
.rest-command-status.estado-entregado { color: #0f766e; background: #ccfbf1; }
.rest-command-status.estado-anulado { color: #475569; background: #e2e8f0; }
.rest-command-actions {
  display: flex;
  align-items: center;
  gap: 5px;
}
.btn-rest-command-action,
.btn-rest-command-action:focus {
  border: 0;
  border-radius: 9px;
  padding: 8px 11px;
  color: #fff;
  background: var(--rest-teal);
  font-size: 11px;
  font-weight: 800;
}
.btn-rest-command-action:hover { color: #fff; background: var(--rest-teal-dark); }
.rest-empty-commands {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Ticket térmico */
.rest-ticket-print-page {
  min-height: 100vh;
  padding: 24px;
  background: #e2e8f0;
}
.rest-ticket-print-toolbar {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 15px;
}
.rest-command-ticket {
  width: 80mm;
  min-height: 120mm;
  margin: 0 auto;
  padding: 7mm 5mm;
  color: #000;
  background: #fff;
  box-shadow: 0 12px 40px rgba(15, 23, 42, .18);
  font-family: "Courier New", monospace;
  font-size: 12px;
}
.rest-command-ticket header {
  text-align: center;
  border-bottom: 2px dashed #000;
  padding-bottom: 7px;
}
.rest-command-ticket h1 {
  margin: 0;
  font-size: 21px;
  font-weight: 900;
}
.rest-command-ticket h2 {
  margin: 5px 0 0;
  font-size: 13px;
}
.rest-ticket-cancellation {
  margin: 6px 0;
  padding: 5px;
  border: 3px double #000;
  font-size: 17px;
  font-weight: 900;
}
.rest-ticket-command-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 10px;
  padding: 8px 0;
  border-bottom: 2px dashed #000;
}
.rest-ticket-command-info span,
.rest-ticket-command-info strong {
  display: block;
}
.rest-ticket-command-info span { font-size: 8px; }
.rest-ticket-command-info strong { font-size: 11px; }
.rest-ticket-command-items article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 6px;
  padding: 9px 0;
  border-bottom: 1px dashed #000;
}
.rest-ticket-command-items article > span {
  font-size: 19px;
  font-weight: 900;
}
.rest-ticket-command-items strong {
  display: block;
  font-size: 14px;
  line-height: 1.2;
}
.rest-ticket-command-items small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 700;
}
.rest-ticket-command-note {
  margin-top: 8px;
  padding: 7px;
  border: 2px solid #000;
}
.rest-ticket-command-note p { margin: 4px 0 0; }
.rest-command-ticket footer {
  padding-top: 8px;
  text-align: center;
  font-size: 9px;
}
.rest-command-ticket footer p { margin: 3px 0; }
.rest-ticket-cut { letter-spacing: -1px; }

@media (max-width: 991px) {
  .rest-routing-header,
  .rest-command-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .rest-routing-filters { min-width: 0; width: 100%; }
  .rest-command-clock { align-self: flex-end; }
}

@media (max-width: 767px) {
  .rest-command-header,
  .rest-command-header-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .rest-live-indicator { margin-bottom: 4px; }
  .rest-command-board { grid-template-columns: 1fr; }
  .rest-command-toolbar { padding: 10px; }
  .rest-command-filters { display: grid; grid-template-columns: repeat(3, 1fr); }
  .rest-command-filters .btn { padding-left: 7px; padding-right: 7px; font-size: 10px; }
  .rest-routing-filters { flex-direction: column; }
  .rest-routing-filters > select { flex-basis: auto; }
  .rest-routing-table { min-width: 760px; }
  .rest-station-card { min-height: 0; }
  .rest-command-card-footer { align-items: flex-start; flex-direction: column; }
  .rest-command-actions { width: 100%; justify-content: flex-end; }
  .rest-ticket-print-page { padding: 10px 0; }
  .rest-command-ticket { width: 100%; max-width: 80mm; box-shadow: none; }
}

@media print {
  body,
  .wrapper,
  .content-wrapper,
  .rest-ticket-print-page {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: #fff !important;
  }
  .main-header,
  .main-sidebar,
  .control-sidebar,
  .main-footer,
  .no-print,
  .reload-all,
  .resultado-envios-sunat {
    display: none !important;
  }
  .content-wrapper {
    margin-left: 0 !important;
  }
  .rest-command-ticket {
    width: 80mm;
    margin: 0;
    padding: 4mm 3mm;
    box-shadow: none;
  }
  @page {
    size: 80mm auto;
    margin: 0;
  }
}


/* =============================================================
 * ETAPA 4 - CAJA DE CEVICHERÍA
 * ============================================================= */
.rest-safe-note{border-left:4px solid #0f766e;background:#ecfdf5;color:#134e4a}.rest-cuentas-lista{max-height:68vh;overflow:auto}.rest-cuenta-card{display:block;width:100%;border:1px solid #dbe5e8;background:#fff;border-radius:12px;padding:14px;margin-bottom:10px;text-align:left;position:relative;transition:.2s}.rest-cuenta-card:hover,.rest-cuenta-card.active{border-color:#0f766e;box-shadow:0 5px 16px rgba(15,118,110,.15);transform:translateY(-1px)}.rest-cuenta-mesa{font-weight:700;font-size:16px;color:#0f3d46;display:block}.rest-cuenta-codigo{font-size:12px;color:#64748b}.rest-cuenta-total{position:absolute;right:14px;top:14px;font-size:18px;font-weight:800;color:#0f766e}.rest-cuenta-card small{display:block;margin-top:8px;color:#64748b}.rest-caja-resumen{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 15px;margin-bottom:15px}.rest-caja-resumen div{min-width:120px}.rest-caja-resumen small{display:block;color:#64748b;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.rest-caja-resumen strong{font-size:16px;color:#0f3d46}.rest-caja-resumen a{margin-left:auto}.rest-tabla-cobro input{max-width:90px;margin:auto}.rest-caja-quick{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0 18px;border-bottom:1px solid #e5e7eb}.rest-caja-quick span{margin-left:auto;font-size:16px}.rest-caja-form,.rest-cliente-caja,.rest-pagos-caja{padding-top:16px}.rest-cliente-caja,.rest-pagos-caja{border-top:1px solid #e5e7eb}.rest-section-title{display:flex;align-items:center;justify-content:space-between}.rest-pago-row{margin-bottom:4px}.rest-pagos-total{text-align:right;font-size:16px;margin:5px 0 15px}.rest-caja-actions{text-align:right;padding-top:12px}.rest-precuenta-paper{background:#fff;max-width:520px;margin:20px auto;padding:25px;border:1px solid #ddd;box-shadow:0 5px 25px rgba(0,0,0,.08)}.rest-precuenta-head{text-align:center;border-bottom:1px dashed #777;padding-bottom:12px;margin-bottom:12px}.rest-precuenta-head h2{margin:0;font-weight:800;letter-spacing:.1em}@media(max-width:767px){.rest-caja-resumen{gap:10px}.rest-caja-resumen a{margin-left:0;width:100%}.rest-cuenta-total{position:static;display:block;margin-top:7px}.rest-caja-actions .btn{width:100%}.rest-pago-row .col-sm-1{margin-bottom:10px}}@media print{.main-header,.main-sidebar,.content-header,.main-footer,.no-print{display:none!important}.content-wrapper{margin-left:0!important;background:#fff!important}.rest-precuenta-paper{box-shadow:none;border:0;margin:0;padding:0;max-width:none}}


/* ==============================================================
   ETAPA 5 - REPORTES DE PLATOS Y DISPONIBILIDAD
   ============================================================== */
.rest-stage5-page .rest-report-filter .form-group{margin-bottom:0}
.rest-filter-button{display:flex;flex-direction:column;justify-content:flex-end}
.rest-report-cards{margin-bottom:8px}
.rest-report-card{position:relative;background:#fff;border-radius:12px;padding:17px 16px;border:1px solid #dbe7e7;box-shadow:0 4px 14px rgba(15,23,42,.05);min-height:92px;overflow:hidden}
.rest-report-card small{display:block;color:#64748b;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.55px;margin-bottom:6px}
.rest-report-card strong{display:block;color:#0f3d3e;font-size:21px;line-height:1.15}
.rest-report-card>i{position:absolute;right:12px;bottom:9px;color:rgba(15,118,110,.13);font-size:34px}
.rest-loading-panel{padding:20px;text-align:center;background:#fff;border:1px dashed #9fb8b8;border-radius:10px;margin-bottom:15px;color:#0f766e;font-weight:600}
.rest-report-table thead th{white-space:nowrap;background:#f5f9f9;color:#334155;border-bottom:2px solid #d7e5e5!important}
.rest-report-table tbody td{vertical-align:middle}
.rest-availability-table td{vertical-align:middle!important}
.rest-availability-table .rest-row-agotado{background:#fff5f5;color:#7f1d1d}
.rest-availability-table .rest-row-agotado strong{color:#991b1b}
.rest-availability-summary .small-box{border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(15,23,42,.07)}
.rest-availability-summary .small-box .icon{top:3px}
@media(max-width:1199px){.rest-report-card{margin-bottom:12px}.rest-stage5-page .rest-report-filter .form-group{margin-bottom:12px}}
@media(max-width:767px){.rest-stage5-page .rest-header-actions .btn{width:100%;margin:4px 0}.rest-report-card strong{font-size:19px}.rest-availability-table .btn{width:100%}}
@media print{
  .main-header,.main-sidebar,.content-header .rest-header-actions,.rest-report-filter,.main-footer,.rest-safe-note{display:none!important}
  .content-wrapper{margin-left:0!important;background:#fff!important}.rest-page .content{padding:0!important}.box{box-shadow:none!important;border:1px solid #ddd!important;page-break-inside:avoid}.rest-report-card{box-shadow:none!important}.rest-stage5-page{font-size:11px}
}

/* ==============================================================
   ASU RICO - CARTA DEL DÍA INTELIGENTE (3 ESTADOS)
   ============================================================== */
.rest-carta-help{line-height:1.55}
.rest-availability-table .rest-row-oculto{background:#f8fafc;color:#64748b}
.rest-availability-table .rest-row-oculto strong{color:#475569}
.rest-carta-thumb{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb;margin-right:9px;float:left;background:#fff}
.rest-carta-thumb-empty{display:flex;align-items:center;justify-content:center;color:#94a3b8;background:#f8fafc;font-size:18px}
.rest-carta-product-info{min-width:190px;padding-top:2px}
.rest-carta-state-actions{white-space:nowrap}
.rest-carta-state-actions .btn{font-weight:600}
.rest-carta-state-actions .btn[disabled]{opacity:1;box-shadow:inset 0 0 0 2px rgba(0,0,0,.08);cursor:default}
@media(max-width:991px){
  .rest-carta-state-actions{display:flex;flex-direction:column;gap:3px;white-space:normal}
  .rest-carta-state-actions .btn{border-radius:4px!important;margin:0!important}
}
@media(max-width:767px){
  .rest-availability-summary .col-sm-3{width:50%;float:left}
  .rest-carta-state-actions{width:100%}
  .rest-carta-state-actions .btn{width:100%}
}

/* ==============================================================
   ASU RICO - ETAPA 6: PRECIOS / PRESENTACIONES
   ============================================================== */
.rest-product-options{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:10px;font-weight:800;letter-spacing:.02em;width:max-content;max-width:100%}
.rest-presentation-list{display:flex;flex-direction:column;gap:8px;margin-top:7px}
.rest-presentation-option{width:100%;border:1px solid #dbe2ea;background:#fff;border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;transition:.16s ease;cursor:pointer}
.rest-presentation-option:hover{border-color:#0f766e;box-shadow:0 4px 14px rgba(15,118,110,.10);transform:translateY(-1px)}
.rest-presentation-option.active{border-color:#0f766e;background:#ecfdf5;box-shadow:0 0 0 2px rgba(15,118,110,.12)}
.rest-presentation-option span{display:flex;flex-direction:column;min-width:0}
.rest-presentation-option strong{color:#17212b;font-size:13px;line-height:1.25}
.rest-presentation-option small{color:#7b8794;font-size:10px;margin-top:2px}
.rest-presentation-option b{white-space:nowrap;color:#0f766e;font-size:16px}
.rest-presentation-loading{padding:15px;text-align:center;color:#64748b;background:#f8fafc;border-radius:9px;border:1px dashed #cbd5e1}
.rest-price-range{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}
.rest-price-range .label{font-size:10px}


/* ======================================================================
 * ASU RICO · ETAPA 40
 * ORDEN DE LLEGADA DE COMANDAS
 * ====================================================================== */
.rest-command-arrival-label {
  display:inline-block;
  margin-bottom:5px;
  padding:4px 8px;
  border:2px solid #111827;
  border-radius:7px;
  background:#fef3c7;
  color:#111827;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.04em;
  white-space:nowrap;
}

.rest-ticket-arrival-order {
  margin:0 0 8px;
  padding:6px 4px 7px;
  border:4px double #000;
  text-align:center;
}
.rest-ticket-arrival-order small {
  display:block;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}
.rest-ticket-arrival-order strong {
  display:block;
  margin-top:3px;
  font-size:34px;
  line-height:.95;
  font-weight:900;
  letter-spacing:.04em;
}

@media print {
  .rest-ticket-arrival-order {
    border-width:4px !important;
  }
  .rest-ticket-arrival-order strong {
    font-size:34px !important;
  }
}


/* ======================================================================
 * ASU RICO · ETAPA 41
 * JERARQUIA VISUAL DEFINITIVA DE COMANDA
 * ====================================================================== */

/* Panel de comandas */
.rest-command-arrival-label {
  display:inline-flex !important;
  align-items:baseline;
  gap:5px;
  padding:5px 9px !important;
  border:2px solid #111827 !important;
  border-radius:8px !important;
  background:#fef08a !important;
  color:#111827 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.03em;
}
.rest-command-arrival-label small {
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}

/* Ticket manual / navegador */
.rest-ticket-arrival-order {
  margin:0 0 9px !important;
  padding:7px 4px 8px !important;
  border:4px double #000 !important;
  text-align:center;
}
.rest-ticket-arrival-order small {
  display:block;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.10em;
}
.rest-ticket-arrival-order strong {
  display:block;
  margin:4px 0 2px !important;
  font-size:42px !important;
  line-height:.92 !important;
  font-weight:950 !important;
  letter-spacing:.02em;
}
.rest-ticket-arrival-order span {
  display:block;
  margin-top:4px;
  padding-top:4px;
  border-top:1px solid #000;
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
}

.rest-ticket-command-info .rest-ticket-info-mesa {
  grid-column:1 / -1;
  padding:5px 0 7px;
  border-top:2px solid #000;
  border-bottom:2px solid #000;
  text-align:center;
}
.rest-ticket-command-info .rest-ticket-info-mesa span {
  font-size:8px !important;
}
.rest-ticket-command-info .rest-ticket-info-mesa strong {
  display:block;
  margin-top:2px;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:950 !important;
}
.rest-ticket-command-info .rest-ticket-info-salon {
  grid-column:1 / -1;
  text-align:center;
}

@media print {
  .rest-ticket-arrival-order strong {
    font-size:42px !important;
  }
  .rest-ticket-command-info .rest-ticket-info-mesa strong {
    font-size:22px !important;
  }
}


/* ======================================================================
 * ASU RICO · ETAPA 42
 * QR DE CUENTA + COBRO DIRECTO EN CAJA
 * ====================================================================== */

/* Administración: acceso rápido al QR permanente de cada mesa. */
.rest-table-qr-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  margin-top:10px;
  padding:8px 10px;
  border:1px dashed #0f766e;
  border-radius:10px;
  background:#f0fdfa;
  color:#0f766e;
  font-size:11px;
  font-weight:900;
  text-decoration:none!important;
}
.rest-table-qr-link:hover,
.rest-table-qr-link:focus{
  background:#ccfbf1;
  color:#115e59;
}

/* Caja: buscador y separación entre flujo normal / directo. */
.rest-caja-list-panel .box-body{padding:12px}
.rest-caja-search{position:relative;margin-bottom:12px}
.rest-caja-search>i{
  position:absolute;left:12px;top:12px;z-index:2;color:#78909c
}
.rest-caja-search .form-control{
  height:42px;padding-left:36px;border-radius:11px
}
.rest-caja-list-section+ .rest-caja-list-section{
  margin-top:16px;padding-top:14px;border-top:1px solid #e5ecef
}
.rest-caja-list-title{
  display:flex;flex-direction:column;gap:2px;margin-bottom:8px
}
.rest-caja-list-title>span{
  color:#183b44;font-weight:900;font-size:12px
}
.rest-caja-list-title small{color:#78909c;font-size:10px}
.rest-cuenta-card{position:relative}
.rest-cuenta-card-direct{
  border-color:#c9d9de!important;
  background:#fbfdfe!important
}
.rest-cuenta-card-direct:hover{
  border-color:#0f766e!important;
  background:#f0fdfa!important
}
.rest-caja-status{
  display:inline-flex;align-items:center;gap:5px;
  margin-top:7px;padding:4px 7px;border-radius:999px;
  font-size:9px;font-weight:900;line-height:1
}
.rest-caja-status-ready{background:#dcfce7;color:#166534}
.rest-caja-status-direct{background:#e0f2fe;color:#075985}
.rest-caja-search-hidden{display:none!important}
.rest-caja-search-empty{
  margin-top:12px;padding:12px;text-align:center;border-radius:10px;
  background:#f8fafc;color:#64748b;font-size:11px
}
.rest-cuenta-card.is-loading{opacity:.58;pointer-events:none}

.rest-empty-mini{padding:12px!important}
.rest-empty-mini i{font-size:18px!important}
.rest-empty-mini p{margin:4px 0 0!important;font-size:10px!important}

.rest-caja-lock-note{
  display:flex;align-items:flex-start;gap:10px;
  margin:0 0 12px;padding:10px 12px;border-radius:11px;
  background:#fff8e6;border:1px solid #f1d58b;color:#664d03
}
.rest-caja-lock-note>i{margin-top:2px}
.rest-caja-lock-note strong{display:block;font-size:11px}
.rest-caja-lock-note span{display:block;margin-top:2px;font-size:10px;line-height:1.3}

@media(max-width:767px){
  .rest-caja-search .form-control{height:46px;font-size:14px}
  .rest-caja-search>i{top:14px}
  .rest-caja-list-title>span{font-size:13px}
  .rest-caja-list-title small{font-size:11px}
  .rest-caja-status{font-size:10px;padding:5px 8px}
}


/* ======================================================================
 * ASU RICO · ETAPA 43
 * COBRO DIRECTO DESDE LA PANTALLA PRINCIPAL DEL CAJERO
 * ====================================================================== */
.rest-cashier-direct-charge-btn{
  background:#0f766e!important;
  border-color:#0f766e!important;
  color:#fff!important;
  min-height:38px;
  font-weight:900!important;
  border-radius:8px!important;
  box-shadow:0 5px 13px rgba(15,118,110,.16);
}
.rest-cashier-direct-charge-btn:hover,
.rest-cashier-direct-charge-btn:focus{
  background:#0b5f59!important;
  border-color:#0b5f59!important;
  color:#fff!important;
}
.rest-cashier-direct-help{
  display:block;
  margin:5px 2px 0;
  text-align:center;
  color:#71858d;
  font-size:8.5px;
  line-height:1.2;
  font-weight:700;
}
.rest-operation-table.ocupada .rest-cashier-direct-charge-btn{
  border:0!important;
}

@media(max-width:767px){
  .rest-cashier-direct-charge-btn{
    min-height:48px;
    font-size:13px!important;
    border-radius:11px!important;
  }
  .rest-cashier-direct-help{
    font-size:10px;
    margin-top:6px;
  }
}


/* ======================================================================
 * ASU RICO · ETAPA 44
 * PANEL CENTRAL DE QR DE TODAS LAS MESAS
 * ====================================================================== */
.btn-rest-qr-manager{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 13px!important;
  border:1px solid #0f766e!important;
  border-radius:9px!important;
  background:#ecfdf5!important;
  color:#0f766e!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.btn-rest-qr-manager:hover,
.btn-rest-qr-manager:focus{
  background:#0f766e!important;
  color:#fff!important;
}
.rest-qr-summary{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  padding:12px 14px;
  border:1px solid #bfe5df;
  border-radius:13px;
  background:linear-gradient(135deg,#f0fdfa,#f8fffd);
}
.rest-qr-summary-icon{
  width:42px;height:42px;flex:0 0 42px;
  display:flex;align-items:center;justify-content:center;
  border-radius:11px;background:#0f766e;color:#fff;font-size:18px;
}
.rest-qr-summary-copy{min-width:0;flex:1}
.rest-qr-summary-copy strong{
  display:block;color:#164e63;font-size:12px;font-weight:950
}
.rest-qr-summary-copy span{
  display:block;margin-top:2px;color:#64748b;font-size:10px
}
.btn-rest-qr-summary{
  flex:0 0 auto;
  border:0!important;border-radius:9px!important;
  background:#0f766e!important;color:#fff!important;
  font-size:10px!important;font-weight:900!important;
}
@media(max-width:767px){
  .rest-header-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important}
  .btn-rest-qr-manager{grid-column:1/-1;justify-content:center;min-height:46px}
  .rest-qr-summary{align-items:flex-start;flex-wrap:wrap}
  .rest-qr-summary-copy{flex:1 1 calc(100% - 60px)}
  .btn-rest-qr-summary{width:100%;min-height:42px}
}


/* ======================================================================
 * ASU RICO · ETAPA 46
 * EFECTIVO SIN OPERACION · YAPE/PLIN CON NUMERO DE OPERACION
 * ====================================================================== */

.rest-payment-operation-hidden{
  display:none!important;
}

.rest-pago-row.is-cash-payment .rest-pago-monto-wrap{
  width:83.333333%!important;
}

.rest-pago-row:not(.is-cash-payment) .rest-pago-ref-wrap label{
  color:#173c44;
  font-weight:900;
}

.rest-pago-row:not(.is-cash-payment) .pago-ref{
  border-color:#93c5bd;
  background:#f7fffd;
}

.rest-pago-row:not(.is-cash-payment) .pago-ref:focus{
  border-color:#0f766e;
  box-shadow:0 0 0 3px rgba(15,118,110,.10);
}

@media(max-width:767px){
  .rest-pago-row.is-cash-payment .rest-pago-monto-wrap{
    width:83.333333%!important;
    float:left;
  }
  .rest-pago-row:not(.is-cash-payment) .rest-pago-ref-wrap{
    margin-top:2px;
  }
}


/* ======================================================================
 * ASU RICO · ETAPA 47
 * VALIDACIÓN REAL DNI / RUC EN CAJA
 * ====================================================================== */
.rest-doc-help{
  display:block;
  margin-top:5px;
  color:#71858d;
  font-size:9.5px;
  line-height:1.25;
}
.rest-doc-help.text-success{color:#15803d!important;font-weight:800}
.rest-doc-help.text-danger{color:#b91c1c!important;font-weight:800}

#btnValidarDocumento{
  min-width:86px;
  font-weight:900;
}

.rest-client-status-ok{
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#86efac!important;
}

@media(max-width:767px){
  .rest-doc-validate{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  #btnValidarDocumento{
    min-width:94px;
    min-height:46px;
  }
  .rest-doc-help{
    font-size:10px;
  }
}


/* ======================================================================
 * ASU RICO · ETAPA 50 · PEDIDOS PARA LLEVAR DESDE CAJA
 * ====================================================================== */
.btn-rest-takeaway-main{
  background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important;
  min-height:40px;font-weight:950!important;border-radius:10px!important;
  box-shadow:0 7px 18px rgba(124,58,237,.18)
}
.btn-rest-takeaway-main:hover,.btn-rest-takeaway-main:focus{
  background:#6d28d9!important;border-color:#6d28d9!important;color:#fff!important
}
.rest-cuenta-card.is-takeaway,.rest-cuenta-card-takeaway{border-left:5px solid #7c3aed!important}
a.rest-cuenta-card-takeaway{display:block;color:inherit!important;text-decoration:none!important}
.rest-caja-status-takeaway{background:#ede9fe!important;color:#5b21b6!important}
.rest-order-heading .rest-eyebrow.is-takeaway{
  color:#6d28d9;background:#f3e8ff;border:1px solid #ddd6fe;border-radius:999px;
  padding:5px 9px;display:inline-flex;width:max-content;font-weight:950
}
.rest-takeaway-arrival{background:#111827;color:#fff;border-radius:999px;padding:4px 9px;font-weight:950}
.rest-order-action-charge.is-takeaway-charge{background:#7c3aed!important;border-color:#7c3aed!important}
.rest-order-action-charge.is-takeaway-charge:hover{background:#6d28d9!important}
.rest-command-table.is-takeaway{border-left:4px solid #7c3aed;padding-left:8px}
.rest-command-table.is-takeaway small{color:#6d28d9!important;font-weight:950!important}
.rest-command-table.is-takeaway strong{color:#4c1d95!important}
.is-takeaway-history strong{color:#6d28d9}

@media(max-width:767px){
  .btn-rest-takeaway-main{width:100%;min-height:48px;font-size:13px!important}
  .caja-rest-page .rest-header-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
  .caja-rest-page .rest-header-actions .btn-rest-takeaway-main{grid-column:1/-1}
  .rest-takeaway-arrival{display:inline-flex;align-items:center;gap:4px}
}

/* =============================================================
 * ASU RICO · ETAPA 88 · DIVISIÓN DE CUENTA POR CONSUMO
 * ============================================================= */
.rest-division-consumo{display:flex;align-items:center;gap:11px;margin:12px 0 18px;padding:12px 14px;border:1px solid #f6c453;border-radius:13px;background:#fffbeb;color:#713f12}
.rest-division-consumo-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fef3c7;color:#b45309;font-size:16px}
.rest-division-consumo-copy{min-width:0;flex:1}
.rest-division-consumo-copy small{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#92400e}
.rest-division-consumo-copy strong{display:block;font-size:14px;color:#3f2b12;margin-top:1px}
.rest-division-consumo-copy span{display:block;font-size:10px;color:#7c5a22;margin-top:2px}
.rest-division-consumo-amount{font-size:21px;font-weight:900;color:#b45309;white-space:nowrap}
.rest-caja-contenido.is-division-consumo .js-cantidad-cobrar{opacity:.45;pointer-events:none;background:#f8fafc}
.rest-caja-contenido.is-division-consumo #btnSeleccionarTodo,
.rest-caja-contenido.is-division-consumo #btnLimpiarSeleccion{display:none}
#btnDividirCuenta{font-weight:800}
