@import url(https://fonts.googleapis.com/css2?family=Inter:wght@100;200;400;500;600;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family="Noto+Sans":wght@100;300;400;500;600&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);
.login-body {
  background: #e2dfdf;
  font-family: "Inter", sans-serif;
}

.login-container {
  width: 26.125rem;
  height: 40.125rem;
  padding: 1.25rem;
  border: 1px solid #fdfbfb;
  border-radius: 50px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
}

.admin-title {
  font-size: 24px;
  font-weight: 600;
  color: #cd212a;
  font-family: "Inter", sans-serif !important;
}

label {
  display: block;
  margin-bottom: 5px;
}

input {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
  font-size: 1rem;
}

.btn-success {
  background-color: #028c45;
  border: none;
  border-radius: 0.25rem;
}

.btn-success:hover {
  background-color: #026636;
}

.text-danger {
  color: #dc3545;
}

.text-danger:hover {
  color: #c82333;
}

.login-btn-container {
  position: relative;
}

.login-btn-container button {
  z-index: 2;
  cursor: pointer;
}

.login-footer-img {
  position: absolute;
  bottom: 0rem;
  min-width: 26.125rem;
  z-index: 1;
  border-radius: 50px;
}

.toast-container {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 9999;
}

.navbar__container {
  padding: 0.6rem;
  padding-top: 0px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
}

.list-group-item {
  border: none;
  display: flex;
  justify-content: center;
}

.list-group-item:hover {
  background-color: #56a76e;
  border-radius: 6px;
  width: 50px;
  height: 50px;
}

.list-group-item.active {
  background-color: #018c45;
  color: #fff;
  border-radius: 6px;
  width: 50px;
  height: 50px;
  margin: 8px !important;
}

.nav__items {
  margin: 0 10px;
}

.nav__icons {
  background-color: #cd212a;
  margin: 8px;
  width: 50px;
  height: 50px;
  border-radius: 6px;
}

.icons_img {
  background-color: #cd212a;
  width: 2rem;
  height: 2rem;
  border-radius: 6px;
}

.icons_img.hover {
  background-color: #56a76e;
}

.home-class {
  width: 2rem !important;
}

.nav-link.active .icon-hover-effect {
  background-color: #e2e2e2;
  border-radius: 6px;
  padding: 8px;
}

.icon-hover-effect {
  transition: background-color 0.3s ease;
}

.icon-hover-effect:hover {
  background-color: #f0f0f0;
  border-radius: 6px;
  padding: 8px;
}

.notification-count {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #ed392b;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-left: 8px;
  position: absolute;
  top: -5px;
  right: -32px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease-in-out;
}

.notification-count:hover {
  transform: scale(1.1);
}

.disabled-link {
  cursor: not-allowed;
  opacity: 0.8;
  cursor: "not-allowed",
}

/* .disabled-link:hover::after {
  content: "This feature is currently disabled";
  position: absolute;
  background: #333;
  color: #fff;
  padding: 5px;
  border-radius: 3px;
  z-index: 1;
} */

@media (max-width: 1240px) {
  .hide-on-small {
    display: none !important;
  }
}


.app__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  height: 100%;
}

.logo__container {
  display: flex;
  margin: 0px 16px 0px 32px;
}

.logo__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 24px;
}

.main__text {
  font-family: "Inter", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 19.36px;
  text-align: left;
}

.second__text {
  font-family: Inter;
  font-size: 20px;
  font-weight: 400;
  line-height: 12.1px;
  text-align: left;
  margin-top: 10px;
}

.search-bar {
  width: 779px;
  height: 36px;
  gap: 0px;
  border-radius: 5px 0px 0px 0px;
  border: 0.5px 0px 0px 0px;
  opacity: 0px;
}

.search-bar input {
  border: none;
  margin-top: 0px !important;
}

.user-actions {
  display: flex;
  align-items: center;
  margin-right: 16px;
}

.user-avatar {
  display: flex;
  align-items: center;
  margin-right: 24px;
}

.user-avatar img {
  width: 32px;
  height: 32px;
}
.logout-button {
  background-color: #cd212a;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  min-width: 40px;
  justify-content: center;
}

.logout-button:hover {
  background-color: #a61b22;
}

.app__container {
  width: 100vw;
  height: 100vh;
  display: grid;
  grid-template-columns: 18rem 1fr;
  grid-template-rows: 104px 1fr;
  gap: 0px 0px;
  grid-template-areas:
    "header header"
    "side-nav main";
  transition: grid-template-columns 0.3s ease;
}

.header {
  display: flex;
  align-items: center;
  grid-area: header;
  height: 100%;
  background-color: white;
  z-index: 10;
}

.side-nav {
  position: relative;
  grid-area: side-nav;
  height: calc(100vh - 104px);
  background-color: #fff;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
  overflow-x: hidden;
  transition: transform 0.3s ease;
  z-index: 5;
}

.side-nav.collapsed {
  transform: translateX(-100%);
}

@media only screen and (min-height: 820px) {
  .side-nav {
    height: 88vh;
  }
}

.main,
.main-restaurant {
  grid-area: main;
  display: flex;
  justify-content: center;
  background-color: #fff;
  height: 100%;
  overflow-y: auto;
  transition: margin-left 0.3s ease;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;
}

.main::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Opera */
}

.main.no-flex {
  display: block;
  justify-content: initial;
}

.app__container.collapsed {
  grid-template-columns: 0 1fr;
}

.app__container.collapsed .main {
  width: 100%;
  padding-left: 6rem;
}

.hamburger-menu {
  position: absolute;
  top: 0px;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  cursor: pointer;
  color: #028c45;
  z-index: 10;
  transition:
    transform 0.3s ease,
    background-color 0.3s ease;
  padding: 4px;
}

.hamburger-menu:hover {
  background-color: #f0f0f0;
  padding: 8px 4px;
  border-radius: 8px;
}
.caret-icon {
  color: #028c45;
}

.hamburger-menu.open .hamburger-icon {
  opacity: 1;
  transform: rotate(0deg);
}

/* Default style for the dialog box */
.add-user-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

/* Style for the dialog box when it's in the "show" state */
.add-user-container.show {
  display: flex;
}

/* Style for the dialog box content */
.add-user-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.inner-div {
  width: 100%;
}
h3 {
  text-align: center;
  color: #ce1f2a;
}

.form-group {
  margin: 10px 0;
}

label {
  display: block;
  font-weight: 400;
  color: #028c45;
  margin-bottom: 0px;
}

.submit-btn {
  width: 100%;
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  margin-top: 1rem;
  cursor: pointer;
}

.submit-btn:hover {
  background-color: #028c45;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
}

/* Default style for the dialog box */
.edit-user-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 111111111;
}

/* Style for the dialog box when it's in the "show" state */
.edit-user-container.showEdit {
  display: flex;
}

/* Style for the dialog box content */
.edit-user-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.user__container {
  height: 90vh;
  width: 100vw;
  border: 1px solid #e4e4e4;
  background-color: #f6f6f6;
}

.user__header {
  display: flex;
  justify-content: end;
  margin: 0 20px;
  color: green;
  font-weight: 600;
}

.grid__container {
  padding: 16px;
}

.adduser__btn {
  cursor: pointer;
}

.update {
  padding: 1px;
}

.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
}

.tablet-cards-container {
  padding: 8px;
}

.tablet-user-card {
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  border: 1px solid #e0e0e0;
  height: 100%;
}

.tablet-user-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.tablet-user-card .card-body .card-title.tablet-user-name {
  font-size: 24px !important;
  font-weight: 600;
  color: #333;
  margin-bottom: 0;
  padding: 12px 16px 0;
}

.tablet-action-btn {
  background: none;
  border: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 18px;
  color: #555;
  padding: 6px 8px;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.tablet-action-btn:hover {
  background-color: #f5f5f5;
}

.tablet-action-btn svg {
  font-size: 27px;
  margin-bottom: 4px;
}

/* Responsive Behavior */
@media (max-width: 767px), (min-width: 1025px) {
  .tablet-cards-container {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .table-responsive-wrapper {
    display: none;
  }
}

/* Existing Table Styles */
.restaurant-booking-container {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.new-superadmin-header {
  background-color: #f8f9fa;
  color: #495057;
}

.booking-table-body-row:hover {
  background-color: #f8f9fa;
}

.first_column {
  font-weight: 500;
}

.action-button {
  background: none;
  border: none;
  font-size: 18px;
}

.color-dark-green {
  color: #028c45;
}

.color-red {
  color: #cd212a;
}

.search-container {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 200px;
  padding-right: 35px; /* Add padding to prevent text from overlapping the icon */
}

.search-icon,
.reset-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.bg-color-btn-green {
  background-color: #028c45;
}

/* Tablet-specific card layout */
@media (min-width: 768px) and (max-width: 1024px) {
  .d-md-none.d-lg-none {
    display: block !important;
  }

  .d-none.d-md-block.d-lg-block {
    display: none !important;
  }

  .cuisine-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
  }

  .cuisine-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
  }

  .cuisine-card .card-header img {
    width: 100%;
    height: 160px;
    object-fit: cover;
  }

  .cuisine-card .card-body {
    padding: 1rem;
  }

  .cuisine-card .card-body h3 {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
  }

  .cuisine-card .card-body p {
    margin: 0.25rem 0;
    font-size: 0.9rem;
    color: #555;
  }

  .cuisine-card .card-footer {
    padding: 1rem;
    display: flex;
    justify-content: center;
    gap: 1rem;
    border-top: 1px solid #eee;
  }

  .action-buttons {
    display: flex;
    gap: 0.5rem;
  }

  .color-dark-green {
    color: #028c45;
  }

  .color-red {
    color: red;
  }

  .action-button {
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0;
  }
}

.view-user-modal .modal-content {
    border-radius: 10px;
    background-color: #f8f9fa;
    padding: 15px;
  }
  
  .modal-header {
    background: #6c5ce7;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  
  .modal-title {
    font-size: 1.5rem;
    font-weight: bold;
  }
  
  .close-btn {
    background: none;
    border: none;
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
  }
  
  .view-user-card.card {
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 15px;
    padding: 15px;
  }
  
  .view-user-card.card-title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    border-bottom: 2px solid #ddd;
    padding-bottom: 5px;
    margin-bottom: 10px;
  }

  .personal-details-card {
    border-left: 4px solid #28a745;
    border-radius: 8px;
    background: #fff;
    padding: 15px;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
  }

  .membership-details-card {
    background: #f0f8ff;
    border-left: 4px solid #6c5ce7;
  }
  
  .plan-active {
    /* color: #6c5ce7; */
    font-weight: bold;
  }

  .status-active {
    color: #27ae60;
    font-weight: bold;
  }
  
  .address-card {
    background: #fff9c4;
    border-left: 4px solid #f39c12;
  }
  
  .membership-actions {
    display: flex;
    justify-content: space-around;
    margin-top: 10px;
  }
  
  .membership-actions .btn {
    padding: 5px 15px;
    font-size: 14px;
    border-radius: 5px;
  }
  
/* Default style for the dialog box */
.add-restaurant-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

/* Style for the dialog box when it's in the "show" state */
.add-restaurant-container.show {
  display: flex;
}
.sticky-button-wrapper {
  position: sticky;
  bottom: 0;
  background: white;
  padding: 1rem 0;
  margin-top: auto; /* Pushes it to bottom */
  border-top: 1px solid #f0f0f0; /* Optional subtle border */
}
/* Style for the dialog box content */
.add-restaurant-container form {
  background: #fff;
  width: 36rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
  /* max-height: 84vh;
  overflow-x: hidden;
  overflow-y: scroll; */
}

.inner-div {
  width: 100%;
  overflow-y: auto;
  flex-grow: 1;
}
h3 {
  text-align: center;
  color: #ce1f2a;
}

.form-group {
  margin: 10px 0;
}

label {
  display: block;
  font-weight: 400;
  color: #028c45;
  margin-bottom: 0px;
}

.submit-btn {
  width: 100%;
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  margin-top: 1rem;
  cursor: pointer;
  height: 48px;
  line-height: 24px;
}

.submit-btn:hover {
  background-color: #028c45;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
}

.form-group .cuisine-options {
  max-height: 120px; /* Set a maximum height for the scrollable container */
  overflow-y: auto; /* Enable vertical scrolling if the content overflows the container */
}

.form-group .cuisine-option {
  display: flex;
  align-items: start;
  margin-bottom: 10px; /* Add margin between each cuisine option */
}

.form-group .cuisine-option input {
  margin-right: 10px; /* Add space between checkbox and label */
}

.cusine-lable {
  width: 100px;
}

.edit-restaurant-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

.edit-restaurant-container.show {
  display: flex;
}

.edit-restaurant-container form {
  background: #fff;
  width: 36rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.sticky-button-container {
  position: sticky;
  bottom: 0;
  background-color: rgb(254, 254, 254);
  padding: 1rem 0;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  transform: translateY(18px);
}

.cancel-button,
.submit-button {
  flex: 1;
  padding: 4px 6px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  font-weight: bold;
  line-height: 24px;
  cursor: pointer;
}

.cancel-button {
  background-color: #ce1f2a;
  border: none;
}

.submit-button {
  background-color: #028c45;
  border: none;
}

/* Confirm Modal */
.confirm-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999999999;
}

.confirm-modal {
  background: #fff;
  border-radius: 10px;
  padding: 28px 32px;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  text-align: center;
}

.confirm-modal h4 {
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #222;
}

.confirm-modal p {
  margin-bottom: 24px;
  color: #555;
  font-size: 0.95rem;
}

.confirm-modal-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.confirm-modal-actions .cancel-button,
.confirm-modal-actions .submit-button {
  flex: 1;
}
.view-restaurant-modal {
  margin-right: auto;
  margin-left: auto;
  margin-top: 5rem;
  margin-bottom: auto;
  max-width: 50vw;
}

.input-field-bg-color {
  background-color: #f0f0ef !important;
}

.operational-hours-column input[type="time"] {
  text-align: center;
}
.operational-hours-column input[type="text"] {
  text-align: center;
}

.add-Employee-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

.add-Employee-container.show {
  display: flex;
}

.add-Employee-container form {
  /* display: flex;
  flex-direction: column;
  height: 84vh;
  width: 32rem;
  background: #fff;
  border-radius: 0.4rem;
  overflow: hidden; */
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.form-content {
  padding-right: 0.5rem;
  margin-left: 0rem;
}


.availability-message {
  margin-top: 10px;
  font-weight: bold;
}

.success {
  color: green;
}

.error {
  color: red;
}
/* 
.form-footer {
  position: sticky;
  bottom: 0;
  background-color: #fff;
  padding: 1rem 0 0.5rem;
  border-top: 1px solid #ccc;
  z-index: 10;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
} */
/* iPad-specific styles */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  select#designation {
    width: 200px !important;
    max-width: 100%;

    /* Raised effect */
    box-shadow:
      0 2px 4px rgba(0, 0, 0, 0.1),
      0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px 12px;
    background-color: white;
    transition: all 0.2s ease;
  }
  select#designation:focus {
    box-shadow:
      0 4px 8px rgba(0, 0, 0, 0.15),
      0 6px 12px rgba(0, 0, 0, 0.1);
    border-color: #028c45; /* Your brand green */
  }
}

.restaurant-wrapper {
  padding: 2rem;
  width: 100%;
  margin: 0 auto;
}

.search-container {
  padding: 0.5rem 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 200px;
  margin-top: 3px;
}

.restaurant-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.restaurant-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-header img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.card-body {
  padding: 1rem;
}

.card-body h3 {
  margin: 0 0 0.5rem;
  font-size: 1.2rem;
}

.card-body p {
  margin: 0.25rem 0;
  font-size: 0.9rem;
  color: #555;
}

.card-footera {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-top: 1px solid #eee;
}

.btn-assign-admin,
.bg-color-dark-green {
  background: #028c45;
  color: white;
  border: none;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
  display: inline-block;
}

.btn-edit-admin,
.bg-color-orange {
  background: #ff8c00;
  color: white;
  border: none;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
  display: inline-block;
}

.action-buttons {
  display: flex;
  gap: 0.5rem;
}

.color-dark-green {
  color: #028c45;
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0;
  margin-right: 0.25rem;
}

.color-red {
  color: red;
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0;
  position: relative;
  bottom: 1px;
}

.action-button {
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0;
  margin-right: 0.25rem;
}

.search-icon {
  position: absolute;
  top: 45%;
}

.reset-icon {
  cursor: pointer;
}

@media (max-width: 768px) {
  .restaurant-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

@media (max-width: 480px) {
  .restaurant-grid {
    grid-template-columns: 1fr;
  }

  .search-container {
    width: 100%;
  }
}

/* Default style for the dialog box */
.add-cuisine-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

/* Style for the dialog box when it's in the "show" state */
.add-cuisine-container.show {
  display: flex;
}

/* Style for the dialog box content */
.add-cuisine-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.inner-div {
  width: 100%;
}
h3 {
  text-align: center;
  color: #ce1f2a;
}

.form-group {
  margin: 10px 0;
}

label {
  display: block;
  font-weight: 400;
  color: #028c45;
  margin-bottom: 0px;
}

.submit-btn {
  width: 100%;
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  margin-top: 1rem;
  cursor: pointer;
}

.submit-btn:hover {
  background-color: #028c45;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
}

.form-group .cuisine-options {
  max-height: 120px; /* Set a maximum height for the scrollable container */
  overflow-y: auto; /* Enable vertical scrolling if the content overflows the container */
}

.form-group .cuisine-option {
  display: flex;
  align-items: start;
  margin-bottom: 10px; /* Add margin between each cuisine option */
}

.form-group .cuisine-option input {
  margin-right: 10px; /* Add space between checkbox and label */
}

.cusine-lable {
  width: 100px;
}

.edit-cuisine-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

/* Style for the dialog box when it's in the "show" state */
.edit-cuisine-container.show {
  display: flex;
}

/* Style for the dialog box content */
.edit-cuisine-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.add-item-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.08);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
  margin-bottom: 0;
}

.add-item-container.show {
  display: flex;
}

.add-item-container form {
  background: #fff;
  width: 36rem;
  max-height: 85vh;
  z-index: 100001;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 0.4rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 1rem 1rem 0 1rem;
  max-width: 100%;
  box-sizing: border-box;
}

.inner-div {
  width: 100%;
}
h3 {
  text-align: center;
  color: #ce1f2a;
}

.form-group {
  margin: 10px 0;
}

label {
  display: block;
  font-weight: 400;
  color: #028c45;
  margin-bottom: 0px;
}

.submit-btn {
  width: 100%;
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  height: 48px;
}

.submit-btn:hover {
  background-color: #026c35;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
  z-index: 1000001;
  padding: 0;
}

.radio-button {
  cursor: pointer;
  padding-right: 25px;
  display: inline-block;
}
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

.radio-button__input {
  font-size: 1rem;
  line-height: 1.5;
  padding: 11px 23px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  outline: 0;
  background-color: transparent;
  opacity: 0;
  position: absolute;
}

.radio-button__control {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 0.25rem;
  vertical-align: middle;
  background-color: inherit;
  color: #017b5f;
  border: 2px solid #666;
  border-radius: 24px;
}

.radio-button__input:checked + .radio-button__control:after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: #018c45;
  border-radius: 12px;
}

.radio-button__input:checked + .radio-button__control {
  border-color: #808080;
}

.radio-button__control {
  transform: scale(0.75);
}

.radio-button__label {
  color: #808080;
}

/* MenuItemEdit.css */
.dialogEdit {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.02);
  justify-content: center;
  align-items: center;
  z-index: 9999999999;
}

.dialogEdit.open {
  display: flex;
}

.dialogEdit form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.edit-item-btn {
  margin-top: 10px;
  padding: 8px 16px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.edit-item-btn:hover {
  background-color: #0056b3;
}

.form-group {
  margin: 10px 0;
}

.dialogEdit label {
  display: block;
  font-weight: 400;
  color: #028c45;
  margin-bottom: 0px;
}

.submit-btn {
  width: 100%;
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  margin-top: 1rem;
  cursor: pointer;
}

.submit-btn:hover {
  background-color: #028c45;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
  z-index: 1000001;
}

.radio-button {
  cursor: pointer;
  padding-right: 25px;
  display: inline-block;
}
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

.radio-button__input {
  font-size: 1rem;
  line-height: 1.5;
  padding: 11px 23px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  outline: 0;
  background-color: transparent;
  opacity: 0;
  position: absolute;
}

.radio-button__control {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 0.25rem;
  vertical-align: middle;
  background-color: inherit;
  color: #017b5f;
  border: 2px solid #666;
  border-radius: 24px;
}

.radio-button__input:checked + .radio-button__control:after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: #018c45;
  border-radius: 12px;
}

.radio-button__input:checked + .radio-button__control {
  border-color: #808080;
}

.radio-button__control {
  transform: scale(0.75);
}

.radio-button__label {
  color: #808080;
  /* display: inline-block !important; */
}

.menu-container {
  overflow-y: auto;
  overflow-x: hidden;
  height: calc(90vh - 132px);
}
.action-icons {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  font-size: 24px;
}

.action-icons .edit-icon {
  color: #28a745; /* Green */
  transition: transform 0.2s ease;
}

.action-icons .edit-icon:hover {
  transform: scale(1.1); /* Subtle effect */
}

.action-icons .delete-icon {
  color: #dc3545; /* Red */
  transition: transform 0.2s ease;
}

.action-icons .delete-icon:hover {
  transform: scale(1.1);
}

/* Card View Styles */
.booking-cards-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.booking-card {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.booking-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.booking-card-header {
  cursor: pointer;
  background-color: #f8f9fa;
  border-radius: 8px 8px 0 0;
}

.booking-card-details {
  background-color: #fff;
  border-radius: 0 0 8px 8px;
}

.no-orders-found {
  color: #cd212a;
  font-size: 32px;
  text-align: center;
  height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .booking-card {
    width: 100%;
  }
}
.booking-cards-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.booking-card {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.no-orders-found {
  color: #cd212a;
  font-size: 32px;
  text-align: center;
  height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.error-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #f0f0f0;
  flex-direction: column;
  text-align: center;
}

.error-content {
  max-width: 500px;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.error-image {
  width: 150px;
  margin-bottom: 20px;
}

.error-title {
  font-size: 48px;
  color: #333;
  margin-bottom: 10px;
}

.error-message {
  font-size: 24px;
  color: #666;
  margin-bottom: 20px;
}

.error-suggestion {
  font-size: 16px;
  color: #999;
}

.membership-modal .modal-content {
  border-radius: 12px;
  max-width: 720px;
  margin: 0 auto;
}

.membership-header.modal-header {
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #eee;
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.modal-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.icon-button {
  border-radius: 50%;
  background-color: rgb(255, 255, 255, 1);
  border: none;
  padding: 0.5rem;
  cursor: pointer;
}

.close-icon {
  font-size: 1.25rem;
  color: #cd212a;
  transition: opacity 0.2s;
}

.close-icon:hover {
  opacity: 0.8;
}

.modal-body {
  padding: 2rem;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.form-group {
  margin-bottom: 1rem;
}

.form-group label {
  display: block;
  font-size: 1rem;
  color: #444;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.form-control {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.2s;
}

.form-control:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
  outline: none;
}

.checkbox-group label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
}

.checkbox-group input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: #007bff;
}

.benefits-section {
  margin: 1.5rem 0;
  border-top: 1px solid #dee2e6;
  padding-top: 1.5rem;
}

.benefits-section label {
  display: block;
  margin-bottom: 1rem;
  font-weight: 500;
}

.benefit-input {
  position: relative;
  margin-bottom: 0.75rem;
}

.remove-button {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: #dc3545;
  color: white;
  border: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.8;
}

.remove-button:hover {
  opacity: 1;
}

.add-button {
  background: #28a745;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  margin-top: 0.5rem;
  cursor: pointer;
  transition: background 0.2s;
}

.add-button:disabled {
  background: #ccc;
  cursor: not-allowed;
}

.add-button:hover:not(:disabled) {
  background: #218838;
}

.submit-button {
  background: #218838;
  color: white;
  padding: 1rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
  align-self: center;
  margin: 0 auto;
  display: block;
}

.submit-button:disabled {
  background: #ccc;
  cursor: not-allowed;
}

.submit-button:hover:not(:disabled) {
  background: #016837;
}

.error-message {
  color: #dc3545;
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

@media (max-width: 768px) {
  .modal-content {
    margin: 1rem;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .modal-body {
    padding: 1.5rem;
  }
}

.membership-wrapper {
  padding: 2rem;
  width: 100%;
  margin: 0 auto;
}

.global-settings-section {
  margin-bottom: 2rem;
}

.global-setting-card {
  background: #fff;
  border-radius: 10px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  border: 1px solid #eee;
}

.global-setting-card h5 {
  margin-top: 0;
  margin-bottom: 1.5rem;
  color: #333;
  font-size: 1.2rem;
}

.setting-control {
  display: flex;
  flex-direction: column;
}

.setting-control label {
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #444;
}

.setting-description {
  display: block;
  font-size: 0.85rem;
  color: #666;
  font-weight: normal;
  margin-top: 0.25rem;
}

.toggle-container {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
}

.toggle-status {
  font-weight: 500;
  color: #555;
}

.membership-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding: 0;
}

.membership-header h6 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #028c45;
  margin: 0;
}

.header-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}

.create-membership-btn {
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.create-membership-btn:hover {
  background-color: #026f3a;
}

.membership-top-container {
  padding: 1rem;
  overflow-y: auto;
  max-height: 76vh;
}

.membership-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  padding: 1rem;
}

.membership-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.membership-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.card-header {
  padding: 1.5rem;
  background: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.tier-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.tier-title {
  font-size: 1.4rem;
  margin: 0;
  color: #333;
  font-weight: bold;
}

.price-badge {
  font-size: 1.8rem;
  font-weight: 700;
  margin-top: 0.5rem;
  color: #028c45;
}
.show-memberships-toggle {
  display: flex;
  align-items: center;
  margin-right: 20px;
}

.show-memberships-toggle span {
  margin-right: 8px;
  font-weight: 500;
}

.toggle-wrapper {
  display: flex;
  align-items: center;
}

.toggle-icon {
  font-size: 2.2rem;
  margin-left: 0.5rem;
  cursor: pointer;
  transition: color 0.3s ease;
}

.toggle-icon.active {
  color: #028c45;
}

.toggle-icon.inactive {
  color: #aaa;
}

.card-content {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.plan-details {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.detail-label {
  font-weight: 500;
  color: #666;
  font-size: 0.95rem;
}

.detail-value {
  font-weight: 600;
  color: #444;
}

.benefits__section {
  margin-top: auto;
}

.benefits__title {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  color: #333;
}

.benefits__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefit__item {
  display: flex;
  align-items: center;
  padding: 0.5rem 0;
  font-size: 0.95rem;
  color: #555;
}

.benefit__marker {
  margin-right: 0.75rem;
  font-weight: 700;
  color: #028c45;
}

.card-footer {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.status {
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
}

.status.active {
  color: #028c45;
  background: #e8f5e9;
}

.status.inactive {
  color: #dc3545;
  background: #f8d7da;
}

.edit-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-group label {
  font-weight: 500;
  color: #666;
}

.form-group input {
  padding: 0.6rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 1rem;
}

.form-group.full-width {
  grid-column: span 2;
}

.form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.membership-btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.membership-btn:hover {
  opacity: 0.9;
}

.edit-membership-btn {
  background-color: #ffc107;
  color: #fff;
}

.cancel-btn {
  background-color: #6c757d;
  color: #fff;
}

.save-btn {
  background-color: #28a745;
  color: #fff;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .membership-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}

@media (max-width: 768px) {
  .membership-wrapper {
    padding: 1rem;
  }

  .membership-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-group.full-width {
    grid-column: span 1;
  }

  .card-footer {
    /* flex-direction: column; */
    gap: 1rem;
    align-items: stretch;
  }
}

@media (max-width: 480px) {
  .membership-grid {
    grid-template-columns: 1fr;
  }

  .tier-title {
    font-size: 1.2rem;
  }

  .price-badge {
    font-size: 1.5rem;
  }

  .toggle-icon {
    font-size: 2rem;
  }
}

/* MeMembers Component Styles */
.me-members-container {
  display: flex;
  gap: 20px;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  padding: 10px 0;
  height: 80px;
}

.me-members-card {
  flex: 0 0 300px;
  background: white;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.me-members-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.me-members-card:hover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: inherit;
  opacity: 0.2;
  z-index: 1;
}

.me-members-card .card-title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0px;
  transition: color 0.3s ease;
  position: relative;
  z-index: 2;
}

.me-members-card:hover .card-title {
  color: white;
}

/* Selected Card Styles */
.me-members-card.selected {
  background-color: inherit;
}

.me-members-card.selected .card-title {
  color: white;
}

/* Specific Card Styles */
.basic-card {
  border-left: 4px solid #28a745;
}

.basic-card.selected {
  background-color: #28a745;
}

.basic-card:hover {
  background-color: rgba(40, 167, 69, 0.2);
}

.premium-card {
  border-left: 4px solid #6c5ce7;
}

.premium-card.selected {
  background-color: #6c5ce7;
}

.premium-card:hover {
  background-color: rgba(108, 92, 231, 0.2);
}

.elite-card {
  border-left: 4px solid #f39c12;
}

.elite-card.selected {
  background-color: #f39c12;
}

.elite-card:hover {
  background-color: rgba(243, 156, 18, 0.2);
}

/* iPad Responsive Styles (768px to 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .me-members-container {
    height: auto;
    flex-wrap: wrap;
    gap: 15px;
    padding: 15px;
  }

  .me-members-card {
    flex: 1;
    min-width: 200px;
    max-width: calc(33% - 10px);
    height: 70px;
  }

  .me-members-card .card-title {
    font-size: 1.2rem;
  }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .me-members-card {
    max-width: calc(50% - 10px);
  }
}

.clockin-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.clockin-popup {
  background: white;
  padding: 1rem 2rem;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
  width: 400px;
}

.clockin-popup h2 {
  margin-bottom: 1rem;
}

.clockin-popup input {
  width: 100%;
  padding: 0.8rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.clockin-actions button {
  padding: 0.8rem 1.5rem;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.clockin-actions button[disabled] {
  background: #ccc;
  cursor: not-allowed;
}

.error {
  color: red;
  margin-bottom: 1rem;
}

/* Styles */
.clockout-modal-dialog {
  max-width: 900px;
  height: 90vh;
  margin: 5vh auto;
}

.clockout-modal-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.clockout-modal-header {
  border-bottom: none;
  padding-bottom: 0;
  flex-shrink: 0;
  padding: 16px;
}

.clockout-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
}

.clockout-modal-title {
  font-size: 24px;
  font-weight: bold;
  color: #333;
}

/* .close-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #666;
  cursor: pointer;
} */

/* .employee-info {
  margin-bottom: 20px;
  text-align: center;
}

.employee-info h4 {
  font-size: 18px;
  margin-bottom: 5px;
}

.shift-time {
  display: flex;
  justify-content: center;
  gap: 15px;
  color: #666;
  font-size: 14px;
} */

.employee-info-card {
  background: #fff;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 15px;
}

.employee-info-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.employee-name {
  font-weight: 600;
  font-size: 16px;
  color: #333;
}

.info-separator {
  color: #ddd;
  font-weight: 300;
}

.shift-date {
  color: #555;
  font-size: 14px;
}

.time-label {
  color: #666;
  font-size: 14px;
}

.time-value {
  color: #333;
  font-weight: 500;
  font-size: 14px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .employee-info-row {
    gap: 8px;
  }

  .employee-name,
  .shift-date,
  .time-label,
  .time-value {
    font-size: 13px;
  }
}

.clockout-container {
  display: flex;
  height: calc(100% - 100px);
  gap: 20px;
}

.left-section {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 15px;
  overflow-y: auto;
}

.right-section {
  width: 50%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  gap: 15px;
}

.account-card,
.guest-report-card,
.payments-card,
.bookings-list-card {
  background: #fff;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.account-card h5,
.guest-report-card h5,
.payments-card h5,
.bookings-list-card h5 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
  text-transform: uppercase;
}

.account-row,
.guest-row,
.payment-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  font-size: 14px;
}

.account-row.owed {
  font-weight: bold;
  color: #333;
  border-top: 1px solid #eee;
  margin-top: 8px;
  padding-top: 8px;
}

.payment-row.total {
  font-weight: bold;
  border-top: 1px solid #eee;
  margin-top: 8px;
  padding-top: 8px;
}

.bookings-list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 10px;
}

.expand-collapse-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  color: #333;
}

.bookings-container {
  max-height: 300px;
  overflow-y: auto;
  transition: all 0.3s ease;
  padding-right: 16px;
}


.booking-item {
  border: 1px solid #eee;
  border-radius: 6px;
  margin-bottom: 10px;
  overflow: hidden;
}

.booking-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background: #f8f9fa;
  cursor: pointer;
}

.booking-ref {
  display: flex;
  flex-direction: column;
}

.booking-ref strong {
  font-size: 14px;
}

.booking-ref span {
  font-size: 12px;
  color: #666;
}

.clockout-expand-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
}

.clockout-booking-detail {
  padding: 10px;
  font-size: 13px;
  background: #fff;
}

.clockout-booking-detail p {
  margin: 5px 0;
}

.clockout-food-items {
  margin-top: 10px;
}

.clockout-food-item {
  margin-bottom: 5px;
}

.clockout-food-detail {
  display: flex;
  justify-content: space-between;
  padding: 3px 0;
}

.clockout-modifiers-list {
  margin-left: 20px;
  margin-top: 5px;
}

.clockout-modifier-item {
  display: flex;
  justify-content: space-between;
  padding: 2px 0;
}

.clockout-modifier-item span:first-child {
  color: #666;
}

.food-main-item {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
}

.no-bookings-message {
  text-align: center;
  padding: 20px;
  color: #666;
}

.btn-clock-out {
  width: 100%;
  padding: 12px;
  background: #028c45;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-clock-out:hover {
  background: #027a3d;
}

.summary-card,
.clock-out-card {
  background: #fff;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.summary-card h5,
.clock-out-card h5 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
  text-transform: uppercase;
}

.summary-content p {
  margin: 8px 0;
  font-size: 14px;
}

/* .reconcile-section {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #eee;
} */

.reconcile-section h6 {
  font-weight: bold;
  margin-bottom: 8px;
}

.owed-amount {
  background: #f8f9fa;
  padding: 10px;
  border-radius: 6px;
  margin-top: 10px;
}

.clock-out-content {
  text-align: center;
}

.btn-clock-out {
  width: 100%;
  padding: 12px;
  background: #028c45;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 15px;
}

.btn-clock-out:hover {
  background: #027a3d;
}

.enhanced-popup {
  position: absolute;
  top: 4.5rem;
  right: 1.5rem;
  background-color: #fff;
  padding: 16px;
  border-radius: 10px;
  width: 330px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  z-index: 999999;
  border: 1px solid #e0e0e0;
  font-family: "Segoe UI", sans-serif;
}

.popup-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.profile-image-container {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.default-avatar {
  font-size: 24px;
}

.user-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.user-details .name {
  font-weight: 600;
  font-size: 16px;
  color: #333;
}

.user-details .designation {
  font-size: 14px;
  color: #777;
  margin-top: 4px;
}

.popup-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.profile-action-btn {
  display: flex;
  align-items: center;
  padding: 6px 10px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  font-size: 14px;
  transition: all 0.2s ease-in-out;
}

.upload-btn {
  background-color: #4caf50;
  color: #fff;
}

.remove-btn {
  background-color: #f44336;
  color: #fff;
}

.profile-close-btn {
  background-color: #f97316;
  color: #fff;
}

.profile-action-btn:hover {
  opacity: 0.9;
}

.restaurant-input {
  border: none !important;
}

.restaurant-input:disabled {
  background-color: #f6f6f6;
}

.restaurant-label {
  font-size: 18px;
}

.restaurant-edit-icon {
  cursor: pointer;
  margin-right: 8px;
  position: relative;
  top: 18px;
  right: -12px;
}

.operation-edit-icon {
  cursor: pointer;
  margin-right: 8px;
  position: relative;
  top: 0px;
  right: -12px;
}

.taxes-edit-icon {
  cursor: pointer;
  margin-right: 8px;
  position: relative;
  top: 18px;
  right: -12px;
}

.taxes-applicable-edit-icon {
  cursor: pointer;
  margin-right: 8px;
  position: relative;
  top: 2px;
  right: -12px;
}

.edit-icon-commision-type {
  cursor: pointer;
  margin-right: 8px;
  position: relative;
  top: 16px;
  right: -4px;
}

.button-edit {
  color: #4b3d3b;
  font-size: 18px;
}

.button-close {
  color: #cb0e1a;
  font-size: 18px;
}

.restaurant-dashboard-card {
  border: none;
  border-radius: 10px;
}

.restaurant-card-title {
  padding: 2px;
  background-color: #56a76e;
  color: #fff;
}

.first-column {
  width: 25%;
}

.operational-hours-column:not(.first-column):not(.last-column) {
  width: 30%;
}

.last-column {
  width: 20%;
}
.operational-hours-column-holiday {
  flex: 1;
}

.pl-12 {
  padding-left: 12px;
}

.pr-12 {
  padding-right: 12px;
}

.text-truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.custom-checkbox,
.custom-checkbox-hours {
  width: 24px;
  height: 24px;
  cursor: pointer;
  appearance: none;
  background-color: #fff;
  border: 2px solid #ddd;
  border-radius: 4px;
  position: relative;
}

.custom-checkbox:checked,
.custom-checkbox-hours:checked {
  background-color: green !important;
  border-color: green !important;
  color: white !important;
}
.custom-checkbox:disabled,
.custom-checkbox-hours:disabled {
  background-color: #d1d1d1 !important;
  border-color: #d1d1d1 !important;
  color: white !important;
  cursor: not-allowed;
}

.custom-checkbox:checked::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  position: absolute;
  top: -1px;
  right: 5px;
  font-weight: 800 !important;
}

.custom-checkbox-hours:checked::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  position: absolute;
  top: -2px;
  right: 3px;
  font-weight: 800 !important;
}

.checkbox-group {
  display: flex;
  gap: 15px;
  align-items: center;
}

.checkbox-item-1,
.checkbox-item-2 {
  display: flex;
  align-items: center;
  position: relative;
  font-size: 18px;
}

.checkbox-item-1 label,
.checkbox-item-2 label {
  margin-left: 8px; 
  cursor: pointer;
}

.checkbox-item-1 label::before,
.checkbox-item-2 label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.checkbox-item-1 input:checked + label::before,
.checkbox-item-2 input:checked + label::before {
  background-color: green;
}

.checkbox-item-1 input:checked + label::after,
.checkbox-item-2 input:checked + label::after {
  content: "✔";
  position: absolute;
  left: 4px;
  top: 50%; /* Centered vertically */
  transform: translateY(-50%);
  font-size: 16px;
  color: white;
}


.operational-hours-container {
  display: flex;
  flex-direction: column;
}

.operational-hours-container > div {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
}

.day {
  flex-basis: 30%;
  text-align: left;
}

.operational-hours-container > div > span {
  flex-basis: 30%;
  text-align: center;
}

.larger-checkbox {
  position: relative;
  opacity: 0;
  cursor: pointer;
  width: 20px;
  height: 20px;
}

.save-btn:disabled{
  background-color: #b8b8b8 !important;
  color: #fff;
  cursor: not-allowed;
}

@media (width > 1240px) {
  .show-on-small {
    display: none !important;
  }
}

.offer-image {
  width: 96px;
}

@media (max-width: 1200px) {
  .offer-image {
    width: 72px;
  }
}

@media (max-width: 992px) {
  .offer-image {
    width: 48px;
  }
}
.eri-modal-dialog {
  max-width: 800px;
}

.eri-modal-body {
  max-height: 70vh;
  overflow-y: auto;
  padding: 1.5rem;
  position: relative;
  padding-bottom: 0rem !important;
  display: flex;
  flex-direction: column;
}

.eri-form {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.eri-form-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.eri-form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}

.eri-full-width {
  width: 100%;
}

.eri-form-group label {
  margin-bottom: 0.5rem;
  font-weight: bold;
}

.eri-form-group input,
.eri-form-group textarea {
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}

.eri-disabled input {
  background-color: #f5f5f5;
}

.eri-file-upload {
  margin-bottom: 1rem;
}

.eri-image-upload {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.eri-preview-image {
  width: 100px;
  height: 80px;
  object-fit: cover;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.eri-button-row {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 1rem 0;
  gap: 1rem;
  width: 100%;
  z-index: 1;
}

.eri-btn {
  flex: 1;
  font-size: 1rem;
  padding: 0.75rem;
  border-radius: 4px;
  border: none;
  cursor: pointer;
}

.eri-cancel {
  background-color: #ce1f2a;
  color: #fff;
}

.eri-cancel:hover {
  background-color: #a81922; /* Darker red on hover */
}

.eri-cancel:active {
  background-color: #82131b; /* Even darker red when clicked */
  transform: translateY(1px); /* Slight push down effect */
}

.eri-submit {
  background-color: #028c45;
  color: #fff;
}

.eri-submit:hover {
  background-color: #02753a; /* Darker green on hover */
}

.eri-submit:active {
  background-color: #015e2e; /* Even darker green when clicked */
  transform: translateY(1px); /* Slight push down effect */
}

.edit-menu-category-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.08);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

/* Style for the dialog box when it's in the "show" state */
.edit-menu-category-container.show {
  display: flex;
}

/* Style for the dialog box content */
.edit-menu-category-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.edit-delete-btn {
  position: absolute;
  top: 50%;
  right: 0px;
  padding: 4px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.4);
  font-size: 20px;
  transform: translateY(-50%); /* Adjust for vertical centering */
  border-radius: 4px;
  z-index: 20;

  display: flex;
  flex-direction: column; /* stack icons vertically */
  align-items: center;
  justify-content: center; 
  gap: 12px;


}

.edit-category-btn,
.delete-category-btn,
.timing-category-btn {
  position: static !important; 
}

.menu-category-loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9); /* Slight overlay for dimming */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100; 
}
/* MenuItemEdit.css */
.dialog {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

.dialog.open {
  display: flex;
}

.dialog form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.menu-item-edit-btn {
  margin-top: 10px;
  padding: 8px 16px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.menu-item-edit-btn:hover {
  background-color: #0056b3;
}

.add-menuitem-form-group {
  margin: 10px 0;
}

label {
  display: block;
  font-weight: 400;
  color: #028c45;
  margin-bottom: 0px;
}

.submit-btn {
  width: 100%;
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  margin-top: 1rem;
  cursor: pointer;
}

.submit-btn:hover {
  background-color: #028c45;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
  z-index: 1000001;
}

.radio-button {
  cursor: pointer;
  padding-right: 25px;
  display: inline-block;
}
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

.radio-button__input {
  font-size: 1rem;
  line-height: 1.5;
  padding: 11px 23px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  outline: 0;
  background-color: transparent;
  opacity: 0;
  position: absolute;
}

.radio-button__control {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 0.25rem;
  vertical-align: middle;
  background-color: inherit;
  color: #017b5f;
  border: 2px solid #666;
  border-radius: 24px;
}

.radio-button__input:checked + .radio-button__control:after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: #018c45;
  border-radius: 12px;
}

.radio-button__input:checked + .radio-button__control {
  border-color: #808080;
}

.radio-button__control {
  transform: scale(0.75);
}

.radio-button__label {
  color: #808080;
  /* display: inline-block !important; */
}

.add-modifier-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

.add-modifier-container.show {
  display: flex;
}

.add-modifier-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.view-modifier {
  max-width: 60%;
}

.view-special-request {
  position: fixed;
  top: 30%;
  left: 39%;
}

.toast-close-button {
  color: #bfbfbf;
}

.modifier-modal .modal-body {
  flex: 1;
  overflow-y: auto;
  padding-top: 0;
  
}
.modifier-modal .modal-content {
  display: flex;
  flex-direction: column;
  height: 80vh;
  background-color: #f6f6f6;
  width: 45rem;
  position: fixed;
  left: 35%;
  
  margin: 0;
  border-radius:-1.5;
}
@media (max-width: 768px) {
  .modifier-modal .modal-content {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    margin: 0 !important;
    z-index: 2000;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
  }

  
  .modifier-modal .modal-body {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 1rem !important;
  }

 
  .modifier-modal .modal-header,
  .modifier-modal .modal-footer {
    position: relative;
    z-index: 2001;
  }
}
.view-modifier-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

.view-modifier-container.show {
  display: flex;
}

.view-modifier-container .modifier-container {
  background: #fff;
  width: 48rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}
.main_container {
  padding: 16px;
  border: 1px solid #e4e4e4;
  background-color: #f6f6f6;
}

.view-modifier {
  max-width: 40%;
}

.view-modifier-row {
  border: 1px solid #e5e5e5;
  /* transition: all 0.5s ease !important; */
  transition:
    background-color 0.5s ease,
    transform 0.5s ease;
}

.view-modifier-row.highlighted {
  background-color: red !important;
  transition: background-color 0.5s ease;
}

.booking-table-body-row.highlighted {
  background-color: red !important;
  /* transition: background-color 0.5s 1s!important;  */
  transition-property: background-color;
  transition-duration: 2s;
  transition-timing-function: linear;
  transition-delay: 1s;
}

.view-modifier-header {
  border: 1px solid #f6f6f6;
  position: sticky;
  z-index: 10;
}

.view-modifier-header > tr > th {
  background-color: #e6ecdf;
  color: #000;
}

.modifier-popup-modal .modal-content {
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  max-height: calc(
    100vh - 60px
  );
  overflow-y: auto;
  height: auto;
}

.modifier-popup-header {
  background-color: #f8f8f8;
  border-bottom: 1px solid #e0e0e0;
}

.modifier-popup-body {
  overflow-y: auto;
  padding: 1rem;
  background-color: #ffffff;
}

.modifier-group {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px dashed #ddd;
}

.modifier-name {
  font-size: 12px;
  /* font-weight: 500; */
  margin-bottom: 0.5rem;
  color: #333;
}

.modifier-option {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  color: #555;
}

.modifier-popup-footer {
  border-top: 1px solid #e0e0e0;
  background-color: #f8f8f8;
}

.modifier-popup-footer .btn-primary {
  background-color: #028c45;
  border-color: #028c45;
}

.modifier-popup-footer .btn-secondary {
  background-color: #cccccc;
  border-color: #cccccc;
}

.edit-btn {
  position: relative;
  top: 0px;
  left: -3px;
  font-size: 24px;
}

.delete-btn {
  position: relative;
  top: 6px;
  font-size: 38px;
}

.veg-nonveg-rect {
  border-radius: 4px;
  width: 1rem;
  height: 1rem;
  border: 1px solid #028c45;
  justify-content: center;
  display: flex;
  align-items: center;
}

.veg-nonveg-circle {
  border-radius: 50%;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #028c45;
}

.veg-outer-box {
  border-radius: 4px;
  width: 0.5rem;
  height: 0.5rem;
  border: 1px solid #028c45;
  justify-content: center;
  display: flex;
  align-items: center;
}

.veg-inner-box {
  border-radius: 50%;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #028c45;
}

.nonveg-outer-box {
  border-radius: 4px;
  width: 0.8rem;
  height: 0.8rem;
  border: 1px solid #cd212a;
  justify-content: center;
  display: flex;
  align-items: center;
}

.nonveg-inner-box {
  border-radius: 50%;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #cd212a;
}

.overflow-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14px !important;

  color: #666;
  line-height: 1.3;
  margin-bottom: 0;
}

.half-filled-star {
  color: #ffd700;
}

.disabled-card {
  opacity: 0.5;
  color: gray;
}

.disabled-btn {
  color: gray !important;
  cursor: not-allowed !important;
}

.disabled {
  opacity: 0.8;
  cursor: not-allowed;
}


.card {
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 8px;
  /* Space between cards */
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}


.card-img-top {
  height: 5rem !important;
 
  object-fit: cover;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}


.card-body {
  padding: 0.4rem 0.6rem !important;
  
  height: 5rem !important;

  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-body .fw-semibold {
  font-size: 13px !important;
  color: #ce202a;
}
.card-body span[style*="font-weight: 500"] {
  font-size: 14px !important;
  font-weight: normal !important;
  color: #000000 !important;
  line-height: 1.3;
}
.card-body div[style*="color: #fec107"] {
  font-size: 13px !important;
}
.card-footer {
  padding: 0.2rem 0.4rem !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.card-footer button {
  padding: 0px 2px !important;
}
.TiShoppingCart {
  width: 1.6rem !important;
  height: 1.6rem !important;
  top: 3px !important;
  left: 5px !important;
}
.filled-star,
.empty-star,
.half-filled-star {
  font-size: 11px !important;
}
.card-body .row:first-child {
  margin-bottom: 0.2rem;
}
.card-body .row.mt-1:nth-child(2) {
  margin-top: 0.15rem !important;
  margin-bottom: 0.15rem;
}
.card-body .row.mt-1:nth-child(4) {
  margin-top: 0.15rem !important;
}

/* Container adjustments for better spacing */
.col-xxxl-2,
.col-xxl-2_5,
.col-xl-3_5,
.col-lg-4,
.col-md-6,
.col-sm-12 {
  padding-bottom: 10px;
  padding-top: 5px;
}
.row {
  margin-left: -4px;
  margin-right: -4px;
}

.col-xxxl-2,
.col-xxl-2_5,
.col-xl-3_5,
.col-lg-4,
.col-md-6,
.col-sm-12 {
  padding-left: 30px;
  padding-right: 30px;
}
@media (min-width: 1200px) {
  .col-xl-3_5 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (min-width: 1400px) {
  .col-xxl-2_5 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width: 1600px) {
  .col-xxxl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
}

.add-menu-item-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

.add-menu-item-container.show {
  display: flex;
}

.add-menu-item-container form {
  background: #fff;
  /* keep desktop width but cap to viewport on small screens */
  width: min(32rem, 95vw);
  max-width: 95vw;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}

.inner-div {
  width: 100%;
}
h3 {
  text-align: center;
  color: #ce1f2a;
}

.add-menuitem-form-group {
  margin: 10px 0;
}

/* Image upload / preview layout */
.image-upload-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap; /* allow wrapping on small screens */
}

.image-preview {
  position: relative;
  display: inline-block;
}

.preview-img {
  width: 78px;
  height: 58px;
  object-fit: cover;
  border-radius: 4px;
}

.remove-image-btn {
  position: absolute;
  top: -6px;
  right: -6px;
  background: red;
  color: white;
  border: none;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
}

/* Make preview and controls responsive on small screens */
@media (max-width: 420px) {
  .preview-img {
    width: 56px;
    height: 42px;
  }
  .remove-image-btn {
    width: 24px;
    height: 24px;
    font-size: 16px;
    top: -4px;
    right: -4px;
  }
  .image-upload-row {
    gap: 6px;
  }
  /* Ensure input and buttons take full width when wrapped */
  .image-upload-row input[type="file"] {
    flex: 1 1 100%;
    min-width: 120px;
  }
}

label {
  display: block;
  font-weight: 400;
  color: #028c45;
  margin-bottom: 0px;
  font-size: 18px;
}

.submit-btn {
  width: 100%;
  background-color: #028c45;
  color: #fff;
  border: none;
  padding: 10px;
  /* touch friendly */
  min-height: 44px;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  margin-top: 1rem;
  cursor: pointer;
}

.submit-btn:hover {
  background-color: #028c45;
}
.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
  z-index: 1000001;
}

.radio-button {
  cursor: pointer;
  padding-right: 25px;
  display: inline-block;
}
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

.radio-button__input {
  font-size: 1rem;
  line-height: 1.5;
  padding: 11px 23px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  outline: 0;
  background-color: transparent;
  opacity: 0;
  position: absolute;
}

.radio-button__control {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 0.25rem;
  vertical-align: middle;
  background-color: inherit;
  color: #017b5f;
  border: 2px solid #666;
  border-radius: 24px;
}

.radio-button__input:checked + .radio-button__control:after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: #018c45;
  border-radius: 12px;
}

.radio-button__input:checked + .radio-button__control {
  border-color: #808080;
}

.radio-button__control {
  transform: scale(0.75);
}

.radio-button__label {
  color: #808080;
  /* display: inline-block !important; */
}

.menu-category-timing-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999;
}

.menu-category-timing-container.show {
  display: flex;
}

.menu-category-timing-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
  position: relative;
}

.menu-category-timing-inner {
  width: 100%;
}

.menu-category-timing-title {
  text-align: center;
  color: #ce1f2a;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.menu-category-timing-form-group {
  margin: 10px 0;
}

.menu-category-timing-form-group label {
  display: block;
  font-weight: 400;
  color: #808080;/* grey text */
  margin-bottom: 0.25rem;
  font-size: 16px;
}

.menu-category-timing-form-group input[type="time"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
  font-size: 16px;
}

.menu-category-timing-actions {
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.menu-category-timing-save-btn {
  flex: 1;
  background-color: #028c45;/* green */
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.menu-category-timing-save-btn:hover {
  background-color: #026c35;
}

.menu-category-timing-cancel-btn {
  flex: 1;
  background-color: red;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.menu-category-timing-cancel-btn:hover {
  background-color: #b30000;
}

.menu-category-timing-close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: red;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: bold;
  z-index: 1000001;
}

.h5-fixed {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-bottom: 0px;
}

.menu-item-container {
  overflow-y: auto;
  overflow-x: hidden;
  height: calc(80vh - 80px);
}

.ordered-food-details {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

.food-item {
  background-color: #ffffff;
  border-bottom: none;
  padding: 0.25rem 0.5rem;
  margin-bottom: 0;
  font-size: 12px;
}

.food-item:last-child {
  border-bottom: none;
}

.food-item-main {
  display: grid;
  grid-template-columns: 1fr 30px 60px 40px;
  align-items: center;
  font-size: 12px;
  color: #333;
  cursor: pointer;
}

.food-item-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.food-item-quantity {
  text-align: center;
  font-weight: 600;
}

.food-item-price {
  text-align: right;
  font-weight: 500;
}

.food-item-edit,
.food-item-delete {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  color: #888;
}

.food-item-edit:hover {
  color: #028c45;
}

.food-item-delete:hover {
  color: #d32f2f;
}

.food-item-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  grid-column: 4;
}

.food-item-edit.disabled,
.food-item-delete.disabled {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}

.modifier-item {
  display: grid;
  grid-template-columns: 1fr 30px 60px 40px;
  align-items: center;
  font-size: 10px;
  color: #555;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}

.modifier-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-left: 1.25rem;
}

.modifier-quantity {
  grid-column: 2;
  text-align: center;
  font-weight: 500;
}

.modifier-price {
  grid-column: 3;
  text-align: right;
}

.food-item-special-request {
  margin-top: 0.25rem;

  padding-left: 1rem;

  font-size: 12px;

  color: #333;
}

.special-request-label {
  font-weight: 500;
  color: #028c45;
}

.special-request-content {
  margin-left: 0.5rem;
}
.menu-items-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}

.menu-items-container.single-item {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 300px));
  justify-content: flex-start;
}

.menu-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  padding: 8px;
  border-radius: 8px;
  background-color: #fff;
  width: 100%;
  max-width: 300px;
}

.menu-card-img {
  height: auto;
  max-height: 120px;
  object-fit: contain;
  width: 100%;
  border-radius: 4px;
}

.card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.card-body .card-title {
  font-size: 14px;
  margin-bottom: 4px;
  font-weight: bold;
}

.card-body .card-text {
  font-size: 12px;
  color: #6c757d;
  flex-grow: 1;
}

.card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid #e0e0e0;
  margin-top: auto;
}

.price {
  font-weight: bold;
  font-size: 14px;
}

.quantity-controls {
  display: flex;
  align-items: center;
}

.quantity-controls button {
  background: none;
  border: none;
  color: #6c757d;
  font-size: 18px;
  cursor: pointer;
}

.quantity-controls span {
  margin: 0 8px;
  font-size: 14px;
}

.add-food-modal {
  margin-right: auto;
  margin-left: auto;
  margin-bottom: auto;
  max-width: 50vw;
}

.add-food-modal .modal-content {
  display: flex;
  flex-direction: column;
  height: 85vh;
  background-color: #f6f6f6;
}

.add-food-modal .modal-header,
.add-food-modal .modal-footer {
  flex: 0 0 auto;
}

.add-food-modal .modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
}

.sticky-buttons {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0px 0px 10px 0px;
  margin: 0px !important;
  background-color: #f6f6f6;
  border-radius: 0.5rem;
}

.sticky-buttons button {
  padding: 10px;
  border: none;
  color: #fff;
  width: 48% !important;
}

.sticky-buttons .cancel-button {
  background-color: #ce1f2a;
}

.sticky-buttons .update-button {
  background-color: #018c45;
}
.sticky-category-bar {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 10px 0px 10px 0px;
  margin: 0px !important;
  background-color: #f6f6f6;
  border-radius: 0.5rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.guest-order-card {
  background-color: #fff;
  border: 1px solid #028c45;
  border-radius: 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  font-size: 12px;
  overflow: hidden;
}

.guest-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0rem 0.5rem;
  background-color: #ffffff;
  border-bottom: none;
  min-height: 40px;
}



.guest-card-body {
  flex-grow: 1;
  padding: 0;
  background-color: #fff;
  overflow-y: auto;
}

.guest-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.guest-name {
  font-weight: 700;
  font-size: 12px;
  color: #333;
}

.host-badge {
  background-color: #e9ecef;
  color: #495057;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
}

.add-item-btn {
  background: none;
  border: none;
  color: #b0b0b0;
  cursor: pointer;
  font-size: 12px;
  display: flex;
  align-items: center;
  transition: color 0.2s;
}

.add-item-btn:hover {
  color: #028c45;
}

.add-item-btn:disabled {
  color: #e0e0e0;
  cursor: not-allowed;
}

.guest-card-body {
  flex-grow: 1;
  padding: 0.5rem 0;
  background-color: #fff;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  max-height: 300px;
  overflow-y: auto;
}

.empty-guest-order {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 50px;
  color: #adb5bd;
  font-style: italic;
  font-size: 0.9rem;
}
.ordered-food-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    width: 100%;
}

@media (max-width: 1024px) {
    .ordered-food-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .ordered-food-container {
        gap: 0.75rem;
    }
}
.booking-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1.5rem;
    background-color: #fff;
    border-bottom: 1px solid #eee;
}

.header-left-section {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.header-title-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.header-order-id {
    font-size: 1rem;
    font-weight: 800;
    margin: 0;
    color: #333;
}

.header-payment-status {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #666;
}

.payment-label-inline {
    color: #999;
    text-transform: capitalize;
}

.payment-value-inline {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 700;
}

.payment-icon-inline {
    font-size: 0.85rem;
    display: flex;
    align-items: center;
}

.status-badge {
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-confirmed {
    background-color: #e6f9ed;
    color: #028c45;
}

.badge-pending {
    background-color: #fff4e5;
    color: #ff9800;
}

.badge-completed {
    background-color: #e3f2fd;
    color: #2196f3;
}

.badge-rejected {
    background-color: #ffebee;
    color: #f44336;
}

.badge-default {
    background-color: #f5f5f5;
    color: #757575;
}

.header-info-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    color: #666;
    font-size: 0.9rem;
}

.info-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
}

.info-icon {
    font-size: 0.9rem;
    color: #888;
}

.header-delivery-address {
    color: #888;
    font-weight: 600;
}

.header-right-section {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
    margin-right: 2rem;
}

.payment-status-container,
.order-value-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    /* background-color: #f8f9fa; */
    border-radius: 8px;
}

.payment-label,
.order-value-label {
    font-size: 0.65rem;
    font-weight: 700;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin: 0;
}

.payment-value {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 700;
    font-size: 0.95rem;
}

.payment-icon {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
}

.order-value-amount {
    font-size: 1.15rem;
    font-weight: 800;
    color: #028c45;
    line-height: 1;
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.tax-label {
    font-size: 0.65rem;
    font-weight: 500;
    color: #888;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .group-dine-out-theme .booking-header {
        flex-direction: column;
        padding: 1rem;
        gap: 1.5rem;
        align-items: flex-start;
    }

    .group-dine-out-theme .header-left-section,
    .group-dine-out-theme .header-right-section {
        width: 100%;
        align-items: flex-start;
    }

    .group-dine-out-theme .header-title-row {
        flex-wrap: wrap;
    }

    .group-dine-out-theme .header-info-row {
        gap: 0.75rem;
    }

    .group-dine-out-theme .payment-status-container,
    .group-dine-out-theme .order-value-container {
        align-items: flex-start;
    }

    .group-dine-out-theme .order-value-amount {
        font-size: 1.25rem;
    }

    .header-payment-status {
        font-size: 0.8rem;
    }
}
.booking-sidebar {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.5rem;
    background-color: #fff;
    border-left: 1px solid #e0e0e0;
    height: 100%;
    min-width: 90px;
    align-items: center;
    justify-content: center;
}

.sidebar-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    gap: 0.25rem;
    cursor: pointer;
    color: #555;
    transition: all 0.2s ease;
    width: 100%;
    padding: 0.4rem 0.2rem;
    border-radius: 6px;
}

.sidebar-btn:hover {
    background-color: #f5f5f5;
    color: #028c45;
}

.sidebar-btn.disabled,
.sidebar-btn:disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

.sidebar-icon {
    font-size: 1.25rem;
    color: inherit;
    width: 20px;
    height: 20px;
}

.sidebar-label {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    text-align: center;
    color: #444;
}


@media (max-width: 768px) {
    .group-dine-out-theme .booking-sidebar {
        flex-direction: row;
        width: 100%;
        min-width: 100%;
        overflow-x: auto;
        padding: 0.75rem;
        gap: 1rem;
        justify-content: space-around;
        border-left: none;
    }

    .group-dine-out-theme .sidebar-btn {
        width: auto;
        padding: 0.25rem 0.5rem;
        min-width: 60px;
    }

    .group-dine-out-theme .sidebar-icon {
        font-size: 1.25rem;
    }

    .group-dine-out-theme .sidebar-label {
        font-size: 0.6rem;
    }
}

/* Footer Container */
.custom-modal-footer {
  padding: 1rem;
  border-top: 1px solid #eee;
}

.new-order-details-modal {
  max-width: 80% !important;
  width: 70% !important;
  height: 80% !important;
  margin: auto;
}

@media (max-width: 1024px) {
  .new-order-details-modal {
    max-width: 90% !important;
    width: 90% !important;
    height: 90% !important;
  }
}

@media (max-width: 768px) {
  .new-order-details-modal {
    max-width: 95% !important;
    width: 95% !important;
    height: 95% !important;
  }
}

.group-dine-out-theme .booking-details-modal-layout {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #fff;
}

.group-dine-out-theme .booking-details-content-main {
  flex-grow: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: #fff;
}

.group-dine-out-theme .booking-details-sidebar-wrapper {
  height: 100%;
  border-left: 1px solid #e0e0e0;
  background-color: #fff;
  width: 100px;
  min-width: 100px;
}

@media (max-width: 768px) {
  .group-dine-out-theme .booking-details-modal-layout {
    flex-direction: column;
    overflow-y: auto;
  }

  .group-dine-out-theme .booking-details-content-main {
    height: auto;
    overflow: visible;
  }

  .group-dine-out-theme .booking-details-sidebar-wrapper {
    width: 100%;
    height: auto;
    border-left: none;
    border-top: 1px solid #e0e0e0;
    position: sticky;
    bottom: 0;
    z-index: 10;
  }
}

.new-order-details-modal .modal-content {
  height: 100%;
  max-height: 100%;
}

.actions-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 1rem;
}

/* Preparation Time Buttons */
.prep-time-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.prep-time-btn {
  padding: 0.5rem 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: white;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.85rem;
  white-space: nowrap;
}

.prep-time-btn.active {
  background: #028c45;
  color: white;
  border-color: #028c45;
}

.prep-time-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Primary Actions */
.primary-actions {
  display: flex;
  gap: 1rem;
}

/* Shared Action Button Styles */
.action-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  padding: 0.5rem;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
}

.action-btn:hover:not(:disabled) {
  background: #f5f5f5;
}

.action-icon {
  font-size: 1.5rem;
  margin-bottom: 0.25rem;
}

.action-btn span {
  font-size: 0.75rem;
  font-weight: 500;
}

/* Specific Button Colors */
.complete-btn .action-icon {
  color: #028c45;
}

.reject-btn .action-icon {
  color: #d32f2f;
}

/* Disabled States */
.action-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Secondary Actions Container (from Actions component) */
.secondary-actions-container {
  display: flex;
  gap: 1rem;
}

/* Responsive Adjustments */
@media (max-width: 1300px) {
  .actions-container {
    flex-direction: column;
    gap: 0.2rem;
  }

  .prep-time-actions,
  .primary-actions,
  .secondary-actions-container {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 768px) {

  .prep-time-actions,
  .primary-actions,
  .secondary-actions-container {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    justify-content: center;
  }

  .prep-time-btn,
  .action-btn {
    flex-shrink: 0;
  }

  .action-icon {
    font-size: 1.25rem;
  }

  .action-btn span {
    font-size: 0.65rem;
  }
}

/* Specific Button Colors */
.complete-btn .action-icon {
  color: #028c45;
}

.reject-btn .action-icon {
  color: #d32f2f;
}

/* ✅ Add this for Adjust Bill Button */
.adjust-btn span {
  color: #000000;
  /* Example: Bootstrap Primary Blue */
  font-weight: 500;
}

.staff-inline {
  position: relative;
  width: 200px;
}

.pin-input {
  width: 100%;
  padding-right: 90px;
  /* Extra space for button */
  border-radius: 6px;
}

/* .staff-inline .staff-name {
  font-weight: 500;
  color: #333;
  font-size: 0.9rem;
  text-transform: capitalize;
  margin-right: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
} */

.assign-staff-btn {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  height: 65%;
  padding: 0 10px;
  font-size: 12px;
  border: none;
  background-color: #028c45;
  color: white;
  border-radius: 4px;
  cursor: pointer;
}

.assign-staff-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.close-modal-x {
  position: absolute;
  top: 0px;
  right: 5px;
  cursor: pointer;
  z-index: 1051;
  color: #dc3545;
  font-size: 1.25rem;
  transition: all 0.2s ease;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
}

.close-modal-x:hover {
  color: #a71d2a;
  background: rgba(220, 53, 69, 0.1);
  transform: scale(1.1);
}
.restaurant-booking-container {
  overflow: auto;
  height: calc(90vh - 80px);
  border: none;
}

.booking-menu-container {
  overflow: auto;
  height: calc(95vh - 80px);
  border: none;
}

.status-filter {
  width: 11rem;
  padding: 2px 10px;
  margin-top: 0px;
  border: 1px solid #e5e5e5;
  margin-right: 0.25rem;
}

.date-filter {
  width: 9rem;
  padding: 0px 8px;
  margin-top: 0px;
  border: 1px solid #e5e5e5;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.search-container {
  width: 16rem;
  background-color: #f7faff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
}

.search-btn {
  height: 26px;
  border: none;
  position: absolute;
  right: 6.5rem;
  background-color: #018c45;
  color: #fff;
  border-radius: 4px;
}

.reset-btn {
  width: 5rem;
  background-color: #ffc20c;
  color: white;
  border: none;
  border-radius: 4px;
  margin-left: 0.25rem;
}

.confirmButton,
.rejectBooking .preprationButton {
  border-radius: 50%;
  background-color: transparent;
  padding: 3px 5px 5px 4px;
  font-weight: 400;
  font-size: 36px;
  position: relative;
}

.completeButton {
  background-color: transparent;
  padding: 3px 5px 5px 4px;
  font-weight: 400;
  font-size: 36px;
  position: relative;
  border: none;
}

.preprationButton {
  background-color: transparent;
  padding: 3px 5px 5px 4px;
  font-weight: 400;
  font-size: 42px;
  position: relative;
  top: 1px;
}

.complete-icon {
  border: 2.5px solid #018c45;
  border-radius: 50%;
}

.confirm-booking-btn {
  border: none;
  color: #018c45;
  position: relative;
}

.complete-booking-btn {
  color: #018c45;
  position: relative;
  top: 1px;
}

.reject-booking-btn {
  border: none;
  color: #cd212a;
  position: relative;
  background-color: transparent;
  font-size: 36px;
}

.confirmButton:disabled {
  cursor: not-allowed;
  color: #ccc;
}

.completeButton:disabled {
  cursor: not-allowed;
  color: #ccc;
  border: none;
}

.completeButton:disabled .complete-icon {
  cursor: not-allowed;
  color: #ccc;
  border: 2.5px solid #ccc;
}

.completeButton:disabled .reject-label {
  cursor: not-allowed;
  color: #ccc;
}

.rejectButton:disabled {
  cursor: not-allowed;
  color: #ccc;
}

.preprationButton:disabled {
  cursor: not-allowed;
  color: #ccc;
  border: none !important;
  top: 1px;
}

.view-details {
  color: #018c45;
  text-decoration: none;
  border: none;
  background-color: transparent;
  font-size: 30px;
}

.complete-order {
  position: relative;
  bottom: 13px;
  right: 4px;
  font-size: 20px;
}

.icon-btn {
  position: relative;
  bottom: 10px;
  right: 5px;
  font-weight: 900;
}

.booking-table-header {
  border: 1px solid #f6f6f6;
  position: sticky;
  top: 87px;
  z-index: 10;
}

.booking-table-header > tr > th {
  background-color: #e5e4e2;
  color: #000;
}
.special-header {
  border: 1px solid #f6f6f6;
  position: sticky;
  top: 87px;
  z-index: 9;
  background-color: #e6ecdf; /* Match desktop header */
  color: #000;
  display: flex;
  justify-content: flex-start; /* Aligns items to the left */
  padding: 2px 10px; /* Reduce padding to decrease height */
  height: 39px; /* Explicit height control */
}

.special-header span {
  flex: 1;
  text-align: left; /* Aligns text inside spans to the left */
  font-weight: 500;
  cursor: pointer;
  padding: 3px; /* Reduce padding to shrink text space */
  margin-left: -10px; /* Move labels further left */
}

.new-bookingstable-header > tr > th {
  background-color: #e6ecdf;
  color: #000;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.new-modifierstable-header > tr > th {
  background-color: #e6ecdf;
  color: #000;
  position: sticky;
  top: -20px;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.new-superadmin-header > tr > th {
  background-color: #e6ecdf;
  color: #000;
  position: sticky;
  top: -18px;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 8px 8px;
  margin-top: 0px;
  margin: 0;
}

.sticky-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  backdrop-filter: blur(10px);
}

.sticky2-header {
  position: sticky;
  top: 0;
  height: 87px;
  z-index: 10;
  background-color: #ffffff;
}

.booking-table-body-row {
  border: 1px solid #e5e5e5;
  transition: background-color 0.3s ease !important;
}

.booking-table-body-row.background-orange td {
  background-color: #f97316 !important;
  color: black !important;
}

.booking-table-body-row:hover {
  background-color: #f1f1f1 !important;
}

.booking-table-body-row.highlighted {
  background-color: red !important;
  transition: background-color 0.5s 1s !important;
}

.new-staffstable-header > tr > th {
  background-color: #e5e4e2 !important;
  color: #000;
  position: sticky;
  top: -20px;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 10px;
}

table {
  border-collapse: separate;
  border-spacing: 0 15px;
}

th {
  font-weight: 500;
}

th:last-child {
  text-align: left;
}

th:last-child,
td:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

th:first-child,
td:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.status-btn {
  display: flex;
}

.confirm-status {
  color: #018c45;
}

.pending-status {
  color: yellow;
}

.reject-status {
  color: #cd212a;
}

.modal {
  z-index: 1111111111 !important;
}

.modal-backdrop {
  z-index: 1111111110 !important;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal-header {
  background-color: #018c45;
}

.color-white {
  color: #fff;
}

.background-color-white {
  background-color: #fff;
}

.background-color-white-1 {
  background-color: #f6f6f6;
}

.my-modal {
  margin-right: auto;
  margin-left: auto;
  margin-top: 5rem;
  margin-bottom: auto;
  max-width: 75vw;
}

.modal-content {
  height: auto;
  background-color: #f6f6f6;
}

.booking-details-modal {
  margin-right: auto;
  margin-left: auto;
  margin-top: 5rem;
  margin-bottom: auto;
  max-width: 75vw;
}

.booking-details-modal .modal-content {
  display: flex;
  flex-direction: column;
  height: 80vh;
  background-color: #f6f6f6;
}

.booking-details-modal .modal-header,
.booking-details-modal .modal-footer {
  height: 60px;
}

.booking-details-modal .modal-body {
  flex: 1;
  overflow-y: auto;
}

.pickup-details-modal {
  margin-right: auto;
  margin-left: auto;
  margin-top: 5rem;
  margin-bottom: auto;
  max-width: 75vw;
  position: relative;
}

.pickup-details-modal .modal-content {
  display: flex;
  flex-direction: column;
  height: 80vh;
  background-color: #f6f6f6;
}

/* .pickup-details-modal .modal-header,
.pickup-details-modal .modal-footer {
  height: 60px;
} */

.pickup-details-modal .modal-body {
  flex: 1;
  overflow-y: auto;
}

.refund-details-modal {
  margin-right: auto;
  margin-left: auto;
  margin-top: 10%;
  margin-bottom: auto;
  max-width: 30vw;
  z-index: 9999999999;
}

.refund-details-modal .modal-content {
  display: flex;
  flex-direction: column;
  height: auto;
  background-color: #f6f6f6;
}

.refund-details-modal .modal-body {
  flex: 1;
  overflow-y: auto;
}

.preview-bill-modal {
  margin-right: auto;
  margin-left: auto;
  margin-top: 3%;
  margin-bottom: auto;
  max-width: 30vw;
  z-index: 9999999999;
  /* background: rgba(0, 0, 0, 0.5); */
}

.preview-bill-modal .modal-content {
  display: flex;
  flex-direction: column;
  max-height: 85vh;
  background-color: #f6f6f6;
  height: auto !important;
}

.preview-bill-modal .modal-body {
  flex: 1;
  overflow-y: auto;
}

.close-btn {
  border-radius: 50%;
  background-color: rgb(255, 255, 255, 1);
  border: none;
  color: #cd212a;
  position: relative;
  top: 0px;
  right: -10px;
  width: 2.5rem;
  height: 2.3rem;
  opacity: unset;
  font-size: 20px;
  font-weight: 500;
}

.fw::before {
  font-weight: 500 !important;
  font-size: 22px;
}

.h-100 {
  height: 100%;
}

.w-40 {
  width: 40%;
}

.w-56 {
  width: 58%;
}

.p-left-0 {
  padding-left: 0rem !important;
}

.p-left-1 {
  padding-left: 0.25rem !important;
}

.p-right-0 {
  padding-right: 0rem !important;
}

.p-right-1 {
  padding-right: 0.25rem !important;
}

.customer-pic {
  width: 64px;
  height: 64px;
  background-size: cover;
  background-position: center;
  border-radius: 50%;
}
hr {
  margin: 0.2rem 0;
}

.darker-gray-color {
  color: #808080;
}

.lighter-gray-color {
  color: #b8b8b8;
}

.logo-green {
  color: #018c45;
}

.group-pic::before {
  padding-right: 8px;
}

.view-list {
  background-color: transparent;
  border: none;
  font-size: 14px;
}

.margin_right {
  margin-right: 0.25rem;
}

.custom-tooltip-class {
  background-color: #e3f0e8;
  color: #018c45;
  font-size: 14px;
}

.food-description {
  margin-bottom: 0px !important;
}

.veg-outer-box {
  border-radius: 4px;
  width: 1rem;
  height: 1rem;
  border: 1px solid #028c45;
  justify-content: center;
  display: flex;
  align-items: center;
}

.veg-inner-box {
  border-radius: 50%;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #028c45;
}

.nonveg-outer-box {
  border-radius: 4px;
  width: 1rem;
  height: 1rem;
  border: 1px solid #cd212a;
  justify-content: center;
  display: flex;
  align-items: center;
}

.nonveg-inner-box {
  border-radius: 50%;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #cd212a;
}

.active-button {
  background-color: #018c45 !important;
  color: #fff !important;
}

.qty-btn {
  border: none;
}

.filter-option-label {
  font-size: 0.25em !important;
}

.highlight {
  color: black;
}

.default-icon {
  color: #686666;
}

.dropdown-item:hover {
  background-color: #56a76e !important;
  color: white;
}

/* Status dropdown responsive fixes */
.status-dropdown-menu {
  max-height: 30vh;
  overflow-y: auto;
  z-index: 3000;
}

/* On small devices in landscape, make the dropdown position more robust and visible */
@media (max-width: 820px) and (orientation: landscape) {
  .status-dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    transform: none !important;
    min-width: 10rem;
    max-height: 60vh;
    width: auto;
    box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  }

  /* Allow the sticky header area to show overflow for dropdowns */
  .sticky-header {
    overflow: visible !important;
  }
}

.hide-on-large {
  display: none !important;
}

.show-on-large {
  display: flex !important;
}

@media (max-width: 1400px) {
  .hide-on-large {
    display: flex !important;
  }

  .show-on-large {
    display: none !important;
  }
}

/* .table-responsive {
  overflow-x: auto;
}

@media (max-width: 1200px) {
  .booking-table-header th, .table-hover td {
    font-size: 0.9rem;
    padding: 0.5rem;
  }
}

@media (max-width: 992px) {
  .booking-table-header th, .table-hover td {
    font-size: 0.85rem;
    padding: 0.4rem;
  }
}

@media (max-width: 768px) {
  .booking-table-header th, .table-hover td {
    font-size: 0.8rem;
    padding: 0.3rem;
  }
  .table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-hover thead {
    display: none;
  }
  .table-hover tr {
    display: block;
    margin-bottom: 0.625rem;
  }
  .table-hover td {
    display: block;
    text-align: right;
    position: relative;
    padding-left: 50%;
  }
  .table-hover td::before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    width: 50%;
    padding-left: 0.75rem;
    font-weight: bold;
    text-align: left;
  }
} */

/* Tablet Mode: Hide Table */
@media (max-width: 1200px) {
  table {
    display: table !important;
  }
}

/* Booking Filters - Keep them always visible */
.booking-filters {
  display: flex;
  justify-content: space-around;
  margin-bottom: 10px;
}

/* Booking Cards */
.booking-card {
  border: 1px solid #ddd;
  background-color: #fff;
  margin-bottom: 10px;
  border-radius: 8px;
  padding: 10px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}

/* Booking Summary - First row in the collapsed state */
.booking-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* Expand Button */
/* .expand-btn {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
} */

/* Booking Details - Hidden by Default */
.booking-details {
  display: none;
  height: auto !important;
  overflow: visible !important;
}

/* Show Details When Card is Expanded */
.booking-card.expanded .booking-details {
  display: block !important;
  width: 100%;
  padding-top: 10px;
}

/* Ensure tables inside .booking-details are always visible */
.booking-card.expanded .booking-details table {
  display: table !important;
}

/* Remove border and background */
.btn-outline-success {
  background-color: white !important;
  color: #198754 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Prevent green fill on hover, focus, and active states */
.btn-outline-success:hover,
.btn-outline-success:active,
.btn-outline-success:focus {
  background-color: white !important;
  color: #198754 !important;
  border: none !important;
  box-shadow: none !important;
}
/* Expanded Table */
.expanded-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
}

.expanded-table td {
  padding: 8px;
  border-bottom: 1px solid #ddd;
}

.expanded-table td:first-child {
  font-weight: bold;
  width: 40%;
}
.pax-input-container {
  display: flex;
  align-items: center;
  gap: 5px;
}

.pax-input {
  background-color: #ddd;
  width: 3.5rem;
  text-align: center;
  padding: 5px;
}
.pax-inputdesk {
  background-color: #ddd;
  width: 3rem !important;
  height: 2rem;
  text-align: center;
  padding: 5px;
}
.pax-btn {
  background-color: #ddd;
  border: none;
  padding: 5px 10px;
  cursor: pointer;
  font-size: 27px;
  font-weight: bold;
  border-radius: 4px;
}
.pax-btndesk {
  background-color: #ddd;
  border: none;
  padding: 2px 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  border-radius: 4px;
}
.pax-btn:hover {
  background-color: #bbb;
}
.expanded-table {
  width: 100%;
}

.expanded-table td {
  padding: 8px;
  vertical-align: top;
  width: 25%;
}
.pax-inputdesk::-webkit-outer-spin-button,
.pax-inputdesk::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pax-inputdesk {
  -moz-appearance: textfield;
}
.special-header {
  display: flex;
  justify-content: space-between;
  padding: 10px;
}
.special-header span {
  flex: 1;
  text-align: center;
  font-weight: 500;
  cursor: pointer;
}
/* Page Container */
.restaurant-booking-page {
  display: flex;
  position: relative;
}

/* Main content container */
.main-content {
  flex-grow: 1;
  transition: filter 0.3s ease-in-out;
}

/* Apply blur effect when sidebar is expanded */
/* .blurred {
  filter: blur(5px);
  pointer-events: none; 
}

.blur-effect {
  filter: blur(18px); 
  opacity: 0.9; 
  pointer-events: none; 
  transition: all 0.1s ease-in-out;
} */

.booking-table-tablet-header {
  border: 1px solid #f6f6f6;
  position: sticky;
  top: 87px;
  z-index: 9;
}

.booking-table-tablet-header > tr > th {
  background-color: #e6ecdf;
  color: #000;
}
.expanded-details {
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

.booking-card.pickup {
  background-color: rgba(2, 140, 69, 0.1);
}

.booking-card.delivery {
  background-color: rgba(249, 115, 22, 0.1);
}

.transparent-table {
  background-color: transparent !important;
}

.transparent-table th,
.transparent-table td {
  background-color: transparent !important;
}
/* Mobile-specific styles */
@media (max-width: 767px) {
  .restaurant-booking-container {
    margin: 0;
    border-radius: 0;
  }
  
  .search-container {
    width: 100% !important;
    padding: 10px 35px 10px 15px;
    font-size: 16px; /* Prevents iOS zoom on focus */
  }
  
  .search-icon, .reset-icon {
    top: 50%;
    transform: translateY(-50%);
    right: 12px;
    font-size: 20px;
  }
  
  .sticky-header {
    position: sticky;
    top: 0;
    background: white;
    z-index: 100;
    border-bottom: 1px solid #dee2e6;
  }
}

/* Tablet-specific styles */
@media (min-width: 768px) and (max-width: 991px) {
  .search-container-tablet {
    width: 180px !important;
  }
}

.booking-type label {
  display: inline-block;
}

.booking-type input[type="text"],
.booking-type input[type="datetime-local"] {
  display: inline-block;
  width: auto !important;
  vertical-align: top;
}

.booking-type-radio-group input[type="radio"],
.booking-type-radio-group label {
  display: inline-block;
  margin-right: 10px;
}

.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}
.popup {
  background-color: white;
  border-radius: 10px;
  position: relative;
  padding: 10px;
  
  /* width:40% ; */
  /* min-height: 50%; */
  max-height: 80%;
  overflow-y: auto;
}
.popup.menu-visible {
  min-width: 90%;
}

.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  color: white;
  font-size: 20px;
  background-color: #ce1f2a;
}

.form-group-1 {
  margin-bottom: 1rem;
}

.row-margin-x {
  margin-left: 0px;
  margin-right: 0px;
}

.error {
  color: red;
}

.table-layout-list,
.table-layout-grid {
  display: grid;
  width: 100%;
  padding: 1.2rem;
  border: 0.5px solid #a3a3a3;
  gap: 1.5rem;
}

.table-layout-list {
  grid-template-columns: repeat(auto-fill, minmax(85px, 1fr));
}

.table-layout-grid {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  padding: 1.2rem 2rem;
}

.table-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 0;
  position: relative;
}

.table-list img {
  width: 85px;
  height: 85px;
  padding: 10px;
  object-fit: contain;
}

.table-list.selected {
  border-radius: 10px;
  background: #cce8da;
  transform: scale(1.05);
  box-shadow: 0 0 5px rgba(2, 140, 69, 0.3);
}

.table-list.reserved {
  border-radius: 10px;
  background-color: #e5e5e5 !important;
  cursor: not-allowed;
  opacity: 0.6;
  filter: grayscale(80%);
}

.table-list-delete-btn {
  background: #ff6b6b;
  color: white;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -8px;
  right: -8px;
  opacity: 0.7;
  transition: all 0.2s ease;
  font-size: 10px;
  padding: 0;
  z-index: 10;
}

.table-list-delete-btn:hover {
  background: #dc3545;
  opacity: 1;
  transform: scale(1.1);
}

.table-id-text {
  margin: 5px 0 0 0;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .table-layout-list {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 2rem;
  }

  .table-layout-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    padding: 1.5rem;
  }

  .table-list img {
    width: 95px;
    height: 95px;
  }
}

@media (max-width: 767px) {
  .table-layout-list,
  .table-layout-grid {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 1rem;
    padding: 1rem;
  }

  .table-list img {
    width: 75px;
    height: 75px;
    padding: 8px;
  }

  .table-list-delete-btn {
    width: 18px;
    height: 18px;
    top: -6px;
    right: -6px;
  }

  .table-list-delete-btn svg {
    width: 8px;
    height: 8px;
  }
}

.allocate-table-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 2.2rem 8rem 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "title"
    "filter"
    "view";
  background: #ffffff;
  padding: 1.2rem;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  margin: 16px 8px 16px 16px;
}

.allocate-table-title {
  grid-area: title;
  font-size: 20px;
  font-weight: 500;
  line-height: 24.2px;
  text-align: left;
}

.allocate-table-filter {
  grid-area: filter;
  display: flex;
  justify-content: space-between;
  padding: 0.4rem;
}

.allocate-table-view {
  grid-area: view;
}

.floors-options button {
  width: 71px;
  height: 36px;
  border-radius: 5px;
  border: 0.5px solid #a3a3a3;
  margin-right: 0.8rem;
  background: #ffffff;
  font-size: 24px;
  font-weight: 400;
  line-height: 29.05px;
}

.areas-options button {
  width: 98px;
  height: 36px;
  border-radius: 5px;
  border: 0.5px solid #a3a3a3;
  margin-right: 0.8rem;
  background: #ffffff;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
}

.floors-options button.active,
.areas-options button.active {
  background-color: #028c45;
  color: #fff;
}

.floor-buttons,
.area-buttons {
  display: flex;
  gap: 10px;
}

.floor-buttons button,
.area-buttons button {
  padding: 10px 20px;
  border: 1px solid #ddd;
  background-color: #fff;
  cursor: pointer;
}

.floor-buttons button.active,
.area-buttons button.active {
  background-color: #028c45;
  color: #fff;
}

.select-table {
  width: 122px;
  height: 36px;
  border-radius: 5px;
  background: #018c45;
  border: 0.5px solid #a3a3a3;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
  color: #ffffff;
}

.disabled-button {
  cursor: not-allowed;
  width: 122px;
  height: 36px;
  border-radius: 5px;
  background: #e5e5e5;
  border: 0.5px solid #e5e5e5;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
  color: #fff;
}

.grid-list-button {
  width: 36px;
  height: 36px;
  border-radius: 5px;
  background: none;
  border: 0.5px solid #a3a3a3;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
  color: black;
  font-size: 24px;
  margin: 8px;
}

.view-toggle-buttons {
  display: flex;
  justify-content: flex-end;
}

.grid-list-button.active {
  background-color: #028c45;
  color: white;
}

.areas-container.list .area-section {
  display: block;
  /* flex-direction: row; */
}

.areas-container.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}

.areas-container.grid .area-section {
  display: flex;
  flex-direction: column;
}

.table-list-container {
  /* display: flex; */
  flex-wrap: wrap;
}

.d-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.seating-date-picker input {
  width: 100% !important;
  min-width: 260px; 
}

/* Mobile select bar: visible only on small screens */
.mobile-select-bar {
  display: none;
}

@media (max-width: 992px) {
  .mobile-select-bar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px;
    background: rgba(255,255,255,0.98);
    border-top: 1px solid #e6e6e6;
    justify-content: center;
    z-index: 2000;
    box-shadow: 0 -6px 18px rgba(0,0,0,0.06);
  }

  .mobile-select-bar .select-table,
  .mobile-select-bar .disabled-button {
    width: 95%;
    max-width: 520px;
    height: 44px;
    border-radius: 8px;
    font-size: 16px;
    padding: 0 14px;
  }

  /* Make room for the bar by reducing container bottom padding/height */
  .allocate-table-container {
    padding-bottom: 70px;
  }
}

/* Responsive adjustments for AllocateTable - portrait only */
@media (max-width: 992px) and (orientation: portrait) {
  .allocate-table-container {
    padding: 1rem;
    margin: 12px 8px;
  }

  /* Stack filter columns vertically on small screens */
  .allocate-table-filter {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .allocate-table-filter .col-4,
  .allocate-table-filter .col-6,
  .allocate-table-filter .col-2 {
    width: 100% !important;
    padding: 0 !important;
  }

  /* Make floor/area option lists horizontally scrollable (mobile-friendly) */
  .floors-options,
  .areas-options {
    display: inline-flex;
    gap: 0.5rem;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }

  .floors-options button,
  .areas-options button {
    display: inline-block;
    width: auto;
    min-width: 64px;
    padding: 8px 12px;
    margin-right: 8px;
    font-size: 14px;
  }

  /* Make select/reserve button full width for easier tapping */
  .select-table,
  .disabled-button {
    width: 100% !important;
  }

  /* Stack date/time picker inputs vertically on small screens */
  .date-time-picker-container {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  /* Reduce grid item min width so more items fit on narrow screens */
  .areas-container.grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.75rem;
  }

  .area-title .select-table {
    width: 100%;
    padding: 8px 10px;
    font-size: 14px;
  }

  .view-toggle-buttons {
    justify-content: flex-start;
    margin-bottom: 6px;
  }

  .grid-list-button {
    margin: 4px 6px 4px 0;
  }

  .table-list-container {
    width: 100%;
  }
}

/* Extra small phones (very narrow) - portrait */
@media (max-width: 420px) and (orientation: portrait) {
  .allocate-table-container {
    padding: 8px;
    margin: 8px 6px;
  }

  .floors-options button,
  .areas-options button {
    min-width: 56px;
    padding: 6px 10px;
    font-size: 13px;
  }

  .allocate-table-title {
    font-size: 18px;
  }

  .seating-date-picker input {
    min-width: 0 !important;
  }
}

/* Small screens in landscape: keep desktop/tablet horizontal header and hide mobile bar */
@media (max-width: 992px) and (orientation: landscape) {
  /* Arrange filter columns horizontally (like desktop) */
  .allocate-table-filter {
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }

  .allocate-table-filter .col-4,
  .allocate-table-filter .col-6,
  .allocate-table-filter .col-2 {
    width: auto !important;
    padding: 0 8px !important;
  }

  /* hide mobile sticky select bar in landscape so top select shows */
  .mobile-select-bar {
    display: none !important;
  }

  /* keep date/time picker inline */
  .date-time-picker-container {
    flex-direction: row;
    align-items: center;
  }

  .select-table,
  .disabled-button {
    width: 122px !important;
  }

  .allocate-table-container {
    padding-bottom: 16px;
  }
}

.add-offer-container {
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 1111111111 !important;
}

.add-offer-container.show {
  display: flex;
}

.add-offer-container form {
  padding: 1rem;
}
.form-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
.offer-form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.button-row {
  display: flex;
  gap: 1rem;
}

.multi-select {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.checkbox-container {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* Space between text and checkbox */
  font-size: 1rem;
  font-weight: 500;
}

.checkbox-container input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}
/* Tablet Mode Styles */
@media (max-width: 1024px) {
  .restaurant-booking-container table {
    display: none !important;
  }
}

/* Offer Card Styles */
.offer-card {
  border: 1px solid #ddd;
  margin-bottom: 15px;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.offer-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.offer-summary {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.offer-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  gap: 15px;
}

.offer-details {
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid #eee;
  animation: fadeIn 0.3s ease-out;
}

/* Responsive Fields */
@media (max-width: 912px) {
  .offer-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .delete-btntblt {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(-18px, -27%);
    background: none;
    border: none;
    font-size: 36px;
    color: #dc3545;
    cursor: pointer;
    padding: 0;
    margin: 0;
    line-height: 1;
    transition: all 0.2s;
  }
  .delete-btntblt:active {
    transform: translate(-18px, -25%) scale(0.9);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  }
}

/* Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Action Buttons */
.offer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 10px;
}

.action-button {
  background: none;
  border: none;
  padding: 5px;
  font-size: 18px;
  cursor: pointer;
  transition: transform 0.2s;
}

.action-button:hover {
  transform: scale(1.1);
}

.expand-btn {
  background-color: #28a745 !important;
  color: white !important;
  border-radius: 4px;
  transition: all 0.2s;
}

.expand-btn:hover {
  background-color: #126e26 !important;
  transform: translateX(10px) scale(1.05);
}

.offer-heading {
  color: #000;
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}
/* Delete button specific styles */
.delete-btn-container {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.delete-btn {
  background: none;
  border: none;
  padding: 6px;
  font-size: 28px;
  color: #dc3545;
  cursor: pointer;
  transition: all 0.2s;
  margin-left: 89px;
  position: relative;
  top: -63px;
}

.delete-btn:hover {
  color: #c82333;
}
.date-with-action {
  display: flex;
  align-items: center;
  gap: 10px;
}
.end-date-container {
  position: relative;
  padding-right: 40px;
}

.end-date-value {
  display: inline-block;
  line-height: 1.5;
  vertical-align: middle;
}

.delete-btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-2px, 18%);
  background: none;
  border: none;
  font-size: 27px;
  color: #dc3545;
  cursor: pointer;
  padding: 0;
  margin: 0;
  line-height: 1;
  transition: all 0.2s;
}

/* Tablet Mode: Hide Table */
@media (max-width: 1200px) {
    table {
      display: table !important;
    }
  }
  .employee-card {
    border: 1px solid #ddd;
    margin-bottom: 10px;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
  }
  .employee-summary {
    display: flex;
    flex-direction: column; 
    gap: 10px;
  }
  
  .employee-row {
    display: flex;
    align-items: center;
    /* justify-content: space-between; */
    width: 100%; 
  }
  .employee-info {
    display: flex;
    justify-content: space-between;
    gap: 10px; 
  }
  
  
  
.allocate-table-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 2.2rem 8rem 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "title"
    "filter"
    "view";
  background: #ffffff;
  padding: 1.2rem;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  margin: 16px 8px 16px 16px;
  height: calc(100vh - 150px);
  

}

.allocate-table-titles {
  grid-area: title;
  font-size: 20px;
  font-weight: 500;
  line-height: 24.2px;
  text-align: left;
}

.allocate-table-filter {
  grid-area: filter;
  display: flex;
  justify-content: space-between;
  padding: 0.4rem;
}

.allocate-table-view {
  grid-area: view;
}

.floor-option button {
  width: 71px;
  height: 36px;
  border-radius: 5px;
  border: 0.5px solid #a3a3a3;
  margin-right: 0.8rem;
  background: #ffffff;
  font-size: 24px;
  font-weight: 400;
  line-height: 29.05px;
}

.area-option button {
  width: 120px;
  height: 36px;
  border-radius: 5px;
  border: 0.5px solid #a3a3a3;
  margin-right: 0.8rem;
  background: #ffffff;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
}

.floor-option button.active,
.area-option button.active {
  background-color: #028c45;
  color: #fff;
}

.floor-button,
.area-button {
  display: flex;
  gap: 10px;
}

.floor-button button,
.area-button button {
  padding: 10px 20px;
  border: 1px solid #ddd;
  background-color: #fff;
  cursor: pointer;
}

.floor-button button.active,
.area-button button.active {
  background-color: #028c45;
  color: #fff;
}

.select-table {
  width: 122px;
  height: 36px;
  border-radius: 5px;
  background: #018c45;
  border: 0.5px solid #a3a3a3;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
  color: #ffffff;
}

.disabled-button {
  cursor: not-allowed;
  width: 122px;
  height: 36px;
  border-radius: 5px;
  background: #e5e5e5;
  border: 0.5px solid #e5e5e5;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
  color: #fff;
}

.floorwisetable-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}

/* Style for the dialog box when it's in the "show" state */
.floorwisetable-container.show {
  display: flex;
}

/* Style for the dialog box content */
.floorwisetable-container .flowerwisetable {
  position: relative;
  background: #fff;
  width: 75%;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
  overflow-y: auto;
  height: 70%;
}

.close-bttn {
  position: absolute;
  top: 15px;
  right: 10px;
  cursor: pointer;
  color: white;
  font-size: 20px;
  background-color: #ce1f2a;
  border-radius: 50%;
  padding: 4px 8px;
}

/* Table Management Specific Styles */
.table-management-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 2.2rem 8rem 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "title"
    "filter"
    "view";
  background: #ffffff;
  padding: 1.2rem;
  overflow-y: hidden;
  overflow-x: hidden;
  width: 100%;
  margin: 0px 0px 0px 0px;
  min-height: 86vh;
}

.table-management-title {
  grid-area: title;
  font-size: 20px;
  font-weight: 500;
  line-height: 24.2px;
  text-align: left;
  color: #028c45;
}

.table-management-filter {
  grid-area: filter;
  display: flex;
  justify-content: space-between;
  padding: 0.4rem;
}

.table-management-view {
  grid-area: view;
}

/* Floor Options */
.table-management-floors-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 1rem;
}

.table-management-floor-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.8rem;
}

.table-management-floor-btn {
  width: 71px;
  height: 36px;
  border-radius: 5px;
  border: 0.5px solid #a3a3a3;
  background: #ffffff;
  font-size: 24px;
  font-weight: 400;
  line-height: 29.05px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.table-management-floor-btn.active {
  background-color: #028c45;
  color: #fff;
  border-color: #028c45;
}

.table-management-floor-btn:hover {
  background-color: #f0f0f0;
}

.table-management-floor-btn.active:hover {
  background-color: #027a3d;
}

/* Delete Button Styles - Specific for Table Management */
.table-management-delete-btn {
  background: #ff9f9f; /* Lighter red */
  color: white;
  border: none;
  border-radius: 4px;
  padding: 4px 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  width: 30px;
  height: 30px;
  opacity: 0.8;
}

.table-management-delete-btn:hover {
  background: #dc3545; /* Darker red on hover */
  opacity: 1;
  transform: scale(1.05);
}

.table-management-delete-btn:disabled {
  background: #adb5bd; /* Lighter gray */
  cursor: not-allowed;
  opacity: 0.6;
}

/* Area Styles */
.table-management-areas-container {
  margin-top: 1rem;
}

.table-management-area-section {
  margin-bottom: 2rem;
  padding: 1rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fafafa;
}

.table-management-area-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.table-management-area-title {
  width: 122px;
  height: 36px;
  border-radius: 5px;
  background: #018c45;
  border: 0.5px solid #a3a3a3;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.36px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: default;
}

/* Table List Styles */
.table-management-table-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.table-management-table-item {
  position: relative;
  display: inline-block;
  margin: 5px;
}

.table-management-table-btn {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  border: 2px solid #ddd;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;
  font-weight: 500;
}

.table-management-table-btn:hover {
  border-color: #028c45;
  transform: translateY(-2px);
}

.table-management-table-btn.selected {
  background-color: #028c45;
  color: #fff;
  border-color: #028c45;
}

.table-management-table-btn.occupied {
  background-color: #ff9f9f; /* Lighter red */
  color: #fff;
  border-color: #ff9f9f;
  cursor: not-allowed;
}

.table-management-table-btn.occupied:hover {
  transform: none;
  border-color: #ff9f9f;
}

.table-management-table-delete-btn {
  background: #ff9f9f; /* Lighter red */
  color: white;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -8px;
  right: -8px;
  opacity: 0.8; /* Slightly transparent */
  transition: all 0.2s ease;
  font-size: 10px;
  padding: 0;
  z-index: 10;
}

.table-management-table-delete-btn:hover {
  background: #dc3545; /* Darker red on hover */
  opacity: 1; /* Fully opaque on hover */
  transform: scale(1.1);
}

/* View Toggle */
.table-management-view-toggle {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1rem;
}

.table-management-view-btn {
  width: 36px;
  height: 36px;
  border-radius: 5px;
  background: none;
  border: 0.5px solid #a3a3a3;
  font-size: 16px;
  font-weight: 500;
  color: black;
  font-size: 18px;
  margin: 0 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.table-management-view-btn.active {
  background-color: #028c45;
  color: white;
  border-color: #028c45;
}

.table-management-view-btn:hover {
  background-color: #f0f0f0;
}

.table-management-view-btn.active:hover {
  background-color: #027a3d;
}

/* List View Specific Styles */
.table-management-areas-container.list .table-management-area-section {
  display: block;
}

.table-management-areas-container.list .table-management-table-list {
  justify-content: flex-start;
}

/* Grid View Specific Styles */
.table-management-areas-container.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.table-management-areas-container.grid .table-management-area-section {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Modal Styles - Specific for Table Management */
.table-management-modal .modal-header {
  background-color: #018c45;
  color: #fff;
  border-bottom: 1px solid #dee2e6;
  padding: 1rem;
}

.table-management-modal .modal-title {
  color: #fff;
  font-weight: 600;
  font-size: 1.2rem;
}

.table-management-modal .modal-body {
  padding: 1.5rem;
  font-size: 1rem;
}

.table-management-modal .modal-footer {
  border-top: 1px solid #dee2e6;
  padding: 1rem;
  gap: 0.5rem;
}

.table-management-modal .btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
}

.table-management-modal .btn-secondary:hover {
  background-color: #5a6268;
  border-color: #545b62;
}

.table-management-modal .btn-danger {
  background-color: #dc3545;
  border-color: #dc3545;
}

.table-management-modal .btn-danger:hover {
  background-color: #c82333;
  border-color: #bd2130;
}

/* Responsive Design */
@media (max-width: 768px) {
  .table-management-container {
    grid-template-rows: auto auto 1fr;
    padding: 0.8rem;
    margin: 8px;
  }

  .table-management-floors-options {
    flex-direction: column;
    gap: 0.5rem;
  }

  .table-management-floor-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
  }

  .table-management-areas-container.grid {
    grid-template-columns: 1fr;
  }

  .table-management-table-list {
    justify-content: center;
  }

  .table-management-table-btn {
    width: 70px;
    height: 70px;
    font-size: 12px;
  }
}

/* Loading State */
.table-management-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
}

/* Empty State */
.table-management-empty {
  text-align: center;
  color: #6c757d;
  padding: 2rem;
  font-style: italic;
}

/* Add to your CSS file */
.table-management-modal .text-danger {
  color: #dc3545 !important;
  font-weight: 500;
}

.table-management-modal .modal-header {
  border-bottom: 1px solid #dee2e6;
}

.table-management-modal .modal-footer {
  border-top: 1px solid #dee2e6;
}

.date-time-picker-container {
  display: flex;
  align-items: center;
  /* justify-content: center; */
  gap: 10px;
  /* margin-top: 50px; */
}

.date-time-picker-arrow-btn {
  background-color: green;
  color: white;
  border: none;
  padding: 2px;
  cursor: pointer;
  border-radius: 5px;
}

.date-time-picker-arrow-btn:focus {
  outline: none;
}

.date-time-picker-display {
  padding: 2px 32px;
  border: 1px solid #ccc;
  border-radius: 5px;
  position: relative;
  height: 36px;
  display: flex;
  align-items: center;
}

.date-input-container {
  position: relative;
}

.date-arrow-left-btn {
  position: absolute;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.date-arrow-right-btn {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
}

.time-input-container {
  position: relative;
}

.time-arrow-left-btn {
  position: absolute;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.time-arrow-right-btn {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
}

.custom-input {
  display: flex;
  align-items: center;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
  height: 36px;
}

.input-icon {
  margin-right: 8px;
  color: #888; /* Adjust icon color */
}

.custom-input span {
  color: #333;
}
/* Actions.css */

/* Modal animations */
@keyframes slide-down {
  from {
    transform: translateY(-50%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.bill-preview-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000000 !important;
}

.bill-preview-modal > .modal-content {
  background-color: white;
  padding: 24px 32px;
  border-radius: 10px;
  width: 600px;
  max-width: 90%;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  overflow-y: auto !important;
}

.bill-preview-modal > .modal-actions {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

.checkout-dialog {
  z-index: 99999999999 !important;
}

.checkout-dialog > .modal-dialog {
  animation: slide-down 0.5s ease-out;
}

.checkout-dialog > .modal-dialog > .modal-content {
  height: auto;
}

.checkout-dialog .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* background-color: #0c6efb; */
  color: #fff;
  border-bottom: none;
}

.checkout-dialog .modal-title {
  color: #fff;
  text-align: center;
  width: 100%;
}

/* Checkout form styles */
.checkout-form {
  padding: 10px 20px;
}

.checkout-form h3 {
  margin-bottom: 20px;
}

.checkout-form .form-group {
  margin-bottom: 10px;
}

.checkout-form .form-control {
  width: 100%;
  padding: 8px;
  border: 1px solid #ced4da;
  border-radius: 4px;
}

.checkout-form .expiration-date {
  display: flex;
  gap: 10px;
}

.checkout-form input[type="text"] {
  font-size: 14px !important;
}

.checkout-form .btn-primary {
  background-color: #007bff;
  border-color: #007bff;
  padding: 10px;
  border-radius: 8px;
  cursor: pointer;
  color: #fff;
  width: 100%;
  margin-top: 10px;
}

.checkout-form .error-message {
  color: red;
  margin-top: 10px;
}

.checkout-form .success-message {
  color: green;
  margin-top: 10px;
}

.payment-methods img {
  width: 100%;
  margin-bottom: 20px;
}

.card-number-wrapper {
  display: flex;
  align-items: center;
}

.card-brand-icon {
  margin-left: 10px;
  height: 24px;
  /* Adjust as necessary */
}

.cvv-wrapper {
  display: flex;
  align-items: center;
}

.cvv-instruction-icon {
  margin-left: 10px;
  height: 24px;
  /* Adjust as necessary */
}

.print-bill-btn,
.pay-bill-btn {
  background-color: transparent;
  color: #028c45 !important;
  border: none !important;
  border-radius: 0.5rem !important;
  padding: 0px 16px !important;
  cursor: pointer;
  font-size: 36px;
}

.print-bill-btn-disabled,
.pay-bill-btn-disabled {
  background-color: transparent;
  color: #ccc !important;
  border: none;
  border-radius: 0.5rem;
  padding: 0px 16px;
  cursor: not-allowed;
  font-size: 36px;
}

.print-bill-btn-disabled label,
.pay-bill-btn-disabled label {
  color: #ccc !important;
}

.bill-paid-btn {
  background-color: #808080;
  color: black !important;
  border: none;
  border-radius: 0.5rem;
  padding-top: 8px;
  padding-bottom: 8px;
  cursor: not-allowed;
  width: 100%;
}

.pay-bill {
  background-color: #028c45;
  color: #fff;
  border: none;
  border-radius: 0.5rem;
  width: 100%;
  border-radius: 0.5rem;
  padding-top: 8px;
  padding-bottom: 8px;
}
.confirm-btn,
.complete-btn,
.reject-btn {
  background-color: transparent;
  border: none;
  color: #028c45;
  display: flex;
  align-items: center;
  font-size: 36px;
  padding: 10px 15px;
}
.confirmButton:disabled {
  cursor: not-allowed;
  color: #ccc;
}

.completeButton:disabled {
  cursor: not-allowed;
  color: #ccc;
  border: none;
}

.completeButton:disabled .complete-icon {
  cursor: not-allowed;
  color: #ccc;
  border: 2.5px solid #ccc;
}

.completeButton:disabled .reject-label {
  cursor: not-allowed;
  color: #ccc;
}

.rejectButton:disabled {
  cursor: not-allowed;
  color: #ccc;
}
.reject-btn {
  color: #cd212a;
}

.confirm-btn .icon,
.complete-btn .icon,
.reject-btn .icon {
  font-size: 36px;
  margin-right: 5px;
}

img.action-icon {
  width: 24px;
  height: 24px;
  margin-bottom: 0.25rem;
  object-fit: contain;
}
.action-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.booking-info-grid {
  display: grid;
  grid-template-columns: 5rem 1fr 1fr 1fr 1.2fr;
  grid-template-rows: auto auto auto;;
  justify-items: flex-start;
  gap: 10px;
  align-items: center;
  padding: 10px;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin: 0px!important;
}

.booking-info-customer-image {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  display: flex;
  justify-content: center;
  align-items: center;
}

.booking-info-delivery-address {
  grid-column: 1 / -1; 
  grid-row: 3 / 4; 
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 0.9rem;
  color: #333;
  padding: 10px 0;
  border-top: 1px solid #ddd; 
}

.booking-info-customer-pic {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.booking-info-customer-name {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.booking-info-customer-phone {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.booking-info-total-pax {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
  display: flex;
  align-items: center;
}

.booking-info-time {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
  display: flex;
  align-items: center;
}

.booking-info-date {
  grid-column: 4 / 5;
  grid-row: 1 / 2;
  display: flex;
  align-items: center;
}

.booking-info-address {
  grid-column: 4 / 5;
  grid-row: 2 / 3;
  display: flex;
  align-items: center;
}

.booking-info-reservation-status {
  grid-column: 5 / 6;
  grid-row: 1 / 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.booking-info-order-value {
  grid-column: 5 / 6;
  grid-row: 2 / 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.booking-info-icon-margin {
  margin-right: 5px;
}

.booking-info-fw-bold {
  color: green;
}

.booking-info-lighter-gray-color {
  color: #aaa;
}

.booking-info-grid h5,
.booking-info-grid h6 {
  margin: 0;
}

/* List View Styles for Mobile */
.booking-info-list-view {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 15px;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.booking-info-list-header {
  display: flex;
  align-items: center;
  gap: 15px;
  /* padding-bottom: 10px;
  border-bottom: 1px solid #eee; */
  position: relative;
}

.booking-info-expand-icon {
  position: absolute;
  right: 15px;
  color: #666;
  font-size: 14px;
}


.booking-info-list-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee;
  margin-top: 5px;
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.booking-info-list-header-text {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.booking-info-list-customer-name {
  font-weight: 600;
  font-size: 18px;
  display: flex;
  align-items: center;
}

.booking-info-list-customer-contact {
  display: flex;
  align-items: center;
  color: #555;
}

.booking-info-list-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.booking-info-list-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.booking-info-list-label {
  font-weight: 600;
  color: #555;
  min-width: 120px;
}

.booking-info-list-value {
  text-align: right;
  flex-grow: 1;
}

/* Existing Grid Styles */
.booking-info-grid {
  display: grid;
  grid-template-columns: 5rem 1fr 1fr 1fr 1.2fr;
  grid-template-rows: auto auto auto;
  justify-items: flex-start;
  gap: 10px;
  align-items: center;
  padding: 10px;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin: 0px!important;
}
/* Core Layout Structure */
html,
body,
#root {
  height: 100%;
  margin: 0;
  padding: 0;
}

.transactions__container {
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 1rem;
  overflow: hidden;
}

/* Scrollable Content Area */
.transactions-content {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 60px; /* Space for pagination */
}

/* Header Styles */
.transactions-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: white;
  padding: 1rem 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Chart Containers */
.chart-container {
  background-color: #fff;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  height: 350px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 20px;
}

.balance-chart-container {
  padding: 0 20px;
}

/* Table Styles */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
  border-radius: 8px;
}

.transactions-table table,
.refunds-table table {
  width: 100%;
  min-width: 760px;
  margin-bottom: 0;
  display: inline-table !important;
}

.transactions-table table thead,
.refunds-table table thead {
  position: sticky;
  top: 0;
  background: white;
  z-index: 900;
  top: 80px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.transactions-table table th,
.transactions-table table td,
.refunds-table table th,
.refunds-table table td {
  vertical-align: middle !important;
  padding: 12px 15px;
  white-space: nowrap;
}

.transactions-table table tbody tr:hover,
.refunds-table table tbody tr:hover {
  background-color: #f1f1f1;
  cursor: pointer;
}

/* Form Elements */
.transactions-table .form-control,
.refunds-table .form-control {
  transition: width 0.3s ease;
  min-width: 120px;
}

/* Pagination */
.transactions-table .pagination,
.refunds-table .pagination {
  position: sticky;
  bottom: 0;
  background: #f1f1f1;
  padding: 15px 0;
  margin-top: 0;
  margin-bottom: 0;
  z-index: 800;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .chart-container.transaction-trends-chart {
    width: 84%; /* Adjust this percentage as needed */
    margin-right: 0;
    margin-left: -3px; /* This will push it to the left, effectively squeezing from the right */
  }
  .transactions__container {
    padding: 2rem 1rem;
  }

  .transactions-table .form-control,
  .refunds-table .form-control {
    width: 100% !important;
    margin-bottom: 10px;
  }

  .transactions-table table th,
  .transactions-table table td,
  .refunds-table table th,
  .refunds-table table td {
    padding: 8px 10px;
  }
  /* ID Column - Reduced width */
  .transactions-table th:nth-child(1),
  .transactions-table td:nth-child(1) {
    width: 80px;
    min-width: 80px;
    max-width: 80px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .transactions-table th:nth-child(2),
  .transactions-table td:nth-child(2) {
    width: 54px; /* Increased from 54px */
    min-width: 54px;
    max-width: 54px;
    white-space: normal; /* Changed from nowrap */
    line-height: 1.3; /* Better spacing */
  }

  .transactions-table th:nth-child(3), /* Amount */
  .transactions-table td:nth-child(3) {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
    text-align: left;
  }

  .transactions-table th:nth-child(4), /* Status */
  .transactions-table td:nth-child(4) {
    width: 90px;
    min-width: 90px;
    max-width: 90px;
  }

  .transactions-table td:nth-child(1),
  .refunds-table td:nth-child(1),
  .refunds-table td:nth-child(2) {
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* Refunds Table Columns */
  .refunds-table th:nth-child(3), /* Amount */
  .refunds-table td:nth-child(3) {
    width: 70px;
    min-width: 70px;
    max-width: 70px;
    text-align: left;
  }
  .refunds-table th:nth-child(5), /* Reason */
  .refunds-table td:nth-child(5) {
    width: 72px;
    min-width: 69px;
    max-width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: disabled;
  }
  .refunds-table th:nth-child(4), /* Status */
  .refunds-table td:nth-child(4) {
    width: 120px;
    min-width: 100px;
    max-width: 120px;
    text-align: center;
  }
}

@media (max-width: 576px) {
  .modal-dialog {
    margin: 0.5rem auto;
  }
}

.transactions-table table thead,
.refunds-table table thead {
  position: sticky;
  top: 0;
  background: white;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

@media (min-width: 768px) and (max-width: 1024px) {
  .row.g-4 > .col {
    flex: 0 0 50% !important; /* Force 2 columns */
    max-width: 42% !important;
  }
  .row.g-4 > .col:last-child:nth-child(odd) {
    margin-left: 25% !important; /* Push to center */
    flex: 0 0 50% !important;
  }
}

/* Main container with background image */
.main-container {
    position: relative;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  
  /* Background Image with watermark effect */
  .background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0.6;
  }

  /* .main-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(184, 239, 186, 0.4); 
  } */
  
  /* Content container (left and right) */
  .container {
    display: flex;
    justify-content: center;
    align-items:center;
    width: 100%;
    padding: 20px;
  }
  
  /* Left side content */
  .welcome-message {
    padding: 50px;
    text-align: left;
  }
  
  .welcome-message h1 {
    font-size: 3rem;
    font-weight: bold;
    z-index: 1;
  }
  
  .welcome-message p {
    font-size: 1.2rem;
    color: #cb0e1a !important;
  }
  
  /* Popup styles */
  .pin-popup {
    background-color: rgba(255, 255, 255, 0.9); /* Slight opacity for the popup */
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(232, 230, 230, 0.1);
  }
  
  .pin-popup-header {
    text-align: center;
    margin-bottom: 20px;
  }
  
  .pin-popup-header .logo {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  
  /* Form styling */
  .popup-form .form-group {
    margin-bottom: 15px;
  }
  
  .pin-popup-form .form-control {
    padding: 10px;
    font-size: 1rem;
  }
  
  .button-group {
    display: flex;
    justify-content: space-between;
  }
  
  .btn-pin-entry {
    width: 48%; /* Button width for login and logout */
    padding: 10px;
    border: none !important;
    border-radius: 5px;
  }
  
  .btn-pin-entry-primary {
    background-color: #028c45;
    color: #fff;
  }
  
  .btn-pin-entry-secondary {
    background-color: #cb0e1a;
    color: #fff;
  }
  
  /* Responsive styling */
  @media (max-width: 767px) {
    .pin-popup {
      padding: 20px;
    }
  
    .welcome-message h1 {
      font-size: 2rem;
    }

    .container{
        overflow-y: auto;
        height: 100vh;
    };
  }
  
.table thead tr th {
  background-color: #e5e4e2;
  color: #000;
  font-weight: 600;
  border-bottom: none;
}
.nav-tabs {
  border-bottom: 2px solid #dee2e6;
}

.nav-tabs .nav-link {
  border-radius: 0;
  margin-right: 0;
  border: none;
  padding: 12px 20px;
  color: #495057;
  font-weight: 500;
  border-bottom: 3px solid transparent;
}

.nav-tabs .nav-link:hover {
  border-color: transparent;
  border-bottom: 3px solid #dee2e6;
}

.nav-tabs .nav-link.active {
  color: #198754;
  background-color: transparent;
  border-color: transparent;
  border-bottom: 3px solid #198754;
}

.order-card {
  transition: all 0.3s ease;
  margin-bottom: 1rem;
}

.order-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.manage-orders > .card-header {
  font-weight: 600;
  padding: 1rem !important;
}

.badge {
  font-size: 0.8rem;
  font-weight: 500;
  padding: 0.35em 0.65em;
}

.bg-color-btn-green {
  background-color: #198754;
}

.color-white {
  color: white;
}

.no-border {
  border: none;
}

.border-radius-6 {
  border-radius: 6px;
}

.card-body p {
  margin-bottom: 0.5rem;
}

/* Responsive adjustments */
@media (max-width: 576px) {
  .card-body p {
    font-size: 0.9rem;
  }

  .card-header span {
    font-size: 0.85rem;
  }

  .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
  }
}

.menu-card {
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  max-width: 180px;
  margin: auto;
}

.menu-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.menu-card-img-container {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.menu-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in-out;
}

.menu-card:hover .menu-card-img {
  opacity: 0.3;
  transform: scale(1.05);
}

.menu-card-overlay {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  background: rgba(0, 0, 0, 0.1);
}

.menu-card:hover .menu-card-overlay {
  opacity: 1;
}

.menu-card-add-btn {
  background-color: #2bc566;
  border: none;
  border-radius: 50%;
  padding: 10px;
  color: white;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.menu-card-add-btn:hover {
  transform: scale(1.1);
  background-color: #2bc566;
}

.order-food-menu-section {
  height: calc(100vh - 104px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1rem;
}

.order-food-summary-section {
  height: calc(100vh - 104px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1rem;
}

/* Custom scrollbar for menu section */
.order-food-menu-section::-webkit-scrollbar,
.order-food-summary-section::-webkit-scrollbar {
  width: 6px;
}

.order-food-menu-section::-webkit-scrollbar-track,
.order-food-summary-section::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 6px;
}

.order-food-menu-section::-webkit-scrollbar-thumb,
.order-food-summary-section::-webkit-scrollbar-thumb {
  background: #2ecc71;
  border-radius: 6px;
}

.order-food-menu-section::-webkit-scrollbar-thumb:hover,
.order-food-summary-section::-webkit-scrollbar-thumb:hover {
  background: #27ae60;
}

@media (min-width: 768px) and (max-width: 850px) {
  .order-food-menu-section {
    width: 44vw !important;
    flex: 0 0 44vw !important;
    max-width: 44vw !important;
    min-width: 0 !important;
    padding-right: 0.5rem;
  }
  .order-food-summary-section {
    width: 56vw !important;
    flex: 0 0 56vw !important;
    max-width: 56vw !important;
    min-width: 220px !important;
    padding-left: 0.25rem;
  }
}

.global-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999999999999999999999999999999;
}

.modern-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  padding: 1rem;
  animation: fadeIn 0.3s ease;
}

.modern-popup-container {
  position: relative;
  background: white;
  border-radius: 20px;
  width: 100%;
  max-width: 24rem;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(0, 0, 0, 0.05);
  transform: scale(0.95);
  animation:
    slideUp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
    zoomPulse 2s ease-in-out infinite;
  overflow: hidden;
}

.modern-popup-container:hover {
  transform: translateY(-2px);
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.15),
    0 0 0 1px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.popup-content {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 2rem;
}

.popup-icon {
  position: relative;
  color: #f59e0b;
  flex-shrink: 0;
  animation: iconBounce 0.6s ease 0.2s both;
}

.pulse-dot {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 12px;
  height: 12px;
  background: #ef4444;
  border-radius: 50%;
  border: 2px solid white;
  animation: pulse 2s ease infinite;
}

.popup-info {
  flex: 1;
  min-width: 0;
}

.order-type {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.7rem;
  background: rgba(251, 146, 60, 0.1);
  border: 1px solid rgba(251, 146, 60, 0.2);
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #ea580c;
  margin-bottom: 0.75rem;
  animation: slideIn 0.5s ease 0.3s both;
}

.popup-message {
  font-size: 0.9rem;
  color: #6b7280;
  margin: 0 0 1.5rem;
  line-height: 1.4;
  animation: slideIn 0.5s ease 0.5s both;
}

.popup-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.cancel-btn,
.view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.7rem 1.2rem;
  border: none;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.cancel-btn {
  background: #f3f4f6;
  color: #374151;
  animation: slideIn 0.5s ease 0.55s both;
}

.cancel-btn:hover {
  background: #e5e7eb;
  transform: translateY(-1px);
}

.view-btn {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: white;
  animation: slideIn 0.5s ease 0.6s both;
}

.view-btn:hover {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
  transform: translateY(-1px);
}

.view-btn:hover svg {
  transform: translateX(2px);
}

.view-btn svg {
  transition: transform 0.2s ease;
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes zoomPulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.02);
  }
}

@keyframes iconBounce {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  60% {
    transform: scale(1.1);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.8;
  }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .modern-popup-container {
    background: #1f2937;
    box-shadow:
      0 20px 40px rgba(0, 0, 0, 0.3),
      0 0 0 1px rgba(255, 255, 255, 0.1);
  }

  .modern-close-btn {
    background: rgba(255, 255, 255, 0.1);
    color: #d1d5db;
  }

  .popup-message {
    color: #9ca3af;
  }

  .cancel-btn {
    background: rgba(255, 255, 255, 0.08);
    color: #e5e7eb;
  }

  .cancel-btn:hover {
    background: rgba(255, 255, 255, 0.14);
  }

  .order-type {
    background: rgba(251, 146, 60, 0.15);
    border-color: rgba(251, 146, 60, 0.3);
    color: #fbbf24;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .modern-popup-container {
    max-width: 100%;
    margin: 0 1rem;
  }

  .popup-content {
    padding: 1.5rem;
    gap: 1rem;
  }

  .popup-message {
    font-size: 0.85rem;
  }

  .view-btn {
    padding: 0.6rem 1rem;
    font-size: 0.8rem;
  }

  .popup-actions {
    flex-direction: column;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .modern-popup-container {
    animation: slideUp 0.4s ease forwards;
  }

  .popup-icon,
  .pulse-dot,
  .order-type,
  .popup-message,
  .view-btn {
    animation-duration: 0.3s !important;
    animation-iteration-count: 1 !important;
  }
}

/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
@layer properties;
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Roboto", sans-serif;
}
html,
body {
  height: 100%;
  overflow: auto;
  background-color: #f7faff;
}
.bg-color-global {
  background-color: #f7faff;
}
.bg-color-white {
  background-color: #fff;
}
.bg-color-black {
  background-color: black;
}
.bg-color-dark-green {
  background-color: #4caf50 !important;
}
.bg-color-sticky-header {
  background-color: #e6ecdf;
}
[data-bs-theme="dark"] .bg-color-sticky-header {
  background-color: #212529 !important;
}
.bg-color-btn-green {
  background-color: #028c45 !important;
}
.bg-color-gray {
  background-color: #ccc !important;
}
.bg-color-light-gray {
  background-color: #b8b8b8 !important;
}
.bg-color-dark-gray {
  background-color: #808080 !important;
}
.bg-color-red {
  background-color: #cb0e1a !important;
}
.bg-color-login-input {
  background-color: #e2dfdf;
}
.bg-color-orange {
  background-color: #f97316 !important;
}
.bg-color-orange1 {
  background-color: #f39c12 !important;
}
.bg-color-purple {
  background-color: #6c5ce7 !important;
}
.bg-transparent {
  background-color: transparent !important;
}
.color-green {
  color: #028c45 !important;
}
.color-dark-green {
  color: #4caf50 !important;
}
.color-orange {
  color: #f97316 !important;
}
.color-light-green {
  color: #e3f0e8 !important;
}
.color-red {
  color: #cb0e1a !important;
}
.color-light-gray {
  color: #b8b8b8 !important;
}
.color-dark-gray {
  color: #808080 !important;
}
.color-gray {
  color: #ccc !important;
}
.color-white {
  color: #fff !important;
}
.color-black {
  color: black !important;
}
.color-wheat {
  color: wheat;
}
.border-color-green {
  border-color: #028c45 !important;
}
.no-border {
  border: none;
}
.border-radius-2 {
  border-radius: 2px;
}
.border-radius-4 {
  border-radius: 4px;
}
.border-radius-6 {
  border-radius: 6px;
}
.border-radius-8 {
  border-radius: 8px;
}
.action-button {
  border: none;
  background-color: transparent;
  font-size: 1.5rem;
}
.w-30 {
  width: 30% !important;
}
.w-48 {
  width: 48% !important;
}
.w-49 {
  width: 48.5% !important;
}
.w-46 {
  width: 46% !important;
}
.w-70 {
  width: 60% !important;
}
.w-80 {
  width: 85% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.details-info.margin-0 {
  margin: 0px !important;
}
.datepicker > .react-datepicker-wrapper {
  width: 100%;
}
.fs-12 {
  font-size: 12px;
}
.fs-14 {
  font-size: 14px;
}
.fs-16 {
  font-size: 16px;
}
.fs-18 {
  font-size: 18px;
}
.fs-20 {
  font-size: 20px;
}
.fs-22 {
  font-size: 22px;
}
.fs-24 {
  font-size: 24px;
}
.fs-26 {
  font-size: 26px;
}
.fs-28 {
  font-size: 28px;
}
.fs-30 {
  font-size: 30px;
}
.fs-32 {
  font-size: 32px;
}
.fs-34 {
  font-size: 34px;
}
.fs-36 {
  font-size: 36px;
}
::-webkit-scrollbar {
  height: 10px;
  width: 6px;
  background: #d6d6d6;
  border-radius: 1ex;
}
.row .details-info {
  margin: 0px;
}
::-webkit-scrollbar-thumb {
  background: #b6b6b6;
  -webkit-border-radius: 1ex;
}
::-webkit-scrollbar-corner {
  background: #f6f6f6;
}
.first_column,
.middle_column,
.last_column {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  vertical-align: middle;
}
.first_column {
  border-left: 1px solid #e5e5e5;
}
.last_column {
  border-right: 1px solid #e5e5e5;
}
.modal-height > .modal-dialog > .modal-content {
  height: auto;
}
.prep-box-height > .modal-dialog > .modal-content {
  height: 32vh;
}
.verify-otp-modal > .modal-dialog > .modal-content {
  height: auto;
  max-height: 80vh;
  overflow: hidden;
  padding-bottom: 1rem;
}
.modal-body-scroll {
  max-height: 65vh;
  overflow-y: auto;
  display: table-caption;
}
.modifier-body-scroll {
  max-height: 75vh;
  overflow-y: auto;
  display: table-caption;
}
.modifier-modal .modal-content {
  height: auto;
  background-color: #f6f6f6;
}
.view-special-request .modal-content {
  height: 36vh;
  width: 30vw;
  background-color: #f6f6f6;
}
.sub-modifier {
  overflow-y: auto;
  padding-right: 16px;
}
@media only screen and (min-height: 650px) and (max-height: 675px) {
  .sub-modifier {
    max-height: 120px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 676px) and (max-height: 700px) {
  .sub-modifier {
    max-height: 140px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 701px) and (max-height: 725px) {
  .sub-modifier {
    max-height: 160px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 726px) and (max-height: 750px) {
  .sub-modifier {
    max-height: 180px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 751px) and (max-height: 775px) {
  .sub-modifier {
    max-height: 200px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 776px) and (max-height: 800px) {
  .sub-modifier {
    max-height: 210px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 801px) and (max-height: 825px) {
  .sub-modifier {
    max-height: 230px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 826px) and (max-height: 850px) {
  .sub-modifier {
    max-height: 240px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 851px) and (max-height: 875px) {
  .sub-modifier {
    max-height: 260px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 875px) and (max-height: 900px) {
  .sub-modifier {
    max-height: 280px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
@media only screen and (min-height: 901px) {
  .sub-modifier {
    max-height: 300px;
    overflow-y: auto;
    padding-right: 16px;
  }
}
input[type="text"],
input[type="email"],
input[type="time"],
input[type="password"],
input[type="number"],
select {
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  font-size: 12px;
  color: black !important;
}
.form-control:focus {
  border-color: #e2dfdf !important;
  box-shadow: 0 0 0 0.25rem rgba(226, 223, 223, 0.25);
}
.special-request-close-btn {
  border-radius: 50%;
  background-color: #23262b;
  border: none;
  width: 2.7rem;
  height: 2.5rem;
  opacity: unset;
  font-size: 20px;
  font-weight: 800;
}
.mr2 {
  margin-right: 4px;
}
.radio-group div {
  display: inline-block;
  margin-right: 20px;
}
.nav__icons {
  position: relative;
}
.nav__icons img {
  vertical-align: middle;
}
.nav__icons:hover .tooltip {
  visibility: visible;
  opacity: 1;
}
.tooltip {
  visibility: hidden;
  position: absolute;
  top: 50%;
  left: calc(100% + 8px);
  transform: translateY(-50%);
  background-color: green;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  z-index: 2;
}
.menu-name {
  position: relative;
  color: #018c45;
  padding: 2px;
  font-weight: 500;
  border-radius: 4px;
  white-space: nowrap;
  font-size: 18px;
  text-align: center;
}
.nav-link {
  text-decoration: none;
}
.nav-link.active .menu-name {
  background-color: #018c45;
  color: white !important;
  padding: 4px 8px;
}
.nav-link:hover .menu-name {
  background-color: #56a76e;
  color: white !important;
  padding: 4px 8px;
}
.p-06 {
  padding: 0.6rem;
}
.search-food-item {
  display: flex;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #ccc;
  position: relative;
}
.search-input {
  width: 100%;
  padding-right: 35px;
  padding-left: 10px;
  border-radius: 4px;
  outline: none;
  margin-top: 0px !important;
  font-size: 18px !important;
  border: none !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.search-icon {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.reset-icon {
  cursor: pointer;
  color: red;
  font-weight: bold;
  border: none;
  background-color: transparent;
  font-size: 20px;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #e2dfdf inset !important;
  box-shadow: 0 0 0px 1000px #e2dfdf inset !important;
}
.save-edit {
  background-color: transparent !important;
  color: #018c45;
  border: none !important;
  border-radius: 0.5rem;
}
.save-edit > .save-edit-icon {
  width: 28px;
  height: 28px;
}
.checkout-form > .modal-dialog > .modal-content {
  height: 40vh;
}
.h-3 {
  height: 3rem;
}
.h-100 {
  height: 100% !important;
}
.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.fw-700 {
  font-weight: 700;
}
.table-row-background-green {
  background-color: #edfeff !important;
  color: black !important;
  border: none;
}
.table-row-background-red-new {
  background-color: #edfeff !important;
  color: #cb0e1a !important;
  border: none;
  font-weight: 500;
}
.table-row-background-red {
  color: #cb0e1a !important;
  font-weight: 500;
}
.table-row-background-light-orange {
  background-color: #ffd580 !important;
  color: white !important;
}
.cursor-not-allowed {
  cursor: not-allowed !important;
}
.cursor-pointer {
  cursor: pointer !important;
}
.modal-deliveryfee {
  z-index: 2000002 !important;
  background: rgba(0, 0, 0, 0.5);
}
.btn-prep.btn-primary {
  background-color: #018c45 !important;
  border-color: #018c45 !important;
  color: white !important;
}
.btn-prep.btn-primary:hover {
  background-color: #016837 !important;
  border-color: #016837 !important;
}
.btn-prep.btn-outline-primary {
  color: #018c45 !important;
  border-color: #018c45 !important;
  background-color: transparent !important;
}
.btn-prep.btn-outline-primary:hover {
  background-color: #018c45 !important;
  color: white !important;
  border-color: #018c45 !important;
}
.btn-prep.btn-primary:disabled {
  background-color: #6ea965 !important;
  border-color: #6ea965 !important;
  color: #fff !important;
  font-weight: 500;
}
.btn-prep.btn-outline-primary:disabled {
  color: #6ea965 !important;
  border-color: #6ea965 !important;
  background-color: transparent !important;
  font-weight: 500;
}
#cartpopup {
  position: relative;
  overflow: hidden;
}
.react-datepicker {
  z-index: 1050 !important;
}
.new-bookings-header {
  position: fixed;
  top: 100px;
  left: 20px;
  z-index: 1050;
  background-color: #fff;
  border-bottom: 2px solid #ccc;
  width: calc(100% - 40px);
  text-align: center;
  font-weight: bold;
}
.new-bookings-header th {
  padding: 12px;
  font-size: 1rem;
  color: #333;
}
.modal-body-scroll {
  margin-top: 120px;
}
.create-booking-btn {
  background-color: "#D27E00";
  color: "#fff";
  border: "none";
  border-radius: "0.50rem";
  width: "100%";
}
.disabled-create-booking-btn {
  cursor: not-allowed;
  border: "none";
  border-radius: "0.50rem";
  width: "100%";
  background: #e5e5e5;
}
.seating-date-picker > .react-datepicker-wrapper {
  width: 70% !important;
}
.profile-menu {
  font-weight: bold;
  font-size: 18px;
  color: black !important;
  cursor: default;
}
.equal-height-container {
  display: flex;
  flex-wrap: wrap;
}
.equal-height-column {
  display: flex;
  flex-direction: column;
}
.equal-height-column > div {
  flex-grow: 1;
}
.edit-offer-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 999999999;
}
.edit-offer-container.show {
  display: flex;
}
.edit-offer-container form {
  background: #fff;
  width: 32rem;
  z-index: 100001;
  border-radius: 0.4rem;
  padding: 1rem;
}
[data-bs-theme="dark"] .side-nav {
  background-color: #212529 !important;
  color: white !important;
}
[data-bs-theme="dark"] .app__header {
  background-color: #212529 !important;
  color: white !important;
}
[data-bs-theme="dark"] .main {
  background-color: #212529 !important;
  color: white !important;
}
.details {
  color: #018c45;
  text-decoration: none;
  border: none;
  background-color: transparent;
}
.border-radius-12 {
  border-radius: 12px;
}
.border-radius-16 {
  border-radius: 16px;
}
.border-radius-pill {
  border-radius: 999px;
}
@layer theme, base, components, utilities;
@media prefix,(ux) {
  @layer theme {
    :root, :host {
      --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
      --color-white: #fff;
      --spacing: 0.25rem;
      --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
      --default-transition-duration: 150ms;
      --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
  }
}
@media prefix,(ux) {
  @layer utilities {
    .visible {
      visibility: visible;
    }
    .absolute {
      position: absolute;
    }
    .fixed {
      position: fixed;
    }
    .relative {
      position: relative;
    }
    .static {
      position: static;
    }
    .sticky {
      position: sticky;
    }
    .start-100 {
      inset-inline-start: calc(var(--spacing) * 100);
    }
    .end-0 {
      inset-inline-end: calc(var(--spacing) * 0);
    }
    .top-0 {
      top: calc(var(--spacing) * 0);
    }
    .bottom-0 {
      bottom: calc(var(--spacing) * 0);
    }
    .col-2 {
      grid-column: 2;
    }
    .col-3 {
      grid-column: 3;
    }
    .col-4 {
      grid-column: 4;
    }
    .col-5 {
      grid-column: 5;
    }
    .col-6 {
      grid-column: 6;
    }
    .col-7 {
      grid-column: 7;
    }
    .col-8 {
      grid-column: 8;
    }
    .col-9 {
      grid-column: 9;
    }
    .col-10 {
      grid-column: 10;
    }
    .col-12 {
      grid-column: 12;
    }
    .container {
      width: 100%;
      @media (width >= 40rem) {
        max-width: 40rem;
      }
      @media (width >= 48rem) {
        max-width: 48rem;
      }
      @media (width >= 64rem) {
        max-width: 64rem;
      }
      @media (width >= 80rem) {
        max-width: 80rem;
      }
      @media (width >= 96rem) {
        max-width: 96rem;
      }
    }
    .m-0 {
      margin: calc(var(--spacing) * 0);
    }
    .m-1 {
      margin: calc(var(--spacing) * 1);
    }
    .mx-0 {
      margin-inline: calc(var(--spacing) * 0);
    }
    .mx-1 {
      margin-inline: calc(var(--spacing) * 1);
    }
    .mx-2 {
      margin-inline: calc(var(--spacing) * 2);
    }
    .my-0 {
      margin-block: calc(var(--spacing) * 0);
    }
    .my-1 {
      margin-block: calc(var(--spacing) * 1);
    }
    .my-2 {
      margin-block: calc(var(--spacing) * 2);
    }
    .my-3 {
      margin-block: calc(var(--spacing) * 3);
    }
    .ms-1 {
      margin-inline-start: calc(var(--spacing) * 1);
    }
    .ms-2 {
      margin-inline-start: calc(var(--spacing) * 2);
    }
    .ms-auto {
      margin-inline-start: auto;
    }
    .me-1 {
      margin-inline-end: calc(var(--spacing) * 1);
    }
    .me-2 {
      margin-inline-end: calc(var(--spacing) * 2);
    }
    .me-3 {
      margin-inline-end: calc(var(--spacing) * 3);
    }
    .me-auto {
      margin-inline-end: auto;
    }
    .mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }
    .mt-1 {
      margin-top: calc(var(--spacing) * 1);
    }
    .mt-2 {
      margin-top: calc(var(--spacing) * 2);
    }
    .mt-3 {
      margin-top: calc(var(--spacing) * 3);
    }
    .mt-4 {
      margin-top: calc(var(--spacing) * 4);
    }
    .mt-5 {
      margin-top: calc(var(--spacing) * 5);
    }
    .mt-auto {
      margin-top: auto;
    }
    .mr-1 {
      margin-right: calc(var(--spacing) * 1);
    }
    .mb-0 {
      margin-bottom: calc(var(--spacing) * 0);
    }
    .mb-1 {
      margin-bottom: calc(var(--spacing) * 1);
    }
    .mb-2 {
      margin-bottom: calc(var(--spacing) * 2);
    }
    .mb-3 {
      margin-bottom: calc(var(--spacing) * 3);
    }
    .mb-4 {
      margin-bottom: calc(var(--spacing) * 4);
    }
    .block {
      display: block;
    }
    .flex {
      display: flex;
    }
    .grid {
      display: grid;
    }
    .hidden {
      display: none;
    }
    .inline {
      display: inline;
    }
    .inline-block {
      display: inline-block;
    }
    .inline-flex {
      display: inline-flex;
    }
    .table {
      display: table;
    }
    .table-row {
      display: table-row;
    }
    .h-3 {
      height: calc(var(--spacing) * 3);
    }
    .h-100 {
      height: calc(var(--spacing) * 100);
    }
    .w-30 {
      width: calc(var(--spacing) * 30);
    }
    .w-50 {
      width: calc(var(--spacing) * 50);
    }
    .w-70 {
      width: calc(var(--spacing) * 70);
    }
    .w-80 {
      width: calc(var(--spacing) * 80);
    }
    .w-100 {
      width: calc(var(--spacing) * 100);
    }
    .w-auto {
      width: auto;
    }
    .flex-grow {
      flex-grow: 1;
    }
    .flex-grow-1 {
      flex-grow: 1;
    }
    .border-collapse {
      border-collapse: collapse;
    }
    .transform {
      transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
    }
    .cursor-not-allowed {
      cursor: not-allowed;
    }
    .cursor-pointer {
      cursor: pointer;
    }
    .resize {
      resize: both;
    }
    .flex-wrap {
      flex-wrap: wrap;
    }
    .gap-2 {
      gap: calc(var(--spacing) * 2);
    }
    .gap-3 {
      gap: calc(var(--spacing) * 3);
    }
    .gap-4 {
      gap: calc(var(--spacing) * 4);
    }
    .overflow-auto {
      overflow: auto;
    }
    .overflow-hidden {
      overflow: hidden;
    }
    .overflow-y-auto {
      overflow-y: auto;
    }
    .rounded {
      border-radius: 0.25rem;
    }
    .border {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
    .border-0 {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
    .border-2 {
      border-style: var(--tw-border-style);
      border-width: 2px;
    }
    .bg-transparent {
      background-color: transparent;
    }
    .bg-white {
      background-color: var(--color-white);
    }
    .p-0 {
      padding: calc(var(--spacing) * 0);
    }
    .p-1 {
      padding: calc(var(--spacing) * 1);
    }
    .p-2 {
      padding: calc(var(--spacing) * 2);
    }
    .p-3 {
      padding: calc(var(--spacing) * 3);
    }
    .p-4 {
      padding: calc(var(--spacing) * 4);
    }
    .px-0 {
      padding-inline: calc(var(--spacing) * 0);
    }
    .px-1 {
      padding-inline: calc(var(--spacing) * 1);
    }
    .px-2 {
      padding-inline: calc(var(--spacing) * 2);
    }
    .px-3 {
      padding-inline: calc(var(--spacing) * 3);
    }
    .px-4 {
      padding-inline: calc(var(--spacing) * 4);
    }
    .px-5 {
      padding-inline: calc(var(--spacing) * 5);
    }
    .py-0 {
      padding-block: calc(var(--spacing) * 0);
    }
    .py-1 {
      padding-block: calc(var(--spacing) * 1);
    }
    .py-2 {
      padding-block: calc(var(--spacing) * 2);
    }
    .py-3 {
      padding-block: calc(var(--spacing) * 3);
    }
    .py-4 {
      padding-block: calc(var(--spacing) * 4);
    }
    .py-5 {
      padding-block: calc(var(--spacing) * 5);
    }
    .ps-0 {
      padding-inline-start: calc(var(--spacing) * 0);
    }
    .ps-1 {
      padding-inline-start: calc(var(--spacing) * 1);
    }
    .ps-2 {
      padding-inline-start: calc(var(--spacing) * 2);
    }
    .ps-3 {
      padding-inline-start: calc(var(--spacing) * 3);
    }
    .ps-4 {
      padding-inline-start: calc(var(--spacing) * 4);
    }
    .pe-0 {
      padding-inline-end: calc(var(--spacing) * 0);
    }
    .pe-2 {
      padding-inline-end: calc(var(--spacing) * 2);
    }
    .pt-0 {
      padding-top: calc(var(--spacing) * 0);
    }
    .pt-2 {
      padding-top: calc(var(--spacing) * 2);
    }
    .pt-3 {
      padding-top: calc(var(--spacing) * 3);
    }
    .pr-0 {
      padding-right: calc(var(--spacing) * 0);
    }
    .pb-0 {
      padding-bottom: calc(var(--spacing) * 0);
    }
    .pb-2 {
      padding-bottom: calc(var(--spacing) * 2);
    }
    .pb-3 {
      padding-bottom: calc(var(--spacing) * 3);
    }
    .pl-0 {
      padding-left: calc(var(--spacing) * 0);
    }
    .pl-12 {
      padding-left: calc(var(--spacing) * 12);
    }
    .text-center {
      text-align: center;
    }
    .text-end {
      text-align: end;
    }
    .text-left {
      text-align: left;
    }
    .text-start {
      text-align: start;
    }
    .font-sans {
      font-family: var(--font-sans);
    }
    .text-white {
      color: var(--color-white);
    }
    .capitalize {
      text-transform: capitalize;
    }
    .uppercase {
      text-transform: uppercase;
    }
    .italic {
      font-style: italic;
    }
    .shadow {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .shadow-sm {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .outline {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
    }
    .filter {
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
    .transition {
      transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
    .ease-in-out {
      --tw-ease: var(--ease-in-out);
      transition-timing-function: var(--ease-in-out);
    }
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }
  }
}

