@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Open+Sans&display=swap");@import url("https://fonts.googleapis.com/css2?family=Poppins&display=swap");.floating-info-view[data-v-5bc15319] {
  position: absolute;
  right: 16px;
  z-index: 15;
  width: 560px;
  min-height: 192px;
  max-height: 80vh;
  pointer-events: auto;
  transition: left 0.2s ease-out, right 0.2s ease-out, bottom 0.2s ease-out;
}
@media (max-width: 768px) {
.floating-info-view[data-v-5bc15319] {
    width: calc(100vw - 32px);
    max-width: 560px;
    right: 16px;
    left: 16px;
    transition: bottom 0.2s ease-out;
}
}
.info-content[data-v-5bc15319] {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  padding: 16px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  box-shadow: 0px 12px 24px 1px rgba(0, 0, 0, 0.25), 0px 0px 24px 1px rgba(0, 0, 0, 0.15);
  min-height: 160px;
  box-sizing: border-box;
}
.image-container[data-v-5bc15319] {
  flex-shrink: 0;
  margin-right: 12px;
}
.place-image[data-v-5bc15319] {
  width: 160px;
  height: 160px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid #e4e4e7;
}
.image-carousel[data-v-5bc15319] {
  position: relative;
}
.carousel-container[data-v-5bc15319] {
  position: relative;
  display: inline-block;
}
.carousel-btn[data-v-5bc15319] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  z-index: 2;
  transition: background-color 0.2s ease;
}
.carousel-btn[data-v-5bc15319]:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.7);
}
.carousel-btn[data-v-5bc15319]:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.carousel-btn-prev[data-v-5bc15319] {
  left: 8px;
}
.carousel-btn-next[data-v-5bc15319] {
  right: 8px;
}
.carousel-indicators[data-v-5bc15319] {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
}
.indicator[data-v-5bc15319] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.indicator.active[data-v-5bc15319] {
  background: rgba(255, 255, 255, 0.9);
}
.indicator[data-v-5bc15319]:hover {
  background: rgba(255, 255, 255, 0.8);
}
.content-section[data-v-5bc15319] {
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.header-section[data-v-5bc15319] {
  display: flex;
  align-self: stretch;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 12px;
}
.title-tags-row[data-v-5bc15319] {
  display: flex;
  align-self: stretch;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 16px;
}
.place-title[data-v-5bc15319] {
  flex: 1;
  color: #404040;
  font-size: 18px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  margin: 0;
  line-height: 1.2;
  min-width: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.category-tag[data-v-5bc15319] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 16px;
  flex-shrink: 0;
  margin-left: 8px;
}
.category-tag-text[data-v-5bc15319] {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.edit-icon-container[data-v-5bc15319] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: pointer;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.edit-icon-container[data-v-5bc15319]:hover {
  transform: scale(1.15);
}
.edit-icon-container:hover .edit-icon[data-v-5bc15319] {
  color: var(--primary-700, #0369a1);
}
.edit-icon[data-v-5bc15319] {
  width: 16px;
  height: 16px;
  color: var(--primary-600, #0284c7);
  transition: color 0.2s ease;
}
.tags-container[data-v-5bc15319] {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 8px;
  flex-shrink: 0;
}
.tag[data-v-5bc15319] {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 10px;
  padding: 2px 10px;
  border-radius: 9999px;
  border: 1px solid;
}
.tag-primary[data-v-5bc15319] {
  background: #ffffff;
  border-color: #8c7c51;
}
.tag-secondary[data-v-5bc15319] {
  background: #d8d1bc;
  border-color: rgba(255, 255, 255, 0);
}
.tag-text[data-v-5bc15319] {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
}
.tag-primary .tag-text[data-v-5bc15319] {
  color: #8c7c51;
}
.tag-secondary .tag-text[data-v-5bc15319] {
  color: #655a3b;
}
.description-container[data-v-5bc15319] {
  overflow: hidden;
}
.place-description[data-v-5bc15319] {
  align-self: stretch;
  color: #262626;
  font-family: "Roboto", sans-serif;
  margin: 0;
  line-height: 1.4;
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.details-section[data-v-5bc15319] {
  display: flex;
  align-self: stretch;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}
.detail-row[data-v-5bc15319] {
  display: flex;
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 12px;
}
.detail-row .icon-container[data-v-5bc15319] {
  color: var(--v44a967b6);
}
.icon-container[data-v-5bc15319] {
  flex-shrink: 0;
}
.detail-icon[data-v-5bc15319] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.detail-icon-svg[data-v-5bc15319] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.detail-text[data-v-5bc15319] {
  flex: 1;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  margin: 0;
  font-size: 14px;
}
.detail-text.no-icon[data-v-5bc15319] {
  margin-left: 0;
}
.opening-hours-container[data-v-5bc15319] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-self: stretch;
}
.opening-hours-header-row[data-v-5bc15319] {
  margin-bottom: 0;
}
.opening-hours-title[data-v-5bc15319] {
  font-weight: 600 !important;
}
.opening-hours-groups[data-v-5bc15319] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 32px;
}
.hours-group[data-v-5bc15319] {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: baseline;
  font-size: 13px;
}
.hours-days[data-v-5bc15319] {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 13px;
  min-width: 80px;
  flex-shrink: 0;
}
.hours-times[data-v-5bc15319] {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 13px;
  flex: 1;
}
@media (max-width: 640px) {
.floating-info-view[data-v-5bc15319] {
    width: calc(100vw - 24px);
    right: 12px;
    left: 12px;
    bottom: 70px;
    min-height: auto;
}
.info-content[data-v-5bc15319] {
    flex-direction: column;
    min-height: auto;
}
.image-container[data-v-5bc15319] {
    margin-right: 0;
    margin-bottom: 12px;
    align-self: center;
}
.place-image[data-v-5bc15319] {
    width: 120px;
    height: 120px;
}
.title-tags-row[data-v-5bc15319] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.tags-container[data-v-5bc15319] {
    align-self: flex-start;
}
.opening-hours-groups[data-v-5bc15319] {
    margin-left: 0;
}
.hours-group[data-v-5bc15319] {
    font-size: 12px;
}
.hours-days[data-v-5bc15319] {
    min-width: 60px;
    font-size: 12px;
}
.hours-times[data-v-5bc15319] {
    font-size: 12px;
}
.directions-button-container[data-v-5bc15319] {
    padding-top: 8px;
}
}
.directions-button-container[data-v-5bc15319] {
  margin-top: auto;
  padding-top: 12px;
  display: flex;
  justify-content: flex-end;
  align-self: stretch;
}
.directions-btn[data-v-5bc15319] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid;
  background-color: var(--primary-color, #0284c7);
  color: white;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, transform 0.1s ease;
}
.directions-btn[data-v-5bc15319]:hover:not(:disabled) {
  opacity: 0.9;
  transform: translateY(-1px);
}
.directions-btn[data-v-5bc15319]:active:not(:disabled) {
  transform: translateY(0);
}
.directions-btn[data-v-5bc15319]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.directions-btn .directions-icon[data-v-5bc15319] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.directions-btn-close[data-v-5bc15319]:hover:not(:disabled) {
  opacity: 0.85;
}
@media (max-width: 640px) {
.directions-btn[data-v-5bc15319] {
    width: 100%;
    padding: 10px 16px;
}
}
.color-preview[data-v-9f6a647e] {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.color-preview[data-v-9f6a647e]:hover {
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.no-color[data-v-9f6a647e] {
  position: relative;
  background: white;
}
.no-color[data-v-9f6a647e]::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #aaaaaa;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-45deg);
}
.no-color-text[data-v-9f6a647e]::after {
  content: "";
}
.icon-upload-container[data-v-9f6a647e] {
  width: 100%;
}
.icon-upload-area[data-v-9f6a647e] {
  width: 100%;
  height: 60px;
  border: 2px dashed #ccc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  background: #f8f9fa;
}
.icon-upload-area[data-v-9f6a647e]:hover {
  border-color: #007bff;
  background: #f0f8ff;
}
.icon-upload-area.is-dragover[data-v-9f6a647e] {
  border-color: #007bff;
  background: #e3f2fd;
  transform: scale(1.02);
}
.icon-upload-area.has-icon[data-v-9f6a647e] {
  border-style: solid;
  border-color: #28a745;
  background: white;
}
.icon-preview[data-v-9f6a647e] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-remove-btn[data-v-9f6a647e] {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  background: #dc3545;
  color: white;
  border: 2px solid white;
  cursor: pointer;
  z-index: 10;
}
.icon-upload-placeholder[data-v-9f6a647e] {
  text-align: center;
  color: #666;
}
.upload-icon[data-v-9f6a647e] {
  font-size: 20px;
  margin-bottom: 4px;
}
.upload-text[data-v-9f6a647e] {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
}
.gap-2[data-v-9f6a647e] {
  gap: 0.5rem;
}
.gap-3[data-v-9f6a647e] {
  gap: 0.75rem;
}
.gap-4[data-v-9f6a647e] {
  gap: 1rem;
}

/* Icon search results styles */
.icon-search-results[data-v-9f6a647e] {
  max-width: 100%;
}
.results-header[data-v-9f6a647e] {
  color: #666;
  font-size: 12px;
}
.results-grid[data-v-9f6a647e] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-height: 200px;
  overflow-y: auto;
  padding: 8px;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}
.icon-result-item[data-v-9f6a647e] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  padding: 8px;
}
.icon-result-item[data-v-9f6a647e]:hover {
  border-color: #007bff;
  background: #f0f8ff;
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
}
.icon-result-image[data-v-9f6a647e] {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.pin-content-toggle[data-v-9f6a647e] {
  width: 100%;
}
.pin-content-toggle .v-btn[data-v-9f6a647e] {
  flex: 1;
}

/* Subcategories list styles */
.subcategories-list[data-v-9f6a647e] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background: white;
}
.subcategories-list .category-item[data-v-9f6a647e] {
  transition: background-color 0.2s;
}
.subcategories-list .category-item[data-v-9f6a647e]:hover {
  background-color: #f8f9fa;
}

/* Info Card Preview Styles */
.info-card-preview[data-v-9f6a647e] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 16px;
  background: #f8f9fa;
}
.preview-container[data-v-9f6a647e] {
  position: relative;
  width: 100%;
  min-height: 200px;
  /* Remove the absolute positioning from FloatingInfoView when in preview */
}
.preview-container[data-v-9f6a647e] .floating-info-view {
  position: relative !important;
  bottom: auto !important;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 192px !important;
  z-index: 1 !important;
}
.preview-container[data-v-9f6a647e] .info-content {
  height: auto !important;
  min-height: 160px !important;
}

.item-row-container[data-v-4c2ab366] {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0; /* Allow shrinking below content size in flex/grid parents */
  overflow: hidden; /* Prevent content from overflowing and being cut on the right */
  padding: 8px 0;
  border: 2px solid transparent;
  border-bottom: 2px solid #e0e0e0;
  border-radius: 4px;
  min-height: 60px;
  transition: all 0.2s ease;
  box-sizing: border-box;
  position: relative;
}
.item-row-container.group-item[data-v-4c2ab366] {
  background-color: #f8f9fa;
}
.item-row-container.internal-item[data-v-4c2ab366] {
  background-color: #fff;
  border: 2px solid transparent;
  border-left: 2px solid #dee2e6;
  border-bottom: 2px solid #e0e0e0;
  border-radius: 4px;
  box-sizing: border-box;
  margin-left: -2px;
}
.item-row-container[data-v-4c2ab366]:hover {
  background-color: rgba(0, 123, 255, 0.05);
}
.item-row-container.selected[data-v-4c2ab366] {
  background-color: rgba(0, 123, 255, 0.1);
  border: 2px solid #007bff;
  border-bottom: 2px solid #007bff;
  border-radius: 4px;
}
.item-row-container.internal-selected[data-v-4c2ab366] {
  background-color: rgba(0, 123, 255, 0.05);
  border: 2px solid #007bff;
  border-bottom: 2px solid #007bff;
  border-radius: 4px;
}
.item-row-container.hidden[data-v-4c2ab366] {
  opacity: 0.6;
  background-color: #f8f9fa;
}

/* New 4-stack layout */
.item-row-stacks[data-v-4c2ab366] {
  display: grid;
  grid-template-columns:
    minmax(0, auto) /* Stack 1: Count/Color/Checkbox - shrink to content */
    minmax(0, 1fr) /* Stack 2: Name/Category - flexible, can shrink (minmax(0,1fr) prevents content from pushing) */
    minmax(90px, 90px) /* Stack 3: Number/Type - fixed 90px, never shrinks */
    minmax(90px, 90px); /* Stack 4: Visibility/Height - fixed 90px, never shrinks */
  gap: 8px;
  align-items: stretch;
  width: 100%;
  min-width: 0; /* Allow grid to shrink below content size */
  min-height: 80px;
}
.stack-column[data-v-4c2ab366] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0;
  width: 100%;
  min-width: 0; /* Allow column to shrink so content doesn't push layout */
  box-sizing: border-box;
}
.stack-item[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  min-height: 32px;
  width: 100%;
}

/* Stack item styles */
.index-item[data-v-4c2ab366] {
  justify-content: center;
  padding: 0;
}
.index-number[data-v-4c2ab366] {
  font-size: 0.75rem;
  color: #666;
  font-weight: 500;
}
.color-item[data-v-4c2ab366] {
  justify-content: center;
  padding: 0;
}
.color-container[data-v-4c2ab366] {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #ddd;
}
.color-circle[data-v-4c2ab366] {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.color-input[data-v-4c2ab366] {
  width: 100%;
  height: 100%;
  border: none;
  cursor: pointer;
  background: none;
}
.color-input[data-v-4c2ab366]::-webkit-color-swatch-wrapper {
  padding: 0;
}
.color-input[data-v-4c2ab366]::-webkit-color-swatch {
  border: none;
}

/* Clickable/InPath row styles - checkbox + label pairs on same line */
.clickable-inpath-row[data-v-4c2ab366] {
  justify-content: flex-start;
  padding: 0;
  min-height: 20px;
  width: 100%;
  gap: 12px; /* Space between the two checkbox-label groups */
}
.checkbox-label-group[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  gap: 4px; /* Space between checkbox and its label */
}
.clickable-checkbox[data-v-4c2ab366],
.inpath-checkbox[data-v-4c2ab366] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  margin: 0;
  flex-shrink: 0;
}
.clickable-label[data-v-4c2ab366],
.inpath-label[data-v-4c2ab366] {
  font-size: 0.7rem;
  color: #666;
  font-weight: 500;
  margin: 0;
  padding: 2px 4px;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  line-height: 1.2;
}
.clickable-status-label[data-v-4c2ab366],
.inpath-status-label[data-v-4c2ab366] {
  font-size: 0.7rem;
  color: #666;
  font-weight: 500;
  margin: 0;
  padding: 4px 8px;
  white-space: nowrap;
  line-height: 1.2;
}

/* Name and category stack items */
.name-item[data-v-4c2ab366],
.category-item[data-v-4c2ab366] {
  min-width: 0;
}

/* Name: wrap to multiple lines instead of pushing content horizontally */
.name-item[data-v-4c2ab366] {
  align-items: flex-start; /* Top-align when name wraps to multiple lines */
}
.name-item .name-display[data-v-4c2ab366] {
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  overflow: hidden;
  text-overflow: unset; /* Allow wrapping, not ellipsis */
  align-items: flex-start;
  line-height: 1.3;
}

/* Number and type stack items */
.number-item[data-v-4c2ab366],
.type-item[data-v-4c2ab366] {
  min-width: 0;
}
.number-container[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 90px;
}
.number-label[data-v-4c2ab366] {
  font-size: 0.75rem;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
}
.number-input[data-v-4c2ab366] {
  flex: 1;
  min-width: 0;
  padding: 4px 6px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.75rem;
  background: white;
  outline: none;
  box-sizing: border-box;
}
.number-input[data-v-4c2ab366]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}
.number-display[data-v-4c2ab366] {
  font-size: 0.75rem;
  color: #333;
  width: 90px;
  text-align: center;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

/* Height stack item */
.height-item[data-v-4c2ab366] {
  min-width: 0;
  justify-content: flex-end;
  padding: 0;
}
.height-container[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 90px;
  justify-content: flex-end;
  padding: 0;
}
.height-label[data-v-4c2ab366] {
  font-size: 0.75rem;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
}
.height-input[data-v-4c2ab366] {
  flex: 1;
  min-width: 25px;
  max-width: 40px;
}
.height-display[data-v-4c2ab366] {
  font-size: 0.75rem;
  color: #333;
  width: 40px;
  text-align: center;
}

/* ── Pattern / Image slot (Stack 4 row 2) ─────────────────────────────────── */
.pattern-slot-item[data-v-4c2ab366] {
  min-width: 0;
  justify-content: flex-end;
  padding: 0;
}
.pattern-container[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 90px;
  justify-content: flex-end;
}
.pattern-label[data-v-4c2ab366] {
  font-size: 0.7rem;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
}
.pattern-select[data-v-4c2ab366] {
  flex: 1;
  min-width: 0;
  max-width: 68px;
  padding: 1px 2px;
  border: 1px solid #ddd;
  border-radius: 3px;
  font-size: 0.7rem;
  background: white;
  outline: none;
  cursor: pointer;
}
.pattern-display[data-v-4c2ab366] {
  font-size: 0.7rem;
  color: #6d28d9;
  font-weight: 500;
  max-width: 70px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
}
.image-thumb-container[data-v-4c2ab366] {
  width: 90px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.item-image-thumb[data-v-4c2ab366] {
  max-width: 80px;
  max-height: 26px;
  object-fit: contain;
  border-radius: 3px;
  border: 1px solid #e5e7eb;
  transition: opacity 0.15s, box-shadow 0.15s;
}
.item-image-thumb.thumb-clickable[data-v-4c2ab366] {
  cursor: pointer;
}
.item-image-thumb.thumb-clickable[data-v-4c2ab366]:hover {
  opacity: 0.85;
  box-shadow: 0 0 0 2px #6d28d9aa;
}
/* ── end pattern / image slot ─────────────────────────────────────────────── */

/* ── Image Dialog ─────────────────────────────────────────────────────────── */
.image-dialog-backdrop[data-v-4c2ab366] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.image-dialog[data-v-4c2ab366] {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.image-dialog-header[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 10px;
  border-bottom: 1px solid #f0f0f0;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}
.image-dialog-title[data-v-4c2ab366] {
  font-size: 0.95rem;
  font-weight: 600;
  color: #1e1e2e;
}
.image-dialog-close[data-v-4c2ab366] {
  background: none;
  border: none;
  cursor: pointer;
  color: #888;
  font-size: 1rem;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1;
  transition: background 0.15s, color 0.15s;
}
.image-dialog-close[data-v-4c2ab366]:hover {
  background: #f3f4f6;
  color: #333;
}
.image-dialog-preview[data-v-4c2ab366] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #f8f8fa;
  min-height: 120px;
  overflow: hidden;
}
.image-dialog-large[data-v-4c2ab366] {
  max-width: 100%;
  max-height: 200px;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.image-dialog-no-img[data-v-4c2ab366] {
  font-size: 0.8rem;
  color: #aaa;
}
/* Floating action buttons over the preview */
.preview-float-btn[data-v-4c2ab366] {
  position: absolute;
  top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 5px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  backdrop-filter: blur(6px);
  transition: background 0.15s, opacity 0.15s;
  z-index: 2;
  line-height: 1.4;
}
.preview-float-btn.disabled[data-v-4c2ab366],
.preview-float-btn[data-v-4c2ab366]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}
.preview-float-left[data-v-4c2ab366] {
  left: 8px;
  background: rgba(109, 40, 217, 0.82);
  color: #fff;
}
.preview-float-left[data-v-4c2ab366]:hover:not(.disabled) {
  background: rgba(109, 40, 217, 0.96);
}
/* upload-input is hidden inside the label */
.preview-float-left .upload-input[data-v-4c2ab366] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
.preview-float-right[data-v-4c2ab366] {
  right: 8px;
  background: rgba(220, 38, 38, 0.82);
  color: #fff;
}
.preview-float-right[data-v-4c2ab366]:hover:not(:disabled) {
  background: rgba(220, 38, 38, 0.96);
}
/* Upload progress bar at bottom of preview */
.preview-upload-progress[data-v-4c2ab366] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: rgba(0, 0, 0, 0.1);
}
.preview-upload-bar[data-v-4c2ab366] {
  height: 100%;
  background: #6d28d9;
  transition: width 0.2s;
}
.image-dialog-section-title[data-v-4c2ab366] {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.image-dialog-gallery[data-v-4c2ab366] {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}
.gallery-scroll[data-v-4c2ab366] {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
}
.gallery-entry[data-v-4c2ab366] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  border-radius: 6px;
  padding: 4px;
  border: 2px solid transparent;
  transition: border-color 0.15s, background 0.15s;
  flex-shrink: 0;
  min-width: 60px;
  max-width: 80px;
}
.gallery-entry[data-v-4c2ab366]:hover {
  border-color: #6d28d9;
  background: #f5f0ff;
}
.gallery-thumb[data-v-4c2ab366] {
  width: 56px;
  height: 44px;
  object-fit: contain;
  border-radius: 4px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
}
.gallery-label[data-v-4c2ab366] {
  font-size: 0.65rem;
  color: #555;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  max-width: 72px;
}
/* ── end image dialog ─────────────────────────────────────────────────────── */

/* ── Pattern Picker Panel ─────────────────────────────────────────────────── */
.pattern-picker-panel[data-v-4c2ab366] {
  width: 100%;
  background: #fff;
  border: 1px solid #e2d9f3;
  border-radius: 6px;
  margin: 4px 0;
  padding: 6px 8px 8px;
  box-shadow: 0 2px 8px rgba(109, 40, 217, 0.1);
  box-sizing: border-box;
}
.pattern-picker-header[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.pattern-picker-title[data-v-4c2ab366] {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6d28d9;
  display: flex;
  align-items: center;
  gap: 5px;
}
.pattern-picker-cancel[data-v-4c2ab366] {
  background: none;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  padding: 0 2px;
  font-size: 0.8rem;
  line-height: 1;
  border-radius: 3px;
  transition: color 0.15s;
}
.pattern-picker-cancel[data-v-4c2ab366]:hover {
  color: #374151;
}
.pattern-picker-grid[data-v-4c2ab366] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
}
.pattern-picker-tile[data-v-4c2ab366] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  cursor: pointer;
  border: 1.5px solid transparent;
  border-radius: 4px;
  padding: 2px;
  transition: border-color 0.15s, background-color 0.15s;
}
.pattern-picker-tile[data-v-4c2ab366]:hover {
  border-color: #a78bfa;
  background-color: #f5f3ff;
}
.pattern-tile-active[data-v-4c2ab366] {
  border-color: #6d28d9 !important;
  background-color: #ede9fe !important;
}
.pattern-tile-thumb[data-v-4c2ab366] {
  width: 100%;
  height: 28px;
  border-radius: 3px;
  border: 1px solid #e5e7eb;
  overflow: hidden;
}
.pattern-tile-label[data-v-4c2ab366] {
  font-size: 0.6rem;
  color: #374151;
  text-align: center;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Inline conversion warning banner */
.pattern-conversion-warning {
&[data-v-4c2ab366] {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  background: #fffbeb;
  border: 1px solid #fbbf24;
  border-radius: 5px;
  padding: 6px 8px;
  margin-bottom: 6px;
  font-size: 0.7rem;
  color: #92400e;
  line-height: 1.4;
  }
i[data-v-4c2ab366] {
    flex-shrink: 0;
    margin-top: 1px;
    color: #f59e0b;
}
}
.pattern-warning-cancel-link[data-v-4c2ab366] {
  background: none;
  border: none;
  color: #6d28d9;
  cursor: pointer;
  padding: 0;
  font-size: inherit;
  font-weight: 600;
  text-decoration: underline;
  line-height: inherit;
}
.pattern-warning-cancel-link[data-v-4c2ab366]:hover {
  color: #4c1d95;
}

/* Tiles dimmed + not clickable while conversion is in-flight */
.pattern-tile-disabled[data-v-4c2ab366] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}
.picker-loading[data-v-4c2ab366] {
  pointer-events: none;
  opacity: 0.6;
}
/* ── end Pattern Picker Panel ─────────────────────────────────────────────── */

/* Input styles */
.category-select-wrapper[data-v-4c2ab366] {
  width: 100%;
}
.name-input[data-v-4c2ab366],
.category-select[data-v-4c2ab366] {
  width: 100%;
  min-width: 0; /* Allow input to shrink within constrained column */
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.875rem;
  background: white;
  outline: none;
  box-sizing: border-box;
}
.type-select[data-v-4c2ab366] {
  width: 100%;
  max-width: 100%;
  min-width: 0; /* Fit within fixed 90px column */
  padding: 4px 0;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.875rem;
  background: white;
  outline: none;
  box-sizing: border-box;
}
.height-input[data-v-4c2ab366] {
  width: 40px;
  padding: 4px 6px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.75rem;
  background: white;
  outline: none;
}

/* Hide number input spinners (up/down arrows) */
.height-input[data-v-4c2ab366]::-webkit-outer-spin-button,
.height-input[data-v-4c2ab366]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.height-input[type="number"][data-v-4c2ab366] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.name-input[data-v-4c2ab366]:focus,
.type-select[data-v-4c2ab366]:focus,
.category-select[data-v-4c2ab366]:focus,
.height-input[data-v-4c2ab366]:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

/* Subcategory option styling */
.category-select option[data-v-4c2ab366] {
  padding: 8px 12px;
}
.category-select option.subcategory-option[data-v-4c2ab366] {
  padding-left: 20px;
  color: #666;
  font-style: italic;
  background-color: #f8f9fa;
}

/* Display styles */
.name-display[data-v-4c2ab366],
.category-display[data-v-4c2ab366],
.geometry-display[data-v-4c2ab366],
.height-display[data-v-4c2ab366] {
  font-size: 0.875rem;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 4px;
  min-height: 24px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.type-display[data-v-4c2ab366] {
  font-size: 0.875rem;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 4px 0;
  border: 1px solid transparent;
  border-radius: 4px;
  min-height: 24px;
  width: 90px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

/* Visibility stack item */
.visibility-item[data-v-4c2ab366] {
  justify-content: center;
  padding: 0;
}
.visibility-controls[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.visibility-button[data-v-4c2ab366] {
  padding: 4px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 60px;
  text-align: center;
  outline: none;
}
.visibility-button.visible[data-v-4c2ab366] {
  background-color: #28a745;
  color: white;
  border-color: #28a745;
}
.visibility-button.visible[data-v-4c2ab366]:hover {
  background-color: #218838;
  border-color: #1e7e34;
}
.visibility-button.hidden[data-v-4c2ab366] {
  background-color: #dc3545;
  color: white;
  border-color: #dc3545;
}
.visibility-button.hidden[data-v-4c2ab366]:hover {
  background-color: #c82333;
  border-color: #bd2130;
}
.visibility-button[data-v-4c2ab366]:focus {
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

/* 3-dot menu button */
.item-menu-wrapper[data-v-4c2ab366] {
  position: relative;
  flex-shrink: 0;
}
.item-menu-btn[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: white;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.item-menu-btn[data-v-4c2ab366]:hover {
  background-color: #f0f0f0;
  border-color: #bbb;
}
.dots[data-v-4c2ab366] {
  display: block;
  line-height: 1;
  font-size: 18px;
  color: #555;
  user-select: none;
  margin-top: -2px;
}

/* Delete confirmation overlay */
.delete-confirm-overlay[data-v-4c2ab366] {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.97);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  z-index: 20;
  padding: 8px 12px;
  border-radius: 4px;
  border: 1px solid #f5c6cb;
}
.delete-confirm-text[data-v-4c2ab366] {
  font-size: 0.78rem;
  color: #333;
  margin: 0;
  flex: 1;
  line-height: 1.3;
}
.delete-confirm-btns[data-v-4c2ab366] {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}
.delete-confirm-yes[data-v-4c2ab366] {
  padding: 4px 12px;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.delete-confirm-yes[data-v-4c2ab366]:hover:not(:disabled) {
  background-color: #c82333;
}
.delete-confirm-yes[data-v-4c2ab366]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.delete-confirm-no[data-v-4c2ab366] {
  padding: 4px 12px;
  background-color: white;
  color: #374151;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.delete-confirm-no[data-v-4c2ab366]:hover {
  background-color: #f9fafb;
}

/* Spacer for layout balance */
.spacer[data-v-4c2ab366] {
  flex: 1;
}

/* Grouped features container */
.grouped-features-container[data-v-4c2ab366] {
  margin-left: 18px;
}

/* Grouped features summary (collapsed state) */
.grouped-features-summary[data-v-4c2ab366] {
  margin-left: 18px;
  padding: 12px 16px;
  background-color: #f0f7ff;
  border: 1px solid #bde0fe;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 8px;
  margin-bottom: 8px;
}
.grouped-features-summary[data-v-4c2ab366]:hover {
  background-color: #e3f2fd;
  border-color: #90caf9;
  box-shadow: 0 2px 4px rgba(0, 123, 255, 0.1);
}
.grouped-features-summary-content[data-v-4c2ab366] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.expand-icon[data-v-4c2ab366] {
  color: #007bff;
  font-size: 12px;
  transition: transform 0.2s ease;
  display: inline-block;
  width: 16px;
}
.feature-count-badge[data-v-4c2ab366] {
  background-color: #007bff;
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
}
.expand-hint[data-v-4c2ab366] {
  color: #666;
  font-size: 0.75rem;
  font-style: italic;
  margin-left: auto;
}

/* Grouped features header (expanded state) */
.grouped-features-header[data-v-4c2ab366] {
  margin-left: 0;
  padding: 10px 16px;
  background-color: #e3f2fd;
  border: 1px solid #90caf9;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.grouped-features-header[data-v-4c2ab366]:hover {
  background-color: #bbdefb;
  border-color: #64b5f6;
}
.collapse-icon[data-v-4c2ab366] {
  color: #007bff;
  font-size: 12px;
  transition: transform 0.2s ease;
  display: inline-block;
  width: 16px;
}
.collapse-hint[data-v-4c2ab366] {
  color: #666;
  font-size: 0.75rem;
  font-style: italic;
  margin-left: auto;
}

/* Responsive adjustments for stack layout */
@media (max-width: 1200px) {
.item-row-stacks[data-v-4c2ab366] {
    gap: 6px;
}
}
@media (max-width: 900px) {
.item-row-stacks[data-v-4c2ab366] {
    gap: 4px;
}
}
@media (max-width: 600px) {
.item-row-stacks[data-v-4c2ab366] {
    gap: 3px;
}
.index-number[data-v-4c2ab366] {
    font-size: 0.7rem;
}
}

/* Global styles for the teleported 3-dot menu popup (not scoped — rendered in <body>) */
.item-row-menu-popup {
  position: fixed;
  z-index: 9999;
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  min-width: 130px;
  padding: 4px;
}
.item-row-menu-delete-btn {
  display: block;
  width: 100%;
  padding: 8px 12px;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.15s ease;
  font-family: inherit;
}
.item-row-menu-delete-btn:hover {
  background-color: #c82333;
}

.shapes-table-container[data-v-7f8b1be5] {
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ── Multi-selection header ─────────────────────────────────── */
.multi-select-header[data-v-7f8b1be5] {
  flex-shrink: 0;
  border-bottom: 1px solid #e2e8f0;
  background-color: #f0f7ff;
}
.multi-select-toggle[data-v-7f8b1be5] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 12px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  font-size: 0.8125rem;
  color: #1d4ed8;
  font-weight: 600;
  transition: background-color 0.15s ease;
}
.multi-select-toggle[data-v-7f8b1be5]:hover {
  background-color: #dbeafe;
}
.multi-select-count[data-v-7f8b1be5] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.multi-select-count .multi-select-layer-icon[data-v-7f8b1be5] {
  font-size: 0.75rem;
  opacity: 0.8;
}
.multi-select-arrow[data-v-7f8b1be5] {
  font-size: 0.6875rem;
  opacity: 0.7;
  transition: transform 0.2s ease;
}

/* Expanded items container */
.multi-select-items[data-v-7f8b1be5] {
  max-height: 220px;
  overflow-y: auto;
  border-top: 1px solid #bfdbfe;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}
.multi-select-items[data-v-7f8b1be5]::-webkit-scrollbar {
  width: 6px;
}
.multi-select-items[data-v-7f8b1be5]::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

/* Each selected item row */
.multi-select-item-row[data-v-7f8b1be5] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-bottom: 1px solid #eff6ff;
  font-family: "Poppins", sans-serif;
  font-size: 0.75rem;
  color: #374151;
  background-color: white;
  transition: background-color 0.1s ease;
  cursor: pointer;
}
.multi-select-item-row[data-v-7f8b1be5]:last-child {
  border-bottom: none;
}
.multi-select-item-row[data-v-7f8b1be5]:hover {
  background-color: #eff6ff;
}
.msi-deselect-btn[data-v-7f8b1be5] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: auto;
  padding: 0;
  background: none;
  border: none;
  border-radius: 3px;
  color: #9ca3af;
  font-size: 0.625rem;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
  line-height: 1;
}
.msi-deselect-btn[data-v-7f8b1be5]:hover {
  color: #ef4444;
  background-color: #fee2e2;
}
.msi-color[data-v-7f8b1be5] {
  flex-shrink: 0;
}
.msi-color-dot[data-v-7f8b1be5] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.15);
}
.msi-name[data-v-7f8b1be5] {
  flex: 2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  color: #111827;
}
.msi-category[data-v-7f8b1be5] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #6b7280;
  font-size: 0.6875rem;
}
.msi-type[data-v-7f8b1be5] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #6b7280;
  font-size: 0.6875rem;
}
.msi-features[data-v-7f8b1be5] {
  flex-shrink: 0;
  font-size: 0.6875rem;
  color: #9ca3af;
  white-space: nowrap;
}
.msi-features-label[data-v-7f8b1be5] {
  opacity: 0.7;
}
/* ── end multi-selection header ─────────────────────────────── */
.shapes-scroller[data-v-7f8b1be5] {
  flex: 1;
  min-height: 0;
  min-width: 0; /* Allow scroller to shrink, preventing item rows from overflowing */
  overflow-x: hidden; /* Prevent horizontal overflow - content must fit */
  overflow-y: scroll; /* Use scroll to force scrollbar track to always show */
  scrollbar-gutter: stable;
  /* Show thin scrollbar on the right */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
}

/* Ensure virtual scroller item views respect container width */
.shapes-scroller[data-v-7f8b1be5] .vue-recycle-scroller__item-view,
.shapes-scroller[data-v-7f8b1be5] .vue-recycle-scroller__item-wrapper {
  min-width: 0;
  overflow: hidden;
}

/* Target vue-virtual-scroller's internal scroll container (RecycleScroller) */
.shapes-scroller[data-v-7f8b1be5] .vue-recycle-scroller,
.shapes-scroller.vue-recycle-scroller[data-v-7f8b1be5] {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
}
.shapes-scroller[data-v-7f8b1be5]::-webkit-scrollbar,
.shapes-scroller[data-v-7f8b1be5] .vue-recycle-scroller::-webkit-scrollbar {
  width: 8px;
}
.shapes-scroller[data-v-7f8b1be5]::-webkit-scrollbar-track,
.shapes-scroller[data-v-7f8b1be5] .vue-recycle-scroller::-webkit-scrollbar-track {
  background: transparent;
}
.shapes-scroller[data-v-7f8b1be5]::-webkit-scrollbar-thumb,
.shapes-scroller[data-v-7f8b1be5] .vue-recycle-scroller::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
.shapes-scroller[data-v-7f8b1be5]::-webkit-scrollbar-thumb:hover,
.shapes-scroller[data-v-7f8b1be5] .vue-recycle-scroller::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.35);
}
.loading-container[data-v-7f8b1be5] {
  padding: 2rem;
  text-align: center;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
.loading-message[data-v-7f8b1be5] {
  background-color: transparent;
  border: 1px solid #bae6fd;
  border-radius: 0.375rem;
  padding: 1rem;
  color: var(--primary-700, var(--default-700));
  font-size: 0.875rem;
  display: block;
  visibility: visible;
  opacity: 1;
  width: 100%;
  max-width: 100%;
}
.loading-message span[data-v-7f8b1be5] {
  color: var(--primary-700, var(--default-700));
  display: inline;
  visibility: visible;
  opacity: 1;
}
.rotating-icon[data-v-7f8b1be5] {
  width: 64px;
  height: 64px;
  animation: smoothRotate-7f8b1be5 2s linear infinite;
}
@keyframes smoothRotate-7f8b1be5 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

/* Mobile responsive */
@media only screen and (max-width: 767px) {
.loading-container[data-v-7f8b1be5] {
    padding: 1.5rem;
    gap: 1rem;
}
.loading-message[data-v-7f8b1be5] {
    font-size: 0.875rem !important;
    padding: 0.875rem 1rem !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 95% !important;
    background-color: white !important;
    border: 1px solid #bae6fd !important;
}
.loading-message span[data-v-7f8b1be5] {
    color: var(--primary-700, #374151) !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-weight: 500 !important;
}
.rotating-icon[data-v-7f8b1be5] {
    width: 56px;
    height: 56px;
}
}
.shapes-filter-container[data-v-b0b525d9] {
  padding: 6px 10px;
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
  overflow: hidden;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.filter-row[data-v-b0b525d9] {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  flex-wrap: nowrap;
  min-width: 0;
  width: 100%;
}
.filter-group[data-v-b0b525d9] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
}
.filter-group.filter-group-btn[data-v-b0b525d9] {
  flex: 0 0 auto;
  min-width: fit-content;
}
.shapes-filter-container.tight-mode .filter-group[data-v-b0b525d9]:not(.filter-group-btn) {
  flex: 1 1 0;
}
.filter-label[data-v-b0b525d9] {
  font-size: 10px;
  font-weight: 500;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0;
}
.filter-select[data-v-b0b525d9] {
  padding: 4px 8px;
  font-size: 12px;
  min-width: 0;
  width: 100%;
  height: 28px;
  line-height: 1.2;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: white;
  cursor: pointer;
  transition: all 0.2s;
  box-sizing: border-box;
}
.filter-select[data-v-b0b525d9]:hover {
  border-color: #adb5bd;
}
.filter-select[data-v-b0b525d9]:focus {
  outline: none;
  border-color: var(--primary-500, #007bff);
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}
.filter-select.dropdown-trigger[data-v-b0b525d9] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  height: 28px;
  padding: 4px 8px;
  min-width: 0;
  width: 100%;
}
.filter-select.dropdown-trigger.active[data-v-b0b525d9] {
  border-color: var(--primary-500, #007bff);
}
.filter-btn[data-v-b0b525d9] {
  padding: 4px 10px;
  font-size: 12px;
  height: 28px;
  line-height: 1.2;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: white;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 4px;
  box-sizing: border-box;
}
.filter-btn[data-v-b0b525d9]:hover:not(:disabled) {
  background: #f8f9fa;
  border-color: #adb5bd;
}
.filter-btn[data-v-b0b525d9]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.filter-btn.clear-btn[data-v-b0b525d9] {
  color: #dc3545;
}
.filter-btn.clear-btn[data-v-b0b525d9]:hover:not(:disabled) {
  background: #fff5f5;
  border-color: #dc3545;
}
.filter-btn .mdi[data-v-b0b525d9] {
  font-size: 14px;
  flex-shrink: 0;
}
.multi-select-dropdown[data-v-b0b525d9] {
  position: relative;
  min-width: 0;
  flex: 1;
  display: flex;
}
.selected-text[data-v-b0b525d9] {
  flex: 1;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dropdown-trigger .mdi[data-v-b0b525d9] {
  font-size: 14px;
  transition: transform 0.2s;
  flex-shrink: 0;
}
.dropdown-trigger .mdi.rotated[data-v-b0b525d9] {
  transform: rotate(180deg);
}
.dropdown-item[data-v-b0b525d9] {
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: background 0.15s;
}
.dropdown-item[data-v-b0b525d9]:hover {
  background: #f8f9fa;
}
.dropdown-item input[type=checkbox][data-v-b0b525d9] {
  margin: 0;
  cursor: pointer;
}
.dropdown-item span[data-v-b0b525d9] {
  font-size: 13px;
  user-select: none;
}
.dropdown-divider[data-v-b0b525d9] {
  height: 1px;
  background: #dee2e6;
  margin: 4px 0;
}
.active-filters-summary[data-v-b0b525d9] {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #dee2e6;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 12px;
}
.summary-label[data-v-b0b525d9] {
  font-weight: 600;
  color: #495057;
}
.summary-item[data-v-b0b525d9] {
  padding: 3px 8px;
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  color: #495057;
}

/* Mobile responsive - keep single line */
@media only screen and (max-width: 767px) {
.active-filters-summary[data-v-b0b525d9] {
    font-size: 11px;
}
}/* Teleported dropdown - NOT scoped so it can render at body level */
.shapes-filter-dropdown-menu {
  background: white;
  border: 1px solid #ced4da;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 300px;
  overflow-y: auto;
}
.shapes-filter-dropdown-menu .dropdown-item {
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: background 0.15s;
}
.shapes-filter-dropdown-menu .dropdown-item:hover {
  background: #f8f9fa;
}
.shapes-filter-dropdown-menu .dropdown-item input[type=checkbox] {
  margin: 0;
  cursor: pointer;
}
.shapes-filter-dropdown-menu .dropdown-item span {
  font-size: 13px;
  user-select: none;
}
.shapes-filter-dropdown-menu .dropdown-divider {
  height: 1px;
  background: #dee2e6;
  margin: 4px 0;
}
.loading-image-placeholder[data-v-3c886dfb] {
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.spinner-container[data-v-3c886dfb] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.spinner[data-v-3c886dfb] {
  width: 24px;
  height: 24px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #0c6ffe;
  border-radius: 50%;
  animation: spin-3c886dfb 1s linear infinite;
}
.progress-bar[data-v-3c886dfb] {
  width: 80%;
  height: 4px;
  background-color: #e0e0e0;
  border-radius: 2px;
  overflow: hidden;
}
.progress-fill[data-v-3c886dfb] {
  height: 100%;
  background-color: #0c6ffe;
  transition: width 0.3s ease;
}
.progress-text[data-v-3c886dfb] {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
}
@keyframes spin-3c886dfb {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

.modal-overlay[data-v-55c8f5bb] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.modal-content[data-v-55c8f5bb] {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.modal-header[data-v-55c8f5bb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
}
.modal-header h3[data-v-55c8f5bb] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #333;
}
.modal-title[data-v-55c8f5bb] {
  text-align: center;
  flex-grow: 1;
}
.close-button[data-v-55c8f5bb] {
  background: none;
  border: none;
  font-size: 18px;
  color: #666;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}
.close-button[data-v-55c8f5bb]:hover {
  background: #f0f0f0;
  color: #333;
}
.modal-body[data-v-55c8f5bb] {
  padding: 24px;
}
.section-container[data-v-55c8f5bb] {
  margin-bottom: 24px;
}
.description-text[data-v-55c8f5bb] {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: #555;
  line-height: 1.4;
  text-align: center;
}
.dropzone-container[data-v-55c8f5bb] {
  margin-bottom: 24px;
}
.dropzone[data-v-55c8f5bb] {
  border: 3px dashed #ccc;
  border-radius: 8px;
  padding: 12px;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s ease;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dropzone[data-v-55c8f5bb]:hover {
  border-color: #007bff;
  background: #f8f9fa;
}
.dropzone-content[data-v-55c8f5bb] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.upload-icon[data-v-55c8f5bb] {
  font-size: 32px;
  color: #ccc;
  text-align: center;
  margin-bottom: 8px;
}
.dropzone-text[data-v-55c8f5bb] {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: #333;
}
.dropzone-subtext[data-v-55c8f5bb] {
  margin: 0;
  font-size: 12px;
  color: #666;
}
.file-input[data-v-55c8f5bb] {
  display: none;
}
.preview-section[data-v-55c8f5bb] {
  width: 100%;
  margin-top: 8px;
}
.preview-grid[data-v-55c8f5bb] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.thumbnail-container[data-v-55c8f5bb] {
  position: relative;
  width: 100px;
  height: 100px;
}
.img-preview[data-v-55c8f5bb] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid #ddd;
  background-color: #f8f9fa;
}
.delete-button[data-v-55c8f5bb] {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: none;
  background: #ff4444;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}
.delete-button[data-v-55c8f5bb]:hover {
  background: #cc0000;
  transform: scale(1.1);
}
.button-container[data-v-55c8f5bb] {
  display: flex;
  justify-content: center;
}
.generate-button-container[data-v-55c8f5bb] {
  margin-top: 20px;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
}
.generate-button[data-v-55c8f5bb] {
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  border-radius: 8px;
  border: none;
  background: #28a745;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 200px;
}
.generate-button[data-v-55c8f5bb]:hover:not(:disabled) {
  background: #218838;
  transform: translateY(-1px);
}
.generate-button[data-v-55c8f5bb]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.separator-container[data-v-55c8f5bb] {
  display: flex;
  align-items: center;
  margin: 20px 0;
  color: #888;
  font-size: 14px;
}
.separator-line[data-v-55c8f5bb] {
  flex-grow: 1;
  height: 1px;
  background-color: #e0e0e0;
}
.separator-text[data-v-55c8f5bb] {
  margin: 0 10px;
}
.build-button[data-v-55c8f5bb] {
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  border-radius: 8px;
  border: none;
  background: #007bff;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 200px;
}
.build-button[data-v-55c8f5bb]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.build-button[data-v-55c8f5bb]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.spinner-container[data-v-55c8f5bb] {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.modal-content[data-v-55c8f5bb] {
    width: 95%;
    margin: 20px;
}
.modal-header[data-v-55c8f5bb] {
    padding: 16px 20px;
}
.modal-body[data-v-55c8f5bb] {
    padding: 20px;
}
.dropzone[data-v-55c8f5bb] {
    min-height: 150px;
    padding: 16px;
}
.upload-icon[data-v-55c8f5bb] {
    font-size: 36px;
}
.dropzone-text[data-v-55c8f5bb] {
    font-size: 16px;
}
.dropzone-subtext[data-v-55c8f5bb] {
    font-size: 12px;
}
}

.profile-button-container[data-v-f6712d61] {
  position: relative;
  z-index: 1000;
}
.profile-button[data-v-f6712d61] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  overflow: hidden;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  position: relative;
  transition: transform 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.profile-button[data-v-f6712d61]:hover {
  transform: scale(1.05);
}
.profile-icon[data-v-f6712d61] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.dropdown-menu[data-v-f6712d61] {
  position: absolute;
  top: 50px;
  right: 0;
  background-color: white;
  border: none;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  width: 180px;
  min-width: unset;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform-origin: top right;
  animation: dropdownFade-f6712d61 0.2s ease;
  /* Reset Bootstrap theme horizontal padding that causes item negative-margin offset */
  padding-left: 0;
  padding-right: 0;
}
@keyframes dropdownFade-f6712d61 {
from {
    opacity: 0;
    transform: translateY(-10px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.dropdown-item[data-v-f6712d61] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 12px 16px;
  text-align: left;
  text-decoration: none;
  color: #333;
  cursor: pointer;
  white-space: nowrap;
  width: 100%;
  min-width: unset;
  /* Reset Bootstrap theme negative margins that offset items left */
  margin-left: 0;
  margin-right: 0;
  border: none;
  background: transparent;
  transition: all 0.2s ease;
  position: relative;
  font-weight: 500;
  box-sizing: border-box;
}
.dropdown-text[data-v-f6712d61] {
  position: relative;
  z-index: 1;
}
.dropdown-item[data-v-f6712d61]:hover {
  background-color: #f5f8ff;
  color: #007bff;
}
.dropdown-item[data-v-f6712d61]:hover::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background-color: #007bff;
  transition: width 0.2s ease;
}
.dropdown-item[data-v-f6712d61]:active {
  background-color: #e6f0ff;
}

/* View As Guest specific styles */
.view-as-guest[data-v-f6712d61] {
  justify-content: flex-start;
  gap: 8px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 4px;
}
.eye-icon[data-v-f6712d61] {
  color: #007bff;
  flex-shrink: 0;
}

/* View in Builder specific styles */
.view-in-builder[data-v-f6712d61] {
  justify-content: flex-start;
  gap: 8px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 4px;
}
.builder-icon[data-v-f6712d61] {
  color: #007bff;
  flex-shrink: 0;
}

/* View in Hub specific styles */
.view-in-hub[data-v-f6712d61] {
  justify-content: flex-start;
  gap: 8px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 4px;
}
.hub-icon[data-v-f6712d61] {
  color: #007bff;
  flex-shrink: 0;
}

/* View Analytics specific styles */
.view-analytics[data-v-f6712d61] {
  justify-content: flex-start;
  gap: 8px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 4px;
}
.analytics-icon[data-v-f6712d61] {
  color: #007bff;
  flex-shrink: 0;
}
.sign-out[data-v-f6712d61] {
  color: #ff5252;
}
.sign-out[data-v-f6712d61]:hover {
  background-color: #fff5f5;
  color: #ff5252;
}
.sign-out[data-v-f6712d61]:hover::before {
  background-color: #ff5252;
}

/* Separator line styles */
.dropdown-separator[data-v-f6712d61] {
  height: 1px;
  background-color: #f0f0f0;
  margin: 4px 0;
}

/* User email display styles */
.user-email[data-v-f6712d61] {
  background-color: #f8f9fa;
  cursor: default;
  padding: 8px 16px;
}
.user-email[data-v-f6712d61]:hover {
  background-color: #f8f9fa;
  color: #333;
}
.user-email[data-v-f6712d61]:hover::before {
  display: none;
}
.email-text[data-v-f6712d61] {
  font-size: 12px;
  color: #666;
  font-weight: 400;
  text-align: center;
  word-break: break-all;
  line-height: 1.3;
}
.map-style-switch[data-v-f6712d61] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0px 16px;
  gap: 15px;
}
.switch[data-v-f6712d61] {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
}
.switch input[data-v-f6712d61] {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider[data-v-f6712d61] {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.3s;
  border-radius: 34px;
}
.slider[data-v-f6712d61]:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
input:checked + .slider[data-v-f6712d61] {
  background-color: #007bff;
}
input:checked + .slider[data-v-f6712d61]:before {
  transform: translateX(20px);
}
.switch-label[data-v-f6712d61] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  padding: 12px 0;
  width: auto;
  margin-right: 0;
}

/* Recent Maps Section Styles */
.recent-maps-section[data-v-f6712d61] {
  border-top: 1px solid #f0f0f0;
  margin-top: 4px;
}
.section-header[data-v-f6712d61] {
  padding: 8px 16px 4px 16px;
  font-size: 12px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #f8f9fa;
}
.recent-map-item[data-v-f6712d61] {
  padding: 8px 16px;
  border-bottom: none;
}
.recent-map-item[data-v-f6712d61]:hover {
  background-color: #f5f8ff;
}
.recent-map-content[data-v-f6712d61] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
}
.recent-map-title[data-v-f6712d61] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1.2;
}
.recent-map-date[data-v-f6712d61] {
  font-size: 11px;
  color: #666;
  line-height: 1.2;
}

/* Add responsive styles for mobile devices */
@media screen and (max-width: 768px) {
.dropdown-menu[data-v-f6712d61] {
    width: 150px;
    min-width: 150px;
    right: 0;
}
.dropdown-item[data-v-f6712d61] {
    padding: 14px 16px;
    min-height: 44px; /* Ensure tap target size is adequate for mobile */
}
.dropdown-text[data-v-f6712d61] {
    display: block;
    width: 100%;
    color: #333;
    font-size: 16px; /* Slightly larger font for mobile readability */
    font-weight: 500;
    text-align: left;
}
.sign-out .dropdown-text[data-v-f6712d61] {
    color: #ff5252;
}
.map-style-switch[data-v-f6712d61] {
    padding: 10px;
    flex-direction: column;
}
.switch-label[data-v-f6712d61] {
    margin-bottom: 5px;
    font-size: 14px;
}
.recent-map-item[data-v-f6712d61] {
    padding: 10px 16px;
}
.recent-map-title[data-v-f6712d61] {
    font-size: 13px;
}
.recent-map-date[data-v-f6712d61] {
    font-size: 10px;
}

  /* Mobile styles for icon buttons */
.view-as-guest[data-v-f6712d61],
  .view-in-builder[data-v-f6712d61],
  .view-in-hub[data-v-f6712d61],
  .view-analytics[data-v-f6712d61] {
    gap: 10px;
}
.eye-icon[data-v-f6712d61],
  .builder-icon[data-v-f6712d61],
  .hub-icon[data-v-f6712d61],
  .analytics-icon[data-v-f6712d61] {
    width: 18px;
    height: 18px;
}
.user-email[data-v-f6712d61] {
    padding: 10px 16px;
}
.email-text[data-v-f6712d61] {
    font-size: 13px;
}
}

.tabs-container[data-v-fc32a0e9] {
  width: 100%;
}
.tabs-header-wrapper[data-v-fc32a0e9] {
  display: flex;
  align-items: flex-end;
  background-color: white;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #dee2e6;
  position: relative;
}
.tabs-header[data-v-fc32a0e9] {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e0 transparent;
  -webkit-overflow-scrolling: touch;
}
.tabs-header[data-v-fc32a0e9]::-webkit-scrollbar {
  height: 6px;
}
.tabs-header[data-v-fc32a0e9]::-webkit-scrollbar-track {
  background: transparent;
}
.tabs-header[data-v-fc32a0e9]::-webkit-scrollbar-thumb {
  background-color: #cbd5e0;
  border-radius: 3px;
}
.tab-item[data-v-fc32a0e9] {
  padding: 15px 30px;
  margin: 0;
  cursor: pointer;
  border-radius: 10px 10px 0 0;
  margin-right: 5px;
  background-color: #e9ecef;
  color: #6c757d;
  font-weight: 500;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  border-bottom: none;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 0;
  width: auto;
  max-width: 200px;
}
.tab-item[data-v-fc32a0e9]:hover {
  background-color: #dee2e6;
  color: #495057;
}
.tab-item.tab-disabled[data-v-fc32a0e9] {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #f8f9fa;
  color: #adb5bd;
}
.tab-item.tab-disabled[data-v-fc32a0e9]:hover {
  background-color: #f8f9fa;
  color: #adb5bd;
}
.tab-processing-indicator[data-v-fc32a0e9] {
  margin-left: 6px;
  font-size: 0.75em;
  color: #6c757d;
}
.tab-item.tab-selected[data-v-fc32a0e9] {
  background-color: #fff;
  color: #0c8ce9;
  font-weight: 600;
  border-color: #dee2e6;
  border-bottom-color: #fff;
  z-index: 1;
}
.tab-item.tab-selected[data-v-fc32a0e9]::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #fff;
}
.add-button[data-v-fc32a0e9] {
  flex-shrink: 0;
  padding: 15px 20px;
  cursor: pointer;
  background-color: white !important;
  color: #28a745 !important;
  border-radius: 10px 10px 0 0;
  font-weight: 500;
  transition: all 0.2s ease;
  border: 1px solid #28a745;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  line-height: 1;
  white-space: nowrap;
  width: auto;
  min-width: fit-content;
  margin-left: 5px;
}
.add-button[data-v-fc32a0e9]:hover {
  background-color: #f8f9fa;
  border-color: #218838;
}

/* Show full text on desktop, hide mobile-only text */
.add-button-text-full[data-v-fc32a0e9] {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  color: #28a745 !important;
  visibility: visible;
  opacity: 1;
  white-space: nowrap;
}
.add-button-text-mobile[data-v-fc32a0e9] {
  display: none;
  color: #28a745 !important;
  visibility: visible;
  opacity: 1;
}

/* Mobile: Show only "+" sign, hide full text */
@media only screen and (max-width: 767px) {
.add-button[data-v-fc32a0e9] {
    padding: 0 !important;
    min-width: 50px !important;
    min-height: 44px !important;
    width: 50px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    position: relative !important;
    background-color: white !important;
    color: #28a745 !important;
    border: 1px solid #28a745 !important;
}
.add-button[data-v-fc32a0e9]:hover {
    background-color: #f8f9fa !important;
    border-color: #218838 !important;
}

  /* Use ::before to add the + sign */
.add-button[data-v-fc32a0e9]::before {
    content: "+" !important;
    display: block !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #28a745 !important;
    text-align: center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 100 !important;
}
.add-button-text-full[data-v-fc32a0e9] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
}
.add-button-text-mobile[data-v-fc32a0e9] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
}
.tab-item[data-v-fc32a0e9] {
    padding: 10px 15px;
    font-size: 14px;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 120px !important;
    width: auto !important;
    flex-shrink: 0 !important;
}
.tabs-header-wrapper[data-v-fc32a0e9] {
    overflow: hidden;
}
.tabs-header[data-v-fc32a0e9] {
    overflow-x: auto !important;
    overflow-y: visible !important;
}
}
.tab-content[data-v-fc32a0e9] {
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 10px 0;
  min-height: 400px;
}

.tab-content[data-v-24626025] {
  width: 100%;
}

.inline-connector-config[data-v-e27175be] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 12px;
  margin-top: 8px;
  position: relative;
}
.connections-list[data-v-e27175be] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.connection-row[data-v-e27175be] {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  transition: all 0.2s ease;
  min-height: 32px;
}
.connection-row.connection-active[data-v-e27175be] {
  border-color: #28a745;
  background: #f8fff8;
}
.connection-header[data-v-e27175be] {
  flex-shrink: 0;
}
.current-floor[data-v-e27175be],
.target-floor[data-v-e27175be] {
  color: #495057;
}
.connection-btn[data-v-e27175be] {
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 1px 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-weight: bold;
  font-size: 0.75rem;
  min-width: 32px;
}
.connection-btn[data-v-e27175be]:hover:not(:disabled) {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.connection-btn[data-v-e27175be]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.no-connection-placeholder[data-v-e27175be] {
  opacity: 0.6;
}
.connection-none[data-v-e27175be] {
  color: #6c757d;
  border-color: #dee2e6;
}
.connection-none[data-v-e27175be]:hover:not(:disabled) {
  border-color: #007bff;
  color: #007bff;
}
.connection-bidirectional[data-v-e27175be] {
  background: #28a745;
  border-color: #28a745;
  color: white;
}
.connection-outgoing[data-v-e27175be] {
  background: #007bff;
  border-color: #007bff;
  color: white;
}
.connection-incoming[data-v-e27175be] {
  background: #fd7e14;
  border-color: #fd7e14;
  color: white;
}

/* Target Connector Section */
.target-connector-section[data-v-e27175be] {
  border-left: 1px solid #e9ecef;
  margin-left: 8px;
  gap: 4px;
}
.match-loading[data-v-e27175be] {
  color: #6c757d;
}
.connector-name[data-v-e27175be] {
  color: #28a745;
}
.view-btn[data-v-e27175be],
.change-btn[data-v-e27175be] {
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 4px;
}
.view-btn[data-v-e27175be] {
  color: #17a2b8;
  border-color: #17a2b8;
}
.view-btn[data-v-e27175be]:hover:not(:disabled) {
  background: #17a2b8;
  color: white;
}
.change-btn[data-v-e27175be] {
  color: #6c757d;
  border-color: #6c757d;
}
.change-btn[data-v-e27175be]:hover:not(:disabled) {
  background: #6c757d;
  color: white;
}
.done-row-btn[data-v-e27175be] {
  font-size: 0.65rem;
  padding: 2px 10px;
  border-radius: 4px;
}
.no-match[data-v-e27175be] {
  background: #fff8e1;
  border: 1px solid #ffecb3;
  border-radius: 4px;
  padding: 4px 8px;
}
.select-manually-btn[data-v-e27175be] {
  font-size: 0.65rem;
  padding: 1px 6px;
}

/* Completion Status */
.completion-status[data-v-e27175be] {
  padding: 6px 8px;
  border-radius: 4px;
  display: flex;
  align-items: center;
}
.completion-status.complete[data-v-e27175be] {
  background: #e8f5e9;
  border: 1px solid #c8e6c9;
}
.completion-status.incomplete[data-v-e27175be] {
  background: #fff8e1;
  border: 1px solid #ffecb3;
}

/* Bidirectional link indicator */
.bidirectional-badge[data-v-e27175be] {
  color: #17a2b8;
  padding: 2px 4px;
  background: rgba(23, 162, 184, 0.1);
  border-radius: 3px;
}

/* Inline saving indicator */
.saving-indicator-inline[data-v-e27175be] {
  opacity: 0.7;
}

/* Legacy - can be removed */
.close-btn[data-v-e27175be]:disabled {
  opacity: 0.6;
}

/* Utility classes */
.btn-xs[data-v-e27175be] {
  font-size: 0.7rem;
  padding: 2px 6px;
}
.fs-10[data-v-e27175be] {
  font-size: 10px !important;
}
.fs-11[data-v-e27175be] {
  font-size: 11px !important;
}
.fs-12[data-v-e27175be] {
  font-size: 12px !important;
}
.fw-medium[data-v-e27175be] {
  font-weight: 500 !important;
}
.text-muted[data-v-e27175be] {
  color: #6c757d !important;
}
.text-success[data-v-e27175be] {
  color: #28a745 !important;
}
.text-warning[data-v-e27175be] {
  color: #ffc107 !important;
}
.text-info[data-v-e27175be] {
  color: #17a2b8 !important;
}
.text-end[data-v-e27175be] {
  text-align: right !important;
}
.me-1[data-v-e27175be] {
  margin-right: 0.25rem !important;
}
.me-2[data-v-e27175be] {
  margin-right: 0.5rem !important;
}
.ms-1[data-v-e27175be] {
  margin-left: 0.25rem !important;
}
.ms-2[data-v-e27175be] {
  margin-left: 0.5rem !important;
}
.mb-2[data-v-e27175be] {
  margin-bottom: 0.5rem !important;
}
.mt-2[data-v-e27175be] {
  margin-top: 0.5rem !important;
}
.px-2[data-v-e27175be] {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
.d-flex[data-v-e27175be] {
  display: flex !important;
}
.align-items-center[data-v-e27175be] {
  align-items: center !important;
}
.justify-content-between[data-v-e27175be] {
  justify-content: space-between !important;
}
.justify-content-end[data-v-e27175be] {
  justify-content: flex-end !important;
}
.flex-grow-1[data-v-e27175be] {
  flex-grow: 1 !important;
}
.text-truncate[data-v-e27175be] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.navigation-layout[data-v-3b3b54b4] {
  position: relative;
  padding: 0;
  background: white;
  border-radius: 8px;
  min-height: 400px;
  display: flex;
  flex-direction: column;
}

/* Tab Bar Styles */
.navigation-tabs[data-v-3b3b54b4] {
  display: flex;
  border-bottom: 2px solid #e9ecef;
  background: #f8f9fa;
  flex-shrink: 0;
}
.nav-tab[data-v-3b3b54b4] {
  flex: 1;
  padding: 12px 8px;
  border: none;
  background: transparent;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
}
.nav-tab[data-v-3b3b54b4]:hover {
  background: #e9ecef;
  color: #495057;
}

/* Base active tab styles */
.nav-tab.active[data-v-3b3b54b4] {
  background: white;
}
.nav-tab.active[data-v-3b3b54b4]::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 3px;
}

/* Tab-specific colors matching map layer colors */
/* Path tab - Blue (mesh polygon color) */
.nav-tab[class*="path"].active[data-v-3b3b54b4],
.navigation-tabs .nav-tab:nth-child(1).active[data-v-3b3b54b4] {
  color: #0099ff;
}
.navigation-tabs .nav-tab:nth-child(1).active[data-v-3b3b54b4]::after {
  background: #0099ff;
}

/* Entrances tab - Green (entrance lines color) */
.navigation-tabs .nav-tab:nth-child(2).active[data-v-3b3b54b4] {
  color: #28a745;
}
.navigation-tabs .nav-tab:nth-child(2).active[data-v-3b3b54b4]::after {
  background: #28a745;
}

/* Connectors tab - Cyan (floor connector color) */
.navigation-tabs .nav-tab:nth-child(3).active[data-v-3b3b54b4] {
  color: #00bcd4;
}
.navigation-tabs .nav-tab:nth-child(3).active[data-v-3b3b54b4]::after {
  background: #00bcd4;
}

/* Entry Points tab - Orange (destination points color) */
.navigation-tabs .nav-tab:nth-child(4).active[data-v-3b3b54b4] {
  color: #ff9800;
}
.navigation-tabs .nav-tab:nth-child(4).active[data-v-3b3b54b4]::after {
  background: #ff9800;
}
.nav-tab .fas[data-v-3b3b54b4] {
  font-size: 10px;
}

/* Progress Header Styles */
.navigation-progress-header[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.progress-label[data-v-3b3b54b4] {
  color: #495057;
  font-size: 13px;
  flex-shrink: 0;
}
.progress-bar-inline[data-v-3b3b54b4] {
  flex: 1;
  height: 6px;
  background: #e9ecef;
  border-radius: 3px;
  overflow: hidden;
}
.progress-bar-fill[data-v-3b3b54b4] {
  height: 100%;
  background: linear-gradient(90deg, #007bff, #28a745);
  border-radius: 3px;
  transition: width 0.3s ease;
}
.navigation-progress-header .progress-text[data-v-3b3b54b4] {
  color: #6c757d;
  flex-shrink: 0;
}

/* Navigation Complete State */
.navigation-progress-header.navigation-complete[data-v-3b3b54b4] {
  justify-content: flex-start;
}
.navigation-progress-header.all-floors-ready[data-v-3b3b54b4] {
  justify-content: space-between;
}
.progress-ready[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #28a745;
  font-size: 13px;
  flex-shrink: 0;
}
.progress-ready.all-ready[data-v-3b3b54b4] {
  color: #28a745;
}
.progress-ready i[data-v-3b3b54b4] {
  font-size: 14px;
}

/* Incomplete floors text and buttons */
.incomplete-floors-text[data-v-3b3b54b4] {
  color: #6c757d;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.floor-link-btn[data-v-3b3b54b4] {
  background: none;
  border: none;
  padding: 2px 6px;
  color: #007bff;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  transition: all 0.2s ease;
  border-radius: 4px;
}
.floor-link-btn[data-v-3b3b54b4]:hover {
  color: #0056b3;
  background: rgba(0, 123, 255, 0.1);
}

/* Enable/Disable navigation buttons */
.enable-nav-btn[data-v-3b3b54b4],
.disable-nav-btn[data-v-3b3b54b4] {
  padding: 6px 16px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 4px;
  border: none;
}
.enable-nav-btn[data-v-3b3b54b4] {
  background: #28a745;
  color: white;
}
.enable-nav-btn[data-v-3b3b54b4]:hover:not(:disabled) {
  background: #218838;
}
.enable-nav-btn[data-v-3b3b54b4]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.disable-nav-btn[data-v-3b3b54b4] {
  background: #dc3545;
  color: white;
}
.disable-nav-btn[data-v-3b3b54b4]:hover:not(:disabled) {
  background: #c82333;
}
.disable-nav-btn[data-v-3b3b54b4]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* Tab Content Styles */
.navigation-tab-content[data-v-3b3b54b4] {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.tab-panel[data-v-3b3b54b4] {
  height: 100%;
}
.tab-actions[data-v-3b3b54b4] {
  padding-bottom: 12px;
  border-bottom: 1px solid #e9ecef;
}
.tab-actions .action-btn[data-v-3b3b54b4],
.tab-actions .action-btn-secondary[data-v-3b3b54b4],
.tab-actions .action-btn-success[data-v-3b3b54b4] {
  width: fit-content !important;
  flex: 0 0 auto !important;
}
.navigation-step[data-v-3b3b54b4] {
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 12px;
  background: #f8f9fa;
}
.step-number[data-v-3b3b54b4] {
  font-weight: 600;
  color: #007bff;
  margin-right: 8px;
}
.step-title[data-v-3b3b54b4] {
  color: #495057;
  white-space: nowrap;
}
.status-icon[data-v-3b3b54b4] {
  font-size: 16px;
}
.step-actions[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.action-btn[data-v-3b3b54b4] {
  background-color: #007bff;
  color: white;
  border: none;
  font-size: 12px;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: fit-content;
  flex-shrink: 0;
  flex-grow: 0;
}
.action-btn[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #0056b3;
}

/* Secondary action button (for "None Needed" buttons) */
.action-btn-secondary[data-v-3b3b54b4] {
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}
.action-btn-secondary[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #e9ecef;
  color: #495057;
  border-color: #ced4da;
}

/* Active state for "None Needed" button when selected */
.btn-none-active[data-v-3b3b54b4] {
  background-color: #d4edda !important;
  color: #155724 !important;
  border-color: #28a745 !important;
}
.btn-none-active[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #c3e6cb !important;
  color: #155724 !important;
}
.action-btn[data-v-3b3b54b4]:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}
.action-btn-secondary[data-v-3b3b54b4] {
  background-color: #6c757d;
  color: white;
  border: none;
  font-size: 12px;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: fit-content;
  flex-shrink: 0;
  flex-grow: 0;
  cursor: pointer;
}
.action-btn-secondary[data-v-3b3b54b4]:hover {
  background-color: #5a6268;
}
.action-btn-success[data-v-3b3b54b4] {
  background-color: #28a745;
  color: white;
  border: none;
  font-size: 12px;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: fit-content;
  flex-shrink: 0;
  flex-grow: 0;
  cursor: pointer;
}
.action-btn-success[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #218838;
}
.action-btn-success[data-v-3b3b54b4]:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}
.btn-edit-path[data-v-3b3b54b4] {
  background-color: #007bff;
}
.btn-edit-path[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-done-editing[data-v-3b3b54b4] {
  background-color: #28a745;
}
.btn-done-editing[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #218838;
}
.btn-add-entrance[data-v-3b3b54b4] {
  background-color: #007bff;
}
.btn-add-entrance[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-add-entry-point[data-v-3b3b54b4] {
  background-color: #ff9800;
  color: white;
}
.btn-add-entry-point[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #f57c00;
}
.btn-add-entry-point[data-v-3b3b54b4]:disabled {
  background-color: #ffcc80;
  color: #bdbdbd;
}
.btn-none[data-v-3b3b54b4] {
  background-color: #6c757d;
}
.btn-none[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #5a6268;
}

/* Mesh Details Section Styles */
.mesh-details[data-v-3b3b54b4] {
  background-color: #ffffff;
  border: 1px solid #e9ecef;
}
.mesh-details-header[data-v-3b3b54b4] {
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 8px;
}
.mesh-stats[data-v-3b3b54b4] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.stat-item[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #f8f9fa;
  padding: 4px 8px;
  border-radius: 4px;
}
.stat-label[data-v-3b3b54b4] {
  color: #6c757d;
}
.stat-value[data-v-3b3b54b4] {
  color: #495057;
}
.polygon-list-section[data-v-3b3b54b4] {
  margin-top: 8px;
}
.polygon-list-header[data-v-3b3b54b4] {
  cursor: pointer;
  transition: background-color 0.2s ease;
  border-radius: 4px;
  padding: 4px 8px;
}
.polygon-list-header[data-v-3b3b54b4]:hover {
  background-color: #f0f0f0;
}
.polygon-list[data-v-3b3b54b4] {
  max-height: 200px;
  overflow-y: auto;
}
.polygon-item[data-v-3b3b54b4] {
  background-color: #f8f9fa;
  transition: all 0.2s ease;
  cursor: pointer;
  border: 2px solid transparent;
}
.polygon-item[data-v-3b3b54b4]:hover {
  background-color: #e9ecef;
}
.polygon-item.polygon-hole[data-v-3b3b54b4] {
  background-color: #fff3cd;
  border-left: 2px solid #ffc107;
}
.polygon-item.polygon-selected[data-v-3b3b54b4] {
  background-color: #e3f2fd;
  border: 2px solid #007bff;
}
.polygon-item.polygon-selected.polygon-hole[data-v-3b3b54b4] {
  background-color: #fff8e1;
  border: 2px solid #ff9800;
}
.mesh-footer[data-v-3b3b54b4] {
  border-top: 1px solid #f0f0f0 !important;
}
.cursor-pointer[data-v-3b3b54b4] {
  cursor: pointer;
}

/* Mesh Shapes Section */
.mesh-shapes-section[data-v-3b3b54b4] {
  padding: 8px 0;
}
.add-shape-row[data-v-3b3b54b4] {
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.add-shape-btn[data-v-3b3b54b4] {
  background-color: #007bff;
  color: white;
  border: none;
  font-size: 12px;
  transition: all 0.2s ease;
}
.add-shape-btn[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #0056b3;
}
.add-shape-btn[data-v-3b3b54b4]:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}
.cancel-shape-btn[data-v-3b3b54b4] {
  background-color: #dc3545;
  color: white;
  border: none;
  font-size: 12px;
  transition: all 0.2s ease;
}
.cancel-shape-btn[data-v-3b3b54b4]:hover {
  background-color: #c82333;
}
.done-shape-btn[data-v-3b3b54b4] {
  background-color: #28a745;
  color: white;
  border: none;
  font-size: 12px;
  transition: all 0.2s ease;
}
.done-shape-btn[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: #218838;
}
.done-shape-btn[data-v-3b3b54b4]:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
  opacity: 0.65;
}
.adding-shape-indicator[data-v-3b3b54b4] {
  background-color: #e3f2fd;
  border: 1px dashed #2196f3;
}
.polygon-item[data-v-3b3b54b4] {
  background-color: #f8f9fa;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.polygon-item[data-v-3b3b54b4]:hover {
  background-color: #e9ecef;
}
.polygon-item.polygon-hole[data-v-3b3b54b4] {
  background-color: #fff3cd;
  border-left: 3px solid #ffc107;
}
.polygon-item.polygon-editing[data-v-3b3b54b4] {
  background-color: #bbdefb;
  border: 2px solid #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.3);
}
.polygon-item.polygon-editing.polygon-hole[data-v-3b3b54b4] {
  background-color: #ffe082;
  border: 2px solid #f57c00;
  box-shadow: 0 0 0 2px rgba(245, 124, 0, 0.3);
}

/* Polygon/Hole Icons */
.polygon-info .mdi[data-v-3b3b54b4] {
  font-size: 18px;
}
.polygon-info .mdi-shape-polygon-plus[data-v-3b3b54b4],
.polygon-info .mdi-circle-off-outline[data-v-3b3b54b4] {
  font-size: 18px;
}

/* Type Toggle Buttons */
.type-toggle[data-v-3b3b54b4] {
  display: flex;
  gap: 2px;
  background-color: #e9ecef;
  padding: 2px;
  border-radius: 4px;
}
.type-btn[data-v-3b3b54b4] {
  background: transparent;
  border: none;
  padding: 4px 8px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 18px;
  color: #6c757d;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.type-btn[data-v-3b3b54b4]:hover {
  background-color: #dee2e6;
}
.type-btn.active[data-v-3b3b54b4] {
  background-color: #007bff;
  color: white;
}
.type-btn.active[data-v-3b3b54b4]:first-child {
  background-color: #007bff;
}
.type-btn.active[data-v-3b3b54b4]:last-child {
  background-color: #ffc107;
  color: #212529;
}

/* Polygon Action Buttons */
.polygon-actions[data-v-3b3b54b4] {
  display: flex;
  gap: 4px;
}
.polygon-action-btn[data-v-3b3b54b4] {
  background: transparent;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 18px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.polygon-action-btn.edit-btn[data-v-3b3b54b4] {
  color: #007bff;
}
.polygon-action-btn.edit-btn[data-v-3b3b54b4]:hover {
  background-color: rgba(0, 123, 255, 0.1);
  color: #007bff;
}
.polygon-action-btn.done-btn[data-v-3b3b54b4] {
  color: #28a745;
  background-color: rgba(40, 167, 69, 0.1);
}
.polygon-action-btn.done-btn[data-v-3b3b54b4]:hover {
  background-color: rgba(40, 167, 69, 0.2);
  color: #28a745;
}
.polygon-action-btn.delete-btn[data-v-3b3b54b4] {
  color: #dc3545;
}
.polygon-action-btn.delete-btn[data-v-3b3b54b4]:hover:not(:disabled) {
  background-color: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}
.polygon-action-btn[data-v-3b3b54b4]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.action-btn-sm[data-v-3b3b54b4] {
  background-color: #6c757d;
  color: white;
  border: none;
  font-size: 10px;
  padding: 2px 6px;
  transition: all 0.2s ease;
}
.action-btn-sm[data-v-3b3b54b4]:hover {
  background-color: #5a6268;
}
.entrance-item[data-v-3b3b54b4],
.connector-item[data-v-3b3b54b4] {
  background: white;
  border: 1px solid #dee2e6;
}
.entrance-item[data-v-3b3b54b4]:hover,
.connector-item[data-v-3b3b54b4]:hover {
  background: #f1f3f4;
}
.connector-item-selected[data-v-3b3b54b4] {
  background: #e0f7fa !important;
  border-color: #00bcd4 !important;
  border-width: 2px !important;
}
.connector-item-selected[data-v-3b3b54b4]:hover {
  background: #b2ebf2 !important;
}

/* Expanded connector configuration state */
.connector-item-expanded[data-v-3b3b54b4] {
  background: #fff !important;
  border-color: #007bff !important;
  border-width: 2px !important;
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.15);
}
.connector-type-icon[data-v-3b3b54b4] {
  color: #6c757d;
  font-size: 0.9rem;
}
.connections-display[data-v-3b3b54b4] {
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  margin-top: 8px;
}
.connections-text[data-v-3b3b54b4] {
  font-family: "Courier New", monospace;
  font-weight: 500;
  color: #495057;
}
.no-connections[data-v-3b3b54b4] {
  font-style: italic;
}
.connector-actions[data-v-3b3b54b4] {
  display: flex;
  gap: 4px;
}
.action-btn-sm[data-v-3b3b54b4] {
  font-size: 11px;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.navigation-progress[data-v-3b3b54b4] {
  background: #e9ecef;
  border: 1px solid #dee2e6;
}
.progress-bar-container[data-v-3b3b54b4] {
  height: 8px;
  background: #dee2e6;
  border-radius: 4px;
  overflow: hidden;
}
.progress-bar[data-v-3b3b54b4] {
  height: 100%;
  background: linear-gradient(90deg, #007bff, #28a745);
  transition: width 0.3s ease;
}
.loading-overlay[data-v-3b3b54b4] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}
.loading-spinner[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #007bff;
}
.fs-12[data-v-3b3b54b4] {
  font-size: 12px;
}
.fs-13[data-v-3b3b54b4] {
  font-size: 13px;
}

/* Regeneration Feedback Styles */
.regeneration-feedback[data-v-3b3b54b4] {
  background: linear-gradient(135deg, #e8f5e8 0%, #f0f9f0 100%);
  border: 1px solid #c3e6c3;
  border-left: 4px solid #28a745;
  animation: slideIn-3b3b54b4 0.3s ease-out;
}
@keyframes slideIn-3b3b54b4 {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.feedback-header[data-v-3b3b54b4] {
  border-bottom: 1px solid #c3e6c3;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.feedback-details[data-v-3b3b54b4] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.feedback-item[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  padding: 2px 0;
}
.feedback-item i[data-v-3b3b54b4] {
  width: 16px;
  text-align: center;
}

/* Entrance Management Styles */
.entrance-summary-btn[data-v-3b3b54b4] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  color: #495057;
  font-size: 12px;
  transition: all 0.2s ease;
}
.entrance-summary-btn[data-v-3b3b54b4]:hover {
  background: #e9ecef;
  border-color: #adb5bd;
}
.entrance-item[data-v-3b3b54b4] {
  background: white;
  border: 1px solid #dee2e6;
  transition: all 0.2s ease;
}
.entrance-item[data-v-3b3b54b4]:hover {
  background: #f8f9fa;
  border-color: #adb5bd;
}
.entrance-item-pending[data-v-3b3b54b4] {
  background: #f8f9fa;
  border: 1px dashed #6c757d;
  opacity: 0.8;
}
.entrance-item-pending[data-v-3b3b54b4]:hover {
  background: #e9ecef;
  border-color: #495057;
}
.entrance-item-ready[data-v-3b3b54b4] {
  background: #e8f5e9 !important;
  border-color: #4caf50 !important;
  border-style: solid !important;
}
.entrance-item-ready[data-v-3b3b54b4]:hover {
  background: #c8e6c9 !important;
}
.point-count-badge[data-v-3b3b54b4] {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  background-color: #e0e0e0;
  color: #666;
}
.entrance-item-ready .point-count-badge[data-v-3b3b54b4] {
  background-color: #4caf50;
  color: white;
}
.entrance-item-selected[data-v-3b3b54b4] {
  background: #e3f2fd !important;
  border-color: #2196f3 !important;
  border-width: 2px !important;
}
.entrance-item-selected[data-v-3b3b54b4]:hover {
  background: #bbdefb !important;
}
.entrance-item-editing[data-v-3b3b54b4] {
  background: #fff3e0 !important;
  border-color: #ff9800 !important;
  border-width: 2px !important;
  box-shadow: 0 0 8px rgba(255, 152, 0, 0.3);
}
.entrance-item-editing[data-v-3b3b54b4]:hover {
  background: #ffe0b2 !important;
}
.btn-delete-entrance[data-v-3b3b54b4] {
  background: none;
  border: none;
  color: #dc3545;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-delete-entrance[data-v-3b3b54b4]:hover {
  background: #f8d7da;
  color: #721c24;
}
.entrance-details[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.badge[data-v-3b3b54b4] {
  display: inline-block;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 600;
  border-radius: 3px;
  text-transform: uppercase;
}
.badge-default[data-v-3b3b54b4] {
  background-color: #ffc107;
  color: #212529;
}
.badge-accessible[data-v-3b3b54b4] {
  background-color: #28a745;
  color: white;
}
.entrance-type[data-v-3b3b54b4] {
  text-transform: capitalize;
  font-weight: 500;
}
.priority[data-v-3b3b54b4] {
  font-weight: 500;
}

/* Floor Connector Inline Editing Styles */
.edit-btn-icon[data-v-3b3b54b4] {
  background: none;
  border: none;
  padding: 0px 0px 0px 10px;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.6;
  width: 14px;
  height: 14px;
}
.edit-btn-icon img[data-v-3b3b54b4] {
  width: 16px;
  height: 16px;
}
.edit-btn-icon[data-v-3b3b54b4]:hover {
  opacity: 1;
  background-color: rgba(0, 123, 255, 0.1);
}
.delete-btn-icon[data-v-3b3b54b4] {
  background: none;
  border: none;
  color: #dc3545;
  padding: 4px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  opacity: 0.7;
}
.delete-btn-icon[data-v-3b3b54b4]:hover {
  opacity: 1;
  background-color: rgba(220, 53, 69, 0.1);
  transform: scale(1.1);
}
.inline-connector-type-editor[data-v-3b3b54b4] {
  background: rgba(0, 123, 255, 0.05);
  border-radius: 6px;
  padding: 4px;
}
.connector-type-options[data-v-3b3b54b4] {
  gap: 4px;
}
.connector-type-option[data-v-3b3b54b4] {
  background: white;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  padding: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
}
.connector-type-option[data-v-3b3b54b4]:hover {
  border-color: #007bff;
  background: #f8f9ff;
}
.connector-type-option.selected[data-v-3b3b54b4] {
  border-color: #007bff;
  background: #007bff;
  color: white;
}
.connector-type-option.selected svg[data-v-3b3b54b4] {
  color: white;
}

/* Ensure proper spacing in connector info */
.connector-info[data-v-3b3b54b4] {
  flex: 1;
  min-width: 0; /* Allow flex item to shrink */
}
.connector-actions[data-v-3b3b54b4] {
  flex-shrink: 0;
}
.connections-display[data-v-3b3b54b4] {
  margin-top: 4px;
}

/* Store Entry Points Styles */
.generation-options[data-v-3b3b54b4] {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
}
.generation-options .form-label[data-v-3b3b54b4] {
  font-weight: 500;
  color: #495057;
  margin-bottom: 0;
  margin-right: 12px;
  white-space: nowrap;
}
.generation-options .form-control-sm[data-v-3b3b54b4] {
  font-size: 13px;
}
.generation-options small[data-v-3b3b54b4] {
  font-size: 11px;
  color: #6c757d;
}
.form-field-row[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.input-wrapper[data-v-3b3b54b4] {
  display: flex;
  justify-content: flex-end;
  min-width: 80px;
}
.numeric-input[data-v-3b3b54b4] {
  width: 80px !important;
  max-width: 80px;
  flex-shrink: 0;
}
.form-field-row .form-check[data-v-3b3b54b4] {
  margin-bottom: 0;
  display: flex;
  align-items: center;
}
.form-field-row .form-check-input[data-v-3b3b54b4] {
  margin-right: 8px;
}
.btn-collapse[data-v-3b3b54b4] {
  background: none;
  border: none;
  color: #6c757d;
  font-size: 14px;
  padding: 4px 8px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.btn-collapse[data-v-3b3b54b4]:hover {
  background: #e9ecef;
  color: #495057;
}
.generation-results[data-v-3b3b54b4] {
  background: #f8fff8;
  border: 1px solid #d4edda;
}
.results-header[data-v-3b3b54b4] {
  border-bottom: 1px solid #d4edda;
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.result-item[data-v-3b3b54b4] {
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}
.result-item i[data-v-3b3b54b4] {
  width: 16px;
  text-align: center;
  margin-right: 6px;
}
.errors-section[data-v-3b3b54b4] {
  background: #fff5f5;
  border: 1px solid #fed7d7;
  border-radius: 4px;
  padding: 12px;
}
.error-item[data-v-3b3b54b4] {
  padding: 2px 0;
}
.btn-link.btn-sm[data-v-3b3b54b4] {
  font-size: 12px;
  text-decoration: none;
}
.btn-link.btn-sm[data-v-3b3b54b4]:hover {
  text-decoration: underline;
}

/* Destination Points Table Styles */
.destination-points-table[data-v-3b3b54b4] {
  background: white;
  border-radius: 6px;
  overflow: hidden;
}
.destination-points-table .table[data-v-3b3b54b4] {
  margin-bottom: 0;
}
.destination-points-table .table th[data-v-3b3b54b4] {
  border-top: none;
  border-bottom: 2px solid #dee2e6;
  font-weight: 600;
  color: #495057;
  background-color: #f8f9fa;
}
.destination-points-table .table td[data-v-3b3b54b4] {
  vertical-align: middle;
  border-top: 1px solid #dee2e6;
}
.destination-points-table .table tbody tr[data-v-3b3b54b4]:hover {
  background-color: #f8f9fa;
}

/* Entry Points Table Styles - No border, no padding */
.entry-points-table[data-v-3b3b54b4] {
  border: none;
  padding: 0;
}
.entry-points-table-content[data-v-3b3b54b4] {
  max-height: 300px;
  overflow-y: auto;
}
.entry-points-table-content .table th[data-v-3b3b54b4],
.entry-points-table-content .table td[data-v-3b3b54b4] {
  padding-left: 0;
  padding-right: 0;
}

/* Entry point row selection styles - match entrance-item */
.entry-point-row[data-v-3b3b54b4] {
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.entry-point-row[data-v-3b3b54b4]:hover {
  background-color: #f8f9fa !important;
}
.entry-point-row.selected[data-v-3b3b54b4] {
  background-color: #e3f2fd !important;
  border: 2px solid #2196f3 !important;
}
.entry-point-row.selected[data-v-3b3b54b4]:hover {
  background-color: #bbdefb !important;
}
.entry-point-row.editing[data-v-3b3b54b4] {
  background-color: #fff3e0 !important;
  border: 2px solid #ff9800 !important;
  box-shadow: 0 0 8px rgba(255, 152, 0, 0.3);
}
.entry-point-row.editing[data-v-3b3b54b4]:hover {
  background-color: #ffe0b2 !important;
}

/* Pending entry point row styles */
.entry-point-row.entry-point-pending[data-v-3b3b54b4] {
  background-color: #fff8e1 !important;
  border: 1px dashed #ff9800 !important;
}
.entry-point-row.entry-point-pending[data-v-3b3b54b4]:hover {
  background-color: #ffecb3 !important;
}
.entry-point-row.entry-point-ready[data-v-3b3b54b4] {
  background-color: #e8f5e9 !important;
  border: 1px solid #4caf50 !important;
}
.entry-point-row.entry-point-ready[data-v-3b3b54b4]:hover {
  background-color: #c8e6c9 !important;
}

/* Compact entry point row cells */
.entry-point-row td[data-v-3b3b54b4] {
  padding: 6px 8px !important;
  vertical-align: middle !important;
}

/* Entry point number label */
.entry-point-number[data-v-3b3b54b4] {
  font-size: 11px;
  font-weight: 400;
}

/* Delete destination point button */
.btn-delete-destination-point[data-v-3b3b54b4] {
  background: none;
  border: none;
  color: #dc3545;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.btn-delete-destination-point[data-v-3b3b54b4]:hover {
  background: #f8d7da;
  color: #721c24;
}

/* Type badge and dropdown */
.type-badge[data-v-3b3b54b4] {
  cursor: pointer;
  transition: all 0.2s ease;
}

/* Auto-generated indicator */
.fs-11[data-v-3b3b54b4] {
  font-size: 11px;
}
.type-badge[data-v-3b3b54b4]:hover {
  opacity: 0.8;
  transform: scale(1.05);
}
.type-dropdown-container[data-v-3b3b54b4] {
  min-width: 120px;
}
.type-dropdown[data-v-3b3b54b4] {
  font-size: 12px;
  padding: 2px 6px;
  border: 1px solid #007bff;
  border-radius: 4px;
  background: white;
  min-width: 120px;
}


/* Priority Badge Styles */
.priority-badge[data-v-3b3b54b4] {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  min-width: 24px;
  text-align: center;
}
.priority-high[data-v-3b3b54b4] {
  background-color: #dc3545;
  color: white;
}
.priority-medium[data-v-3b3b54b4] {
  background-color: #ffc107;
  color: #212529;
}
.priority-low[data-v-3b3b54b4] {
  background-color: #6c757d;
  color: white;
}

/* Badge Styles */
.badge[data-v-3b3b54b4] {
  font-size: 10px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
}
.bg-primary[data-v-3b3b54b4] {
  background-color: #007bff !important;
}
.bg-info[data-v-3b3b54b4] {
  background-color: #17a2b8 !important;
}
.bg-success[data-v-3b3b54b4] {
  background-color: #28a745 !important;
}
.bg-secondary[data-v-3b3b54b4] {
  background-color: #6c757d !important;
}

/* Font Monospace for Coordinates */
.font-monospace[data-v-3b3b54b4] {
  font-family: "Courier New", monospace;
  font-size: 11px;
}

/* No Results Styles */
.no-results[data-v-3b3b54b4] {
  color: #6c757d;
}

/* Results Header Close Button */
.results-header .btn-outline-secondary[data-v-3b3b54b4] {
  border-color: #6c757d;
  color: #6c757d;
  padding: 4px 8px;
  font-size: 12px;
}
.results-header .btn-outline-secondary[data-v-3b3b54b4]:hover {
  background-color: #6c757d;
  border-color: #6c757d;
  color: white;
}

.w-max-content {
  width: max-content;
}

.w-max-content {
  width: max-content;
}

.inline-connector-selector[data-v-e32e8e15] {
  position: absolute;
  z-index: 10000;
  pointer-events: auto;
}
.selector-container[data-v-e32e8e15] {
  position: relative;
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  padding: 16px;
  border: 2px solid #007bff;
  animation: selectorFadeIn-e32e8e15 0.2s ease-out;
}
@keyframes selectorFadeIn-e32e8e15 {
from {
    opacity: 0;
    transform: scale(0.9) translateY(10px);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}
.connector-options[data-v-e32e8e15] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.connector-option[data-v-e32e8e15] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: white;
  border: 2px solid #e9ecef;
  min-width: 70px;
}
.connector-option[data-v-e32e8e15]:hover {
  background: #f8f9ff;
  border-color: #007bff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
}
.connector-icon[data-v-e32e8e15] {
  margin-bottom: 6px;
  color: #495057;
  font-size: 1.5rem;
  transition: color 0.2s ease;
}
.connector-option:hover .connector-icon[data-v-e32e8e15] {
  color: #007bff;
}
.connector-label[data-v-e32e8e15] {
  font-size: 0.75rem;
  font-weight: 500;
  color: #495057;
  text-align: center;
  font-family: "Poppins", sans-serif;
  transition: color 0.2s ease;
}
.connector-option:hover .connector-label[data-v-e32e8e15] {
  color: #007bff;
}
.selector-arrow[data-v-e32e8e15] {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #007bff;
}
.selector-arrow[data-v-e32e8e15]::after {
  content: "";
  position: absolute;
  top: -8px;
  left: -6px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid white;
}

/* Ensure the selector appears above all map elements */
.inline-connector-selector[data-v-e32e8e15] {
  position: fixed !important;
}

.floor-connector-annotation[data-v-b3a150de] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 2px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
}
.floor-connector-annotation[data-v-b3a150de]:hover {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.floor-connector-annotation-selected[data-v-b3a150de] {
  transform: translate(-50%, -50%) scale(1.3) !important;
  border-color: #00bcd4 !important;
  border-width: 3px !important;
  box-shadow: 0 4px 16px rgba(0, 188, 212, 0.4) !important;
}
.connector-icon-container[data-v-b3a150de] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.connector-icon[data-v-b3a150de] {
  flex-shrink: 0;
}

/* Ensure icons maintain their aspect ratio and fit well */
.connector-icon svg[data-v-b3a150de] {
  max-width: 20px;
  max-height: 20px;
}

.connector-popup-overlay[data-v-3bde81fa] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.connector-popup[data-v-3bde81fa] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  max-width: 550px;
  width: 90%;
  max-height: 85vh;
  overflow-y: auto;
  animation: popupFadeIn-3bde81fa 0.2s ease-out;
}
@keyframes popupFadeIn-3bde81fa {
from {
    opacity: 0;
    transform: scale(0.9);
}
to {
    opacity: 1;
    transform: scale(1);
}
}
.popup-header[data-v-3bde81fa] {
  padding: 20px 24px 16px;
  border-bottom: 1px solid #e9ecef;
}
.popup-title[data-v-3bde81fa] {
  color: #333;
  margin-bottom: 4px;
}
.connector-name[data-v-3bde81fa] {
  color: #6c757d;
}
.popup-content[data-v-3bde81fa] {
  padding: 20px 24px;
}
.popup-footer[data-v-3bde81fa] {
  padding: 16px 24px;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* Connector Type Section */
.connector-type-section .form-select[data-v-3bde81fa] {
  border-radius: 8px;
  padding: 8px 12px;
}

/* Floor Connections */
.connections-list[data-v-3bde81fa] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 8px;
  margin-top: 8px;
}
.connection-row[data-v-3bde81fa] {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 8px;
  transition: all 0.2s ease;
}
.connection-row[data-v-3bde81fa]:last-child {
  margin-bottom: 0;
}
.connection-row.connection-active[data-v-3bde81fa] {
  border-color: #28a745;
  box-shadow: 0 0 0 1px rgba(40, 167, 69, 0.2);
}
.connection-row[data-v-3bde81fa]:hover {
  border-color: #007bff;
}
.connection-header[data-v-3bde81fa] {
  min-height: 48px;
}
.floor-info[data-v-3bde81fa] {
  flex: 0 0 80px;
  text-align: center;
}
.current-floor[data-v-3bde81fa],
.target-floor[data-v-3bde81fa] {
  color: #495057;
  font-size: 0.95rem;
}
.floor-name[data-v-3bde81fa] {
  display: block;
  font-size: 0.75rem;
  color: #6c757d;
}
.connection-control[data-v-3bde81fa] {
  flex: 1;
  display: flex;
  justify-content: center;
}
.connection-btn[data-v-3bde81fa] {
  background: white;
  border: 2px solid #dee2e6;
  border-radius: 6px;
  padding: 6px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: "Courier New", monospace;
  font-weight: bold;
  font-size: 0.9rem;
  min-width: 60px;
}
.connection-btn[data-v-3bde81fa]:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.connection-none[data-v-3bde81fa] {
  color: #6c757d;
  border-color: #dee2e6;
}
.connection-none[data-v-3bde81fa]:hover {
  border-color: #007bff;
  color: #007bff;
}
.connection-bidirectional[data-v-3bde81fa] {
  background: #28a745;
  border-color: #28a745;
  color: white;
}
.connection-bidirectional[data-v-3bde81fa]:hover {
  background: #218838;
  border-color: #218838;
}
.connection-outgoing[data-v-3bde81fa] {
  background: #007bff;
  border-color: #007bff;
  color: white;
}
.connection-outgoing[data-v-3bde81fa]:hover {
  background: #0056b3;
  border-color: #0056b3;
}
.connection-incoming[data-v-3bde81fa] {
  background: #fd7e14;
  border-color: #fd7e14;
  color: white;
}
.connection-incoming[data-v-3bde81fa]:hover {
  background: #e55a00;
  border-color: #e55a00;
}

/* Target Connector Section */
.target-connector-section[data-v-3bde81fa] {
  border-top: 1px dashed #e9ecef;
  padding-top: 12px;
  margin-top: 8px;
}
.target-connector-label[data-v-3bde81fa] {
  color: #6c757d;
}
.match-loading[data-v-3bde81fa] {
  padding: 12px;
  text-align: center;
  color: #6c757d;
  background: #f8f9fa;
  border-radius: 6px;
}
.match-result .matched-connector[data-v-3bde81fa] {
  background: #e8f5e9;
  border: 1px solid #c8e6c9;
  border-radius: 6px;
  padding: 10px 12px;
}
.match-result .matched-connector.manual-match[data-v-3bde81fa] {
  background: #fff3e0;
  border-color: #ffe0b2;
}
.confidence-badge[data-v-3bde81fa] {
  font-size: 0.7rem;
  padding: 2px 6px;
  border-radius: 10px;
  font-weight: 500;
}
.confidence-high[data-v-3bde81fa] {
  background: #c8e6c9;
  color: #2e7d32;
}
.confidence-medium[data-v-3bde81fa] {
  background: #fff9c4;
  color: #f57f17;
}
.confidence-low[data-v-3bde81fa] {
  background: #ffcdd2;
  color: #c62828;
}
.manual-badge[data-v-3bde81fa] {
  font-size: 0.7rem;
  color: #e65100;
}
.change-btn[data-v-3bde81fa] {
  font-size: 0.75rem;
  padding: 4px 8px;
}
.no-match[data-v-3bde81fa] {
  background: #fff8e1;
  border: 1px solid #ffecb3;
  border-radius: 6px;
  padding: 12px;
}
.select-manually-btn[data-v-3bde81fa] {
  font-size: 0.8rem;
}
.suggestions-preview[data-v-3bde81fa] {
  background: #e3f2fd;
  border-radius: 6px;
  padding: 8px;
}
.suggestion-item[data-v-3bde81fa] {
  font-size: 0.75rem;
  padding: 4px 8px;
}
.confidence-mini[data-v-3bde81fa] {
  font-size: 0.65rem;
  opacity: 0.8;
  margin-left: 4px;
}

/* Completion Status */
.completion-status[data-v-3bde81fa] {
  padding: 10px 12px;
  border-radius: 6px;
  display: flex;
  align-items: center;
}
.completion-status.complete[data-v-3bde81fa] {
  background: #e8f5e9;
  border: 1px solid #c8e6c9;
}
.completion-status.incomplete[data-v-3bde81fa] {
  background: #fff8e1;
  border: 1px solid #ffecb3;
}

/* Bidirectional linking info */
.bidirectional-info[data-v-3bde81fa] {
  padding: 8px 12px;
  border-radius: 6px;
  background: #e3f2fd;
  border: 1px solid #bbdefb;
  display: flex;
  align-items: center;
}

/* Candidates Modal */
.candidates-modal-overlay[data-v-3bde81fa] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.candidates-modal[data-v-3bde81fa] {
  background: white;
  border-radius: 12px;
  max-width: 450px;
  width: 90%;
  max-height: 70vh;
  display: flex;
  flex-direction: column;
  animation: popupFadeIn-3bde81fa 0.15s ease-out;
}
.candidates-header[data-v-3bde81fa] {
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
}
.candidates-content[data-v-3bde81fa] {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
}
.candidates-list[data-v-3bde81fa] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.candidate-item[data-v-3bde81fa] {
  background: #f8f9fa;
  border: 2px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.candidate-item[data-v-3bde81fa]:hover {
  background: #e9ecef;
  border-color: #007bff;
}
.candidate-item.selected[data-v-3bde81fa] {
  background: #e3f2fd;
  border-color: #007bff;
}
.existing-connections[data-v-3bde81fa] {
  color: #17a2b8;
}
.candidates-footer[data-v-3bde81fa] {
  padding: 16px 20px;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* Form elements */
.form-label[data-v-3bde81fa] {
  color: #495057;
  margin-bottom: 4px;
  display: block;
}
.btn[data-v-3bde81fa] {
  padding: 8px 16px;
  border-radius: 6px;
  border: none;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-primary[data-v-3bde81fa] {
  background: #007bff;
  color: white;
}
.btn-primary[data-v-3bde81fa]:hover:not(:disabled) {
  background: #0056b3;
}
.btn-primary[data-v-3bde81fa]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.btn-secondary[data-v-3bde81fa] {
  background: #6c757d;
  color: white;
}
.btn-secondary[data-v-3bde81fa]:hover {
  background: #5a6268;
}
.btn-outline-secondary[data-v-3bde81fa] {
  background: transparent;
  border: 1px solid #6c757d;
  color: #6c757d;
}
.btn-outline-secondary[data-v-3bde81fa]:hover {
  background: #6c757d;
  color: white;
}
.btn-outline-primary[data-v-3bde81fa] {
  background: transparent;
  border: 1px solid #007bff;
  color: #007bff;
}
.btn-outline-primary[data-v-3bde81fa]:hover {
  background: #007bff;
  color: white;
}
.btn-sm[data-v-3bde81fa] {
  padding: 4px 8px;
  font-size: 0.8rem;
}

/* Utility classes */
.fs-11[data-v-3bde81fa] {
  font-size: 11px !important;
}
.fs-12[data-v-3bde81fa] {
  font-size: 12px !important;
}
.fs-13[data-v-3bde81fa] {
  font-size: 13px !important;
}
.fs-14[data-v-3bde81fa] {
  font-size: 14px !important;
}
.fw-medium[data-v-3bde81fa] {
  font-weight: 500 !important;
}
.fw-semibold[data-v-3bde81fa] {
  font-weight: 600 !important;
}
.text-muted[data-v-3bde81fa] {
  color: #6c757d !important;
}
.text-success[data-v-3bde81fa] {
  color: #28a745 !important;
}
.text-warning[data-v-3bde81fa] {
  color: #ffc107 !important;
}
.text-info[data-v-3bde81fa] {
  color: #17a2b8 !important;
}
.me-1[data-v-3bde81fa] {
  margin-right: 0.25rem !important;
}
.me-2[data-v-3bde81fa] {
  margin-right: 0.5rem !important;
}
.ms-2[data-v-3bde81fa] {
  margin-left: 0.5rem !important;
}
.mb-0[data-v-3bde81fa] {
  margin-bottom: 0 !important;
}
.mb-1[data-v-3bde81fa] {
  margin-bottom: 0.25rem !important;
}
.mb-2[data-v-3bde81fa] {
  margin-bottom: 0.5rem !important;
}
.mb-3[data-v-3bde81fa] {
  margin-bottom: 1rem !important;
}
.mt-1[data-v-3bde81fa] {
  margin-top: 0.25rem !important;
}
.mt-2[data-v-3bde81fa] {
  margin-top: 0.5rem !important;
}
.mt-3[data-v-3bde81fa] {
  margin-top: 1rem !important;
}
.py-2[data-v-3bde81fa] {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.py-4[data-v-3bde81fa] {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
.px-3[data-v-3bde81fa] {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
.pb-3[data-v-3bde81fa] {
  padding-bottom: 1rem !important;
}
.p-3[data-v-3bde81fa] {
  padding: 1rem !important;
}
.d-flex[data-v-3bde81fa] {
  display: flex !important;
}
.d-block[data-v-3bde81fa] {
  display: block !important;
}
.align-items-center[data-v-3bde81fa] {
  align-items: center !important;
}
.justify-content-between[data-v-3bde81fa] {
  justify-content: space-between !important;
}
.justify-content-center[data-v-3bde81fa] {
  justify-content: center !important;
}
.text-center[data-v-3bde81fa] {
  text-align: center !important;
}
.rounded[data-v-3bde81fa] {
  border-radius: 0.375rem !important;
}
.font-poppins[data-v-3bde81fa] {
  font-family: "Poppins", sans-serif !important;
}
.fa-2x[data-v-3bde81fa] {
  font-size: 2em;
}

.coordinate-loading-overlay[data-v-de828ca6] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background-color: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
}
.loading-content[data-v-de828ca6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 2rem;
  max-width: 90%;
  z-index: 10;
  position: relative;
}
.rotating-icon[data-v-de828ca6] {
  width: 80px;
  height: 80px;
  animation: smoothRotate-de828ca6 2s linear infinite;
}
.loading-text[data-v-de828ca6] {
  font-family: "Poppins", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #000000 !important;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.02em;
  padding: 1rem 2rem;
  background: #ffffff !important;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 2px solid #e0e0e0;
  z-index: 20;
  position: relative;
  white-space: normal;
  display: block;
  visibility: visible;
  opacity: 1;
  max-width: 100%;
}
@keyframes smoothRotate-de828ca6 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

/* Mobile responsive */
@media only screen and (max-width: 767px) {
.coordinate-loading-overlay[data-v-de828ca6] {
    /* Position overlay in the visible map area above the bottom drawer */
    /* The drawer typically takes ~40% of viewport, so center in top 60% */
    height: calc(100vh - calc(var(--builder-card-height-percent, 40) * 1vh));
    min-height: unset;
    bottom: auto;
}
.rotating-icon[data-v-de828ca6] {
    width: 64px;
    height: 64px;
}
.loading-text[data-v-de828ca6] {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    padding: 1rem 1.5rem !important;
    white-space: normal !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 85vw !important;
    width: auto !important;
    min-width: 280px !important;
    color: #000000 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}
.loading-text span[data-v-de828ca6] {
    color: #000000 !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.loading-content[data-v-de828ca6] {
    padding: 1rem;
    gap: 1.5rem;
    max-width: 90vw;
}
}

.builder-map-container[data-v-95092d51] {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  position: relative;
}
.image-container[data-v-95092d51] {
  position: absolute; /* Ensure it covers the full screen */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* Full viewport height */
}
.map-container-wrapper[data-v-95092d51] {
  position: relative; /* Required for absolute positioning of child elements */
  width: 100%;
  height: 100%;
  min-height: 100vh;
}
.map-container[data-v-95092d51] {
  position: absolute; /* Use absolute positioning to cover the entire screen */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* Ensure it covers the full viewport height */
  overflow: hidden;
  visibility: hidden; /* Initially hide the map */
}
.map-container[data-v-95092d51]:not(.hidden) {
  visibility: visible; /* Show the map when mapData is ready */
}
.map-loading[data-v-95092d51] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 10;
}
.loader[data-v-95092d51] {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin-95092d51 1s linear infinite;
}
@keyframes spin-95092d51 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.moveable-image[data-v-95092d51] {
  position: absolute;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.manual-controls[data-v-95092d51] {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 999;
}
.manual-controls button[data-v-95092d51] {
  margin: 5px;
}
.selection-box[data-v-95092d51] {
  position: absolute;
  pointer-events: none;
  z-index: 1000;
}

/* .feature-tab {
  position: fixed;
  bottom: 0;
  z-index: 1;
  display: inline-block;
  pointer-events: none;
  padding-left: 20px;
  padding-bottom: 20px;
} */
.feature-tab > div[data-v-95092d51] {
  pointer-events: none;
}
.feature-tab button[data-v-95092d51] {
  pointer-events: auto;
}
.bg-primary[data-v-95092d51] {
  background-color: #007bff;
}
.text-primary[data-v-95092d51] {
  color: #007bff;
}
.border-primary[data-v-95092d51] {
  border-color: #007bff;
}
.delete-marker img[data-v-95092d51] {
  pointer-events: none; /* Ensure click events pass through to the parent div */
}
.custom-marker[data-v-95092d51] {
  cursor: pointer;
}
.custom-marker img[data-v-95092d51] {
  width: 30px;
  height: 30px;
  pointer-events: none; /* Ensures click events go to parent div */
}
.map-popup[data-v-95092d51] {
  padding: 10px;
}
.map-popup h4[data-v-95092d51] {
  margin: 0 0 5px 0;
  font-size: 16px;
  font-weight: 600;
}
.map-popup p[data-v-95092d51] {
  margin: 0;
  font-size: 14px;
  color: #666;
}
.coordinate-update-loader[data-v-95092d51] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 8px;
}

/* Navigation path marker styles */
.navigation-path-marker[data-v-95092d51] {
  width: 12px;
  height: 12px;
  background-color: #007cbf;
  border: 2px solid #ffffff;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}
.navigation-path-marker[data-v-95092d51]:hover {
  background-color: #0056b3;
  transform: scale(1.2);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.navigation-path-marker[data-v-95092d51]:active {
  transform: scale(0.9);
}

/* Right-click / Long-press Context Menu */
.map-context-menu[data-v-95092d51] {
  position: absolute;
  z-index: 1000;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16);
  min-width: 175px;
  padding: 4px 0;
  overflow: hidden;
  pointer-events: all;
}
.map-context-menu .context-menu-title[data-v-95092d51] {
  font-size: 11px;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 8px 14px 4px;
  user-select: none;
}
.map-context-menu .context-menu-item[data-v-95092d51] {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 9px 14px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  color: #2c2c2c;
  text-align: left;
  transition: background 0.12s ease;
}
.map-context-menu .context-menu-item[data-v-95092d51]:hover {
  background: #f0f4ff;
  color: #1a1a1a;
}
.map-context-menu .context-menu-item i[data-v-95092d51] {
  width: 16px;
  text-align: center;
  color: #555;
  flex-shrink: 0;
}

/* Remove default mapbox popup styles */
.custom-popup-container .mapboxgl-popup-content {
  padding: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
}
.custom-popup-container .mapboxgl-popup-tip {
  display: none; /* Hide the default triangle tip */
}

/* Custom modern popup styles */
.custom-popup {
  background: white;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  min-width: 260px; /* Increased minimum width */
  max-width: 320px; /* Added maximum width to prevent too wide popups */
  transform: translateY(-8px);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.custom-popup:hover {
  transform: translateY(-10px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}
.popup-content {
  padding: 20px 24px;
}
.custom-popup h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
  line-height: 1.4; /* Added line height for better readability */
  word-wrap: break-word; /* Allow long words to break */
  white-space: normal; /* Allow text to wrap */
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, 600);
  font-style: var(--custom-font-style, inherit);
}
.custom-popup p {
  margin: 0;
  font-size: 14px;
  color: #666;
  line-height: 1.5; /* Increased line height for better readability */
  word-wrap: break-word; /* Allow long words to break */
  white-space: normal; /* Allow text to wrap */
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.popup-detail {
  margin-top: 12px !important; /* Increased top margin */
  font-size: 13px !important;
  color: #888 !important;
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.4 !important;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}

/* Marker styles */
.custom-marker {
  cursor: pointer;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent; /* Ensure background is transparent */
  user-select: none; /* Prevent text selection */
  -webkit-user-select: none; /* Safari */
}
.custom-marker.selected {
  background: transparent !important; /* Force transparent background even when selected */
}
.custom-marker img {
  width: 30px;
  height: 30px;
  pointer-events: none;
  transition: transform 0.2s ease;
  -webkit-tap-highlight-color: transparent; /* Remove tap highlight on mobile */
}
.custom-marker:hover img {
  transform: scale(1.1);
}

/* Remove any default focus styles */
.custom-marker:focus {
  outline: none;
  background: transparent;
}
.custom-marker:active {
  background: transparent;
}

.custom-error-popup {
  background-color: #fef0f0;
  border: 1px solid #fde2e2;
  padding: 15px 20px;
  border-radius: 4px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  font-family: "Poppins", sans-serif;
}
.custom-error-popup .el-message__content {
  color: #f56c6c;
  font-size: 14px;
  line-height: 1.4;
}
.custom-error-popup .el-message__closeBtn {
  color: #f56c6c;
  font-size: 16px;
}

/* Add these styles */
.feature-tab {
  position: fixed;
  bottom: 0;
  z-index: 1;
  display: inline-block;
  pointer-events: none;
  padding-left: 20px;
  padding-bottom: 20px;
}
.feature-tab > div {
  pointer-events: none;
}
.feature-tab button {
  pointer-events: auto;
}

/* Add loading indicator styles */
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 1rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loading-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

/* Existing styles... */

/* Delete marker styles - Pin-shaped SVG markers */
[data-v-95092d51] .delete-marker {
  width: 32px;
  height: 40px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  /* Remove background and border radius since SVG handles the shape */
}
[data-v-95092d51] .delete-marker:hover {
  transform: scale(1.1);
}
[data-v-95092d51] .delete-marker svg {
  width: 100%;
  height: 100%;
  pointer-events: all;
  touch-action: none;
  transition: all 0.2s ease;
}

/* Point edit marker styles - Pin-shaped SVG markers with move icon */
[data-v-95092d51] .point-edit-marker {
  width: 32px;
  height: 40px;
  cursor: move;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  /* Remove background and border radius since SVG handles the shape */
}
[data-v-95092d51] .point-edit-marker:hover {
  transform: scale(1.1);
}
[data-v-95092d51] .point-edit-marker svg {
  width: 100%;
  height: 100%;
  pointer-events: all;
  touch-action: none;
  transition: all 0.2s ease;
}
[data-v-95092d51] .draggable-marker {
  cursor: move;
}
[data-v-95092d51] .draggable-marker:hover {
  transform: scale(1.1);
}
[data-v-95092d51] .draggable-marker[data-dragging="true"] {
  transform: scale(1.2);
  z-index: 100;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3));
}
[data-v-95092d51] .marker-dragging {
  cursor: move !important;
}

/* Remove the old img styles since we're using SVG now */

/* Line hover marker styles */
.line-hover-marker[data-v-95092d51] {
  position: absolute;
  width: 24px;
  height: 24px;
  background: rgba(74, 144, 226, 0.7);
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 1050;
  pointer-events: none; /* Critical: prevents mouse event interference */
  will-change: transform;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: none; /* Remove transition to ensure smooth movement */
}
.line-hover-marker-inner[data-v-95092d51] {
  width: 12px;
  height: 12px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  color: #4a90e2;
}
.plus-icon[data-v-95092d51] {
  font-size: 12px;
  line-height: 1;
  color: #4a90e2;
  font-weight: bold;
  user-select: none;
}

/* Edge hover marker styles for Transform mode */
.edge-hover-marker[data-v-95092d51] {
  position: absolute;
  width: 28px;
  height: 24px;
  background: rgba(226, 74, 144, 0.7);
  border: 2px solid white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 1050;
  pointer-events: none; /* Critical: prevents mouse event interference */
  will-change: transform;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: none; /* Remove transition to ensure smooth movement */
}
.edge-hover-marker-inner[data-v-95092d51] {
  width: 20px;
  height: 12px;
  background: white;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  color: #e24a90;
}
.edge-drag-icon[data-v-95092d51] {
  font-size: 12px;
  line-height: 1;
  color: #e24a90;
  font-weight: bold;
  user-select: none;
}

/* Move handle styles */
[data-v-95092d51] .move-handle {
  width: 32px;
  height: 32px;
  background: rgba(33, 150, 83, 0.9);
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  cursor: move;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
[data-v-95092d51] .move-handle:hover {
  background: rgba(33, 150, 83, 1);
  transform: scale(1.1);
}
[data-v-95092d51] .move-handle-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
[data-v-95092d51] .move-handle-inner svg {
  width: 18px;
  height: 18px;
}

/* Rotation handle styles */
[data-v-95092d51] .rotation-handle {
  width: 28px;
  height: 28px;
  background: rgba(255, 87, 34, 0.9);
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  cursor: grab;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
[data-v-95092d51] .rotation-handle:hover {
  background: rgba(255, 87, 34, 1);
  transform: scale(1.1);
}
[data-v-95092d51] .rotation-handle:active {
  cursor: grabbing;
}
[data-v-95092d51] .rotation-handle-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
[data-v-95092d51] .rotation-handle-inner svg {
  width: 14px;
  height: 14px;
}

/* Specific rotation handle positions */
[data-v-95092d51] .rotation-handle-top {
  border-color: #ff5722;
}
[data-v-95092d51] .rotation-handle-right {
  border-color: #ff5722;
}
[data-v-95092d51] .rotation-handle-bottom {
  border-color: #ff5722;
}
[data-v-95092d51] .rotation-handle-left {
  border-color: #ff5722;
}

/* Resize handle styles */
[data-v-95092d51] .resize-handle {
  width: 24px;
  height: 24px;
  background: rgba(33, 150, 243, 0.9);
  border: 2px solid white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  position: absolute;
  z-index: 1000;
}
[data-v-95092d51] .resize-handle:hover {
  background: rgba(33, 150, 243, 1);
  transform: scale(1.1);
}
[data-v-95092d51] .resize-handle-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
[data-v-95092d51] .resize-handle-inner svg {
  width: 12px;
  height: 12px;
}

/* Corner resize handles (square for proportional resizing) */
[data-v-95092d51] .resize-handle-corner {
  border-radius: 4px;
  cursor: nw-resize;
}
[data-v-95092d51] .resize-handle-corner.top-left {
  cursor: nw-resize;
}
[data-v-95092d51] .resize-handle-corner.top-right {
  cursor: ne-resize;
}
[data-v-95092d51] .resize-handle-corner.bottom-left {
  cursor: sw-resize;
}
[data-v-95092d51] .resize-handle-corner.bottom-right {
  cursor: se-resize;
}

/* Edge resize handles (circular for single-dimension resizing) */
[data-v-95092d51] .resize-handle-edge {
  border-radius: 50%;
}
[data-v-95092d51] .resize-handle-edge.top,[data-v-95092d51] .resize-handle-edge.bottom {
  cursor: ns-resize;
}
[data-v-95092d51] .resize-handle-edge.left,[data-v-95092d51] .resize-handle-edge.right {
  cursor: ew-resize;
}

/* Navigation hover marker styles */
.navigation-hover-marker[data-v-95092d51] {
  position: absolute;
  width: 24px;
  height: 24px;
  background: rgba(0, 124, 191, 0.8); /* Navigation blue color */
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 1050;
  pointer-events: none; /* Critical: prevents mouse event interference */
  will-change: transform;
  transition: transform 0.1s ease-out;
  display: flex;
  align-items: center;
  justify-content: center;
}
.navigation-hover-marker-inner[data-v-95092d51] {
  width: 12px;
  height: 12px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  color: #007cbf; /* Navigation blue color */
}
.navigation-hover-marker .plus-icon[data-v-95092d51] {
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
}

/* Connector change mode floating Done button overlay */
.connector-change-done-overlay[data-v-95092d51] {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1100;
  pointer-events: auto;
}
.connector-change-done-container[data-v-95092d51] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.connector-change-done-info[data-v-95092d51] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.connector-change-done-label[data-v-95092d51] {
  font-size: 13px;
  color: #666;
  font-weight: 500;
}
.connector-change-done-name[data-v-95092d51] {
  font-size: 14px;
  color: #333;
  font-weight: 600;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.connector-change-done-buttons[data-v-95092d51] {
  display: flex;
  gap: 8px;
}
.connector-change-cancel-btn[data-v-95092d51] {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  border: 1px solid #ddd;
  background: white;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
}
.connector-change-cancel-btn[data-v-95092d51]:hover {
  background: #f5f5f5;
  border-color: #ccc;
}
.connector-change-done-btn[data-v-95092d51] {
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  border: none;
  background: #4CAF50;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
}
.connector-change-done-btn[data-v-95092d51]:hover {
  background: #43A047;
}
.chunk-loading-indicator[data-v-95092d51] {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: rgba(30, 30, 30, 0.88);
  backdrop-filter: blur(8px);
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  min-width: 280px;
  pointer-events: none;
}
.chunk-loading-bar[data-v-95092d51] {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
  overflow: hidden;
}
.chunk-loading-fill[data-v-95092d51] {
  height: 100%;
  background: linear-gradient(90deg, #4CAF50, #66BB6A);
  border-radius: 2px;
  transition: width 0.3s ease;
}
.chunk-loading-text[data-v-95092d51] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  letter-spacing: 0.02em;
}

.scrollable-container {
  height: 100vh;
  overflow-y: scroll; /* Use scroll (not auto) to force scrollbar track to always show */
  scroll-behavior: smooth;
  position: relative;
  scrollbar-gutter: stable; /* Reserve space for scrollbar to prevent layout shift */
  /* Show scrollbar for sidebar (includes ShapesTable) */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
}
.scrollable-container::-webkit-scrollbar {
  width: 8px;
}
.scrollable-container::-webkit-scrollbar-track {
  background: transparent;
}
.scrollable-container::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
.scrollable-container::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.35);
}
.content-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 10px;
}
.image-section {
  flex-shrink: 0;
}

/* Mobile: Prevent long image names from pushing buttons */
.image-info-container {
  flex: 1;
  min-width: 0; /* Allow flex item to shrink below content size */
  overflow: hidden;
}
.image-name-wrapper {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.image-name-text {
  word-wrap: break-word;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* Limit to 2 lines */
  line-clamp: 2; /* Standard property for compatibility */
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  max-height: 2.8em; /* 2 lines * 1.4 line-height */
}
.image-buttons-container {
  flex-shrink: 0;
  margin-left: 8px;
}

/* Mobile: Prevent shapes info from pushing multi-select */
.shapes-info-container {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.shapes-multi-select-container {
  flex-shrink: 0;
  margin-left: 8px;
}
.items-filter-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ensure buttons maintain minimum width on mobile */
@media only screen and (max-width: 767px) {
.button-fixed-width {
    min-width: 80px !important;
    width: 80px !important;
}
.image-name-text {
    font-size: 13px !important;
}
.items-filter-text {
    font-size: 13px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.items-text-btn,
  .hidden-text-btn,
  .text-separator {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.items-text-btn {
    color: #212529 !important;
    font-weight: 600 !important;
}
.hidden-text-btn {
    color: #6c757d !important;
    font-weight: 400 !important;
}
.text-separator {
    color: #6c757d !important;
}
.shapes-info-container {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    flex: 1 !important;
}
}
.shapes-section {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0; /* Important for nested flex scrolling */
}
.section-spacer {
  height: 20px;
}

/* New CSS Grid + Sticky approach - much more reliable */
.shapes-container {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  min-height: 400px; /* Ensure minimum usable height */
  overflow: hidden;
}

/* Prevent any intermediate containers from scrolling */
.image-tabs-section .nested-tabs > .tab-content > div {
  overflow: hidden !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Ensure parent containers have proper height for CSS Grid */
.nested-tabs .tab-content {
  height: 100%;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  overflow: hidden; /* Prevent tab content from scrolling */
  padding-left: 0;
  padding-right: 0;
}
.shapes-header {
  background: white;
  padding: 10px 0 0 0;
  grid-row: 1;
  /* Regular header styling */
}
.shapes-header-sticky {
  background: white;
  padding: 10px 0 0 0;
  position: sticky;
  top: 0;
  z-index: 10;
  grid-row: 1;
  /* Sticky header styling */
}
.no-features-message {
  padding: 12px 0;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
  margin-top: 8px;
  margin-bottom: 8px;
}
.no-features-message p {
  font-size: 0.875rem;
  color: #6c757d;
}
.shapes-table-wrapper {
  grid-row: 2;
  overflow: hidden;
  min-height: 0;
  height: 100%; /* Ensure it takes all remaining space */
  /* Remove complex calc() - let CSS Grid handle sizing automatically */
}
.navigation-button {
  background-color: white;
  border: 1px solid #ced4da; /* Match text field border color and thickness */
  color: black;
  transition: all 0.3s ease;
  width: auto;
  height: 40px; /* Increased height to match text field */
  white-space: nowrap;
  padding: 8px 12px; /* Better padding for increased height */
  line-height: 1.5;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
}
.navigation-button:hover {
  background-color: #f8f9fa;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.navigation-button:active {
  transform: scale(0.95);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.navigation-button.active {
  background-color: #e3f2fd;
  border-color: #ced4da; /* Keep same border as text field */
  color: black;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.navigation-button.full-width {
  width: 100%;
}
.navigation-container-full {
  width: 100%;
}
.navigation-text {
  color: #000000 !important; /* Explicit black color */
  font-size: 14px;
  font-weight: 500;
  display: block;
  visibility: visible;
  opacity: 1;
}
.close-nav-btn {
  background-color: #dc3545;
  border: none;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
}
.close-nav-btn:hover {
  background-color: #c82333;
}
.close-text {
  font-size: 13px;
  color: white !important;
  display: inline;
  visibility: visible;
  opacity: 1;
}
.close-icon {
  width: 14px;
  height: 14px;
  filter: brightness(0) invert(1);
}

/* Mobile specific styles for navigation button */
@media only screen and (max-width: 767px) {
.navigation-button {
    min-height: 36px;
    height: 36px;
    padding: 6px 10px;
}
.navigation-text {
    color: #000000 !important;
    font-size: 13px !important;
    white-space: normal;
    line-height: 1.3;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.close-nav-btn {
    padding: 3px 8px;
}
.close-text {
    font-size: 12px !important;
    color: white !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.close-icon {
    width: 12px;
    height: 12px;
}
}
.navigation-button.active .navigation-text {
  color: #007bff; /* Blue text when active */
}

/* View Mode Toggle Styles */
.view-mode-toggle-container {
  width: 100%;
}
.view-mode-toggle {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.25rem;
  background: #e9ecef;
  border-radius: 10px;
}
.view-mode-option {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-size: 0.9rem;
  font-weight: 600;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: "Poppins", sans-serif;
}
.view-mode-option:hover {
  background: rgba(255, 255, 255, 0.5);
}
.view-mode-option.active {
  background: white;
  color: #333;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.view-mode-option i.mdi {
  font-size: 1.1rem;
}

/* Navigation status indicator */
.nav-status-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.25rem;
}
.nav-status-indicator.ready {
  color: #28a745;
}
.nav-status-indicator.ready i {
  font-size: 0.85rem;
}
.nav-status-indicator.pending {
  color: #ffc107;
}
.nav-status-indicator.pending i {
  font-size: 0.85rem;
}

/* Mobile responsive styles for view mode toggle */
@media only screen and (max-width: 767px) {
.view-mode-toggle {
    padding: 0.2rem;
    gap: 0.15rem;
}
.view-mode-option {
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    gap: 0.35rem;
}
.view-mode-option i.mdi {
    font-size: 1rem;
}
.view-mode-option span:not(.nav-status-indicator) {
    display: inline;
}
}
.shapes-table-container {
  flex: 1;
  overflow-y: auto;
  padding: 0 16px; /* Add padding to ensure content doesn't touch the edges */
  height: 100%; /* Ensure it takes full height of its container */
  /* Show scrollbar on the right */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
}
.shapes-table-container::-webkit-scrollbar {
  width: 8px;
}
.shapes-table-container::-webkit-scrollbar-track {
  background: transparent;
}
.shapes-table-container::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
.shapes-table-container::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.35);
}

/* Target vue-virtual-scroller's scroll container inside ShapesTable */
.shapes-table-container .vue-recycle-scroller {
  overflow-y: scroll !important; /* Force scrollbar to show */
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
}
.shapes-table-container .vue-recycle-scroller::-webkit-scrollbar {
  width: 8px;
}
.shapes-table-container .vue-recycle-scroller::-webkit-scrollbar-track {
  background: transparent;
}
.shapes-table-container .vue-recycle-scroller::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
.shapes-table-container .vue-recycle-scroller::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.35);
}
.shapes-table-container :deep(.table) {
  width: 100%;
}
.shapes-table-container :deep(.map-card) {
  transition: all 0.2s ease;
}
.shapes-table-container :deep(.map-card:hover) {
  background-color: rgba(0, 123, 255, 0.05);
}
.shapes-table-container :deep(.map-card.selected) {
  background-color: rgba(0, 123, 255, 0.1);
  outline: 2px solid #007bff;
}

/* Add dividers between cards */
.shapes-table-container :deep(td) {
  border-bottom: 1px solid #dee2e6;
}
.shapes-table-container :deep(tr:last-child td) {
  border-bottom: none;
}
.autocomplete-dropdown {
  position: absolute;
  background-color: white;
  border: 1px solid #ccc;
  z-index: 1000;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.autocomplete-item {
  padding: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.autocomplete-item:hover {
  background-color: #f0f0f0;
}
.autocomplete-item i {
  margin-right: 8px;
  color: #007bff; /* Pin color */
}
.custom-selection {
  border: 2px solid #0c8ce9;
}
.fs-14 {
  font-size: 14px !important;
}
.fs-12 {
  font-size: 12px !important;
}
.v-slider {
  width: 100%;
}
.theme-green-bg {
  background-color: #28a745;
}
.theme-gray-bg {
  background-color: #6c757d;
}
.theme-red-bg {
  background-color: #dc3545;
}
.mr-2 {
  margin-right: 0.5rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.full-width {
  width: 100%;
}
.button-fixed-width {
  width: 100px !important;
}
.slider-full-width {
  flex-grow: 1;
}
.mr-2 {
  margin-right: 30px;
  /* Adjust as needed for spacing */
}
.table-container {
  /*max-height: calc(100vh - 200px); /* Adjust this value to fit your layout */
  max-height: 100vh;
  overflow-y: auto;
  padding: 0; /* Remove padding */
  margin: 0; /* Remove margin */
}
.table-container table {
  width: 100%;
  border-collapse: collapse;
}
.table-container th,
.table-container td {
  padding: 8px;
  text-align: left;
  border-bottom: 1px solid #ddd;
}
.selected {
  background-color: #007bff; /* Change to your desired selected row color */
  color: white; /* Change text color if needed */
}
.disabled {
  opacity: 0.5; /* Greyed out appearance */
  pointer-events: none; /* Prevent clicks */
}
button {
  background: none; /* Remove default button styling */
  border: none; /* Remove border */
  padding: 5px; /* Add padding */
  cursor: pointer; /* Pointer cursor on hover */
}
button img {
  width: 24px; /* Adjust size as needed */
  height: 24px; /* Adjust size as needed */
  margin: 0 5px; /* Space between buttons */
}
.custom-x-icon {
  background-image: url("/assets/x-button.334797dc.png");
  background-size: cover;
  width: 24px; /* Adjust size as needed */
  height: 24px; /* Adjust size as needed */
}
.location-label-row {
  min-height: 32px;
  padding: 4px 0;
  cursor: pointer;
  border: none;
  background: transparent;
  overflow: hidden;
  max-width: 100%;
  display: flex;
  align-items: center;
}
.location-label-text {
  font-size: 0.875rem;
  color: rgba(0, 0, 0, 0.6);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 28px);
  flex: 0 1 auto;
  margin-right: 4px;
}
.location-edit-btn {
  background: none;
  border: none;
  padding: 2px 4px;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
}
.location-edit-btn:hover {
  color: rgba(0, 0, 0, 0.8);
}
.location-edit-btn .mdi {
  font-size: 16px;
}
.location-input-compact :deep(.v-field) {
  min-height: 40px;
}
.shapes-container {
  position: relative;
  height: calc(100vh - 100px); /* Adjust based on your top content height */
  display: flex;
  flex-direction: column;
}
.shapes-table-container {
  flex: 1;
  overflow-y: auto;
  /* When fully scrolled, --shapes-table-height is set precisely by JS to
     (container.clientHeight - shapesHeader.offsetHeight) so the table fills
     the viewport exactly. Fall back to the legacy calc for initial render. */
  height: var(--shapes-table-height, calc(100vh - var(--header-height)));
  padding: 10px 0;
}

/* Add these styles to preserve the selection border */
.shapes-table-container :deep(.selected-row) {
  background-color: #007bff;
  color: white;
  border: 2px solid #0056c3 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  margin: 5px 0;
  padding: 5px;
}

/* Ensure table rows maintain their style */
.shapes-table-container :deep(tr) {
  border-radius: 10px;
  transition: all 0.3s ease;
}

/* Preserve hover effects */
.shapes-table-container :deep(tr:hover) {
  background-color: rgba(0, 123, 255, 0.1);
}

/* Ensure the table maintains proper spacing */
.shapes-table-container :deep(table) {
  border-collapse: separate;
  border-spacing: 0 5px;
}

/* Additional styles to ensure proper cell rendering */
.shapes-table-container :deep(td) {
  padding: 12px;
  vertical-align: middle;
}

/* Ensure the selection style takes precedence */
.shapes-table-container :deep(.selected-row td) {
  color: white;
  border-color: transparent;
}

/* Add any additional styling needed */

/* Ensure table styles don't get overridden */
.shapes-table-container :deep(.table) {
  border-collapse: separate;
  border-spacing: 0 8px;
}
.shapes-table-container :deep(.shape-row.selected) {
  background-color: rgba(0, 123, 255, 0.1);
  border: 2px solid #007bff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Ensure proper cell styling */
.shapes-table-container :deep(td) {
  padding: 12px;
  vertical-align: middle;
  border: none;
}

/* Add hover effect */
.shapes-table-container :deep(.shape-row:hover) {
  background-color: rgba(0, 123, 255, 0.05);
}

/* Ensure proper border radius on selected rows */
.shapes-table-container :deep(.selected td:first-child) {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.shapes-table-container :deep(.selected td:last-child) {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.shapes-table-container :deep(.table) {
  border-collapse: collapse;
}
.shapes-table-container :deep(.shape-row) {
  border-bottom: 1px solid #dee2e6;
}
.shapes-table-container :deep(.shape-row:hover) {
  background-color: rgba(0, 123, 255, 0.05);
}
.shapes-table-container :deep(.shape-row.selected) {
  background-color: rgba(0, 123, 255, 0.1);
  outline: 2px solid #007bff;
  outline-offset: -2px;
}
.shapes-table-container :deep(td) {
  padding: 12px;
  vertical-align: middle;
}
.shapes-table-container :deep(th) {
  padding: 12px;
  border-bottom: 2px solid #dee2e6;
}

/* Remove last row border */
.shapes-table-container :deep(.shape-row:last-child) {
  border-bottom: none;
}
.multi-select-toolbar {
  padding: 8px 12px;
  margin-top: 8px;
}
.selected-count {
  color: #6c757d;
  font-size: 14px;
  margin-bottom: 8px;
}
.button-container {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 0 12px;
}
.toolbar-btn {
  flex: 1;
  font-family: "Poppins", sans-serif;
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-cancel {
  background-color: #e9ecef;
  color: #212529;
}
.btn-cancel:hover {
  background-color: #dee2e6;
}
.btn-group {
  background-color: #28a745;
  color: white;
  position: relative;
}
.btn-group:hover {
  background-color: #218838;
}
.group-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.btn-hide {
  background-color: #6c757d;
  color: white;
}
.btn-hide:hover {
  background-color: #5a6268;
}
.loading-text {
  background: transparent;
  padding: 1rem;
  text-align: center;
}
.loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  min-height: 200px;
}
.history-controls {
  display: flex;
  gap: 5px;
  align-items: center;
}
.undo-button,
.redo-button {
  padding: 8px;
  border-radius: 4px;
  border: none;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
}
.undo-button.inactive,
.redo-button.inactive,
.undo-button:disabled,
.redo-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.undo-button:not(:disabled):hover,
.redo-button:not(:disabled):hover {
  background: #f0f0f0;
}
.filter-button {
  padding: 8px 10px;
  border-radius: 4px;
  border: 1px solid #ced4da;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #495057;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.filter-button:hover {
  background: #f8f9fa;
  border-color: #adb5bd;
}
.filter-button.active {
  background: #007bff !important;
  border-color: #007bff !important;
  color: white !important;
}
.filter-button.active i,
.filter-button.active .mdi {
  color: inherit;
}
.shapes-filter-panel {
  margin-top: 5px;
  animation: slideDown 0.2s ease-out;
  min-width: 0;
  overflow: hidden;
}
@keyframes slideDown {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* Global Actions Toolbar Styles */
.global-actions-toolbar {
  margin-top: 16px;
  padding: 16px 0;
  border-top: 1px solid #dee2e6;
}
.multi-select-container {
  margin-bottom: 12px;
}
.multi-select-container input[type="checkbox"] {
  margin-right: 8px;
}
.selected-count {
  font-size: 0.875rem;
  color: #6c757d;
  font-weight: 500;
}
.action-buttons-container {
  width: 100%;
}
.button-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
}
.action-btn {
  flex: 0 0 auto; /* Don't grow or shrink, size to content */
  min-width: fit-content;
  font-family: "Poppins", sans-serif;
  padding: 2px 10px; /* Further reduced padding for more compact buttons */
  border: none;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.action-btn .action-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  margin-right: 4px;
  /* Filter to change PNG icons to blue color #007bff - lighter to match FA icons */
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%)
    hue-rotate(204deg) brightness(99%) contrast(107%);
}
.action-btn i {
  width: 16px; /* Fixed width to match PNG icons */
  text-align: center; /* Center the icon within the fixed width */
  margin-right: 4px;
  flex-shrink: 0; /* Prevent icon from shrinking */
}
.action-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-add {
  background-color: #28a745;
  color: white;
}
.btn-add:hover:not(:disabled) {
  background-color: #218838;
}
.btn-edit {
  background-color: #007bff;
  color: white;
}
.btn-edit:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-move {
  background-color: #fd7e14;
  color: white;
}
.btn-move:hover:not(:disabled) {
  background-color: #e55a00;
}
.btn-duplicate {
  background-color: #6610f2;
  color: white;
}
.btn-duplicate:hover:not(:disabled) {
  background-color: #520dc2;
}

/* Move to Floor Button - Inactive State */
.btn-move-floor {
  background-color: white;
  color: #17a2b8;
  border: 1px solid #17a2b8;
}
.btn-move-floor:hover:not(:disabled) {
  background-color: #f8f9fa;
}
.btn-move-floor .action-icon {
  filter: brightness(0) saturate(100%) invert(62%) sepia(98%) saturate(1602%)
    hue-rotate(145deg) brightness(91%) contrast(87%);
}

/* Move to Floor Button - Active State (inverted colors) */
.btn-move-floor-active {
  background-color: #17a2b8 !important;
  color: white !important;
  border: 1px solid #17a2b8 !important;
}
.btn-move-floor-active:hover:not(:disabled) {
  background-color: #138496 !important;
  border-color: #138496 !important;
}
.btn-move-floor-active .action-icon {
  filter: brightness(0) invert(1) !important;
}

/* Floor Selection Row - Same style as actions row */
.shapes-line-floors {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  margin-top: 8px;
  padding: 0;
  animation: slideDown 0.2s ease-out;
  background-color: white;
}
@keyframes slideDown {
from {
    opacity: 0;
    transform: translateY(-5px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.floors-label {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #495057;
  min-width: fit-content;
  padding-right: 4px;
}
.floors-scroll-container {
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: none;
  -ms-overflow-style: none;
  height: 100%;
}
.floors-scroll-container::-webkit-scrollbar {
  display: none;
}
.floors-row {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  height: 100%;
  align-items: center;
  min-width: fit-content;
}
.btn-floor,
.shapes-line-floors .btn-floor,
.action-btn.btn-floor {
  /* Match action button styles exactly - override all other action-btn styles */
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  min-width: fit-content !important;
  width: auto !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Poppins", sans-serif !important;
  padding: 2px 10px !important;
  border: 1px solid #6c757d !important;
  border-radius: 4px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  background-color: white !important;
  color: #6c757d !important;
  gap: 0 !important;
}
.btn-floor:hover,
.shapes-line-floors .btn-floor:hover,
.action-btn.btn-floor:hover {
  background-color: #f8f9fa !important;
  border-color: #5a6268 !important;
  color: #5a6268 !important;
}
.btn-fix {
  background-color: #20c997;
  color: white;
}
.btn-fix:hover:not(:disabled) {
  background-color: #1aa085;
}
.btn-revert-pattern {
  background-color: white;
  color: #dc3545;
  border: 1px solid #dc3545;
}
.btn-revert-pattern:hover:not(:disabled) {
  background-color: #fff5f5;
}
.btn-simplify {
  background-color: white;
  color: #6610f2;
  border: 1px solid #6610f2;
}
.btn-simplify:hover:not(:disabled) {
  background-color: #f3f0ff;
}
.btn-outline-shape {
  background-color: white;
  color: #e83e8c;
  border: 1px solid #e83e8c;
}
.btn-outline-shape:hover:not(:disabled) {
  background-color: #fdf2f8;
}
.btn-convert {
  background-color: white;
  color: #fd7e14;
  border: 1px solid #fd7e14;
}
.btn-convert:hover:not(:disabled) {
  background-color: #fff5ec;
}
.btn-convert-active {
  background-color: #fd7e14 !important;
  color: white !important;
  border: 1px solid #fd7e14 !important;
}
.btn-convert-active:hover:not(:disabled) {
  background-color: #e8690a !important;
  border-color: #e8690a !important;
}
.shapes-line-convert {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  margin-top: 8px;
  padding: 0;
  animation: slideDown 0.2s ease-out;
  background-color: white;
}
.convert-label {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #495057;
  min-width: fit-content;
  padding-right: 4px;
}
.convert-options-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.btn-convert-option {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: "Poppins", sans-serif !important;
  padding: 2px 10px !important;
  border: 1px solid #fd7e14 !important;
  border-radius: 4px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  background-color: white !important;
  color: #fd7e14 !important;
}
.btn-convert-option:hover {
  background-color: #fff5ec !important;
}
.btn-merge {
  background-color: #dc3545;
  color: white;
}
.btn-merge:hover:not(:disabled) {
  background-color: #c82333;
}
.btn-group {
  background-color: #6f42c1;
  color: white;
}
.btn-group:hover:not(:disabled) {
  background-color: #5a2d91;
}
.btn-ungroup {
  background-color: #fd7e14;
  color: white;
}
.btn-ungroup:hover:not(:disabled) {
  background-color: #e55a00;
}
.btn-hide {
  background-color: #6c757d;
  color: white;
}
.btn-hide:hover:not(:disabled) {
  background-color: #5a6268;
}
.btn-cancel {
  background-color: #e9ecef;
  color: #212529;
}
.btn-cancel:hover:not(:disabled) {
  background-color: #dee2e6;
}
.btn-active {
  background-color: #28a745;
  color: white;
}
.btn-active:hover:not(:disabled) {
  background-color: #218838;
}
.btn-done-edit {
  background-color: #28a745 !important;
  color: white !important;
  border: 1px solid #28a745 !important;
}
.btn-done-edit:hover:not(:disabled) {
  background-color: #218838 !important;
  border-color: #218838 !important;
}
.btn-done-edit .action-icon {
  filter: brightness(0) saturate(100%) invert(100%) !important;
}
.btn-edit {
  background-color: white !important;
  color: #007bff !important;
  border: 1px solid #007bff !important;
}
.btn-edit:hover:not(:disabled) {
  background-color: #f8f9fa !important;
}
.btn-edit .action-icon {
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%)
    hue-rotate(204deg) brightness(99%) contrast(107%) !important;
}
.btn-edit-type {
  background-color: white;
  color: #007bff;
  border: 1px solid #007bff;
}
.btn-edit-type:hover:not(:disabled) {
  background-color: #f8f9fa;
}
.btn-edit-type-selected {
  background-color: #007bff !important;
  color: white !important;
  border: 1px solid #007bff !important;
}
.btn-edit-type-selected:hover:not(:disabled) {
  background-color: #0056b3 !important;
  border-color: #0056b3 !important;
}
.btn-edit-type-selected i {
  color: white !important;
}
.btn-edit-type .action-icon {
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%)
    hue-rotate(204deg) brightness(99%) contrast(107%) !important;
}
.btn-edit-type-selected .action-icon {
  filter: brightness(0) saturate(100%) invert(100%) !important;
}

/* Allow SVG icons in edit type buttons to be larger */
.btn-edit-type svg.action-icon,
.btn-edit-type-selected svg.action-icon {
  width: 20px !important;
  height: 20px !important;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
.action-btn {
    font-size: 0.75rem;
    padding: 6px 8px;
}
.button-row {
    gap: 6px;
}
}

/* New Shapes Layout Styles */
.shapes-line-1 .slider-full-width {
  width: 100%;
}
.shapes-line-2 .items-filter-text {
  font-size: 0.875rem;
  user-select: none;
}
.shapes-line-2 .items-text-btn,
.shapes-line-2 .hidden-text-btn {
  transition: all 0.2s ease;
  padding: 2px 4px;
  border-radius: 2px;
}
.shapes-line-2 .text-active {
  font-weight: 600;
  color: #212529;
}
.shapes-line-2 .text-inactive {
  font-weight: 400;
  color: #6c757d;
}
.shapes-line-2 .text-inactive:hover:not([disabled]) {
  color: #495057;
  background-color: rgba(0, 0, 0, 0.04);
}
.shapes-line-2 .text-separator {
  color: #6c757d;
  margin: 0 4px;
  font-weight: 400;
}
.cursor-pointer {
  cursor: pointer;
}
.shapes-line-3 {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 32px;
  gap: 0;
}
.shapes-line-3 .actions-container {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: flex;
}
.shapes-line-3 .actions-scroll-container {
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.shapes-line-3 .actions-scroll-container::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
}
.shapes-line-3 .actions-row {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  height: 100%;
  align-items: center;
  padding: 0;
  /* Ensure content can scroll past the right margin */
  min-width: fit-content;
  width: auto; /* Allow container to size to content */
  justify-content: flex-start; /* Align buttons to the left */
}
.shapes-line-3 .action-btn {
  flex: 0 0 auto; /* Explicitly prevent growing or shrinking */
  flex-shrink: 0;
  white-space: nowrap;
  min-width: fit-content;
  width: auto; /* Ensure width is based on content */
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid #007bff;
  border-radius: 12px; /* Double the typical 6px radius */
  background: white;
  color: #007bff;
  padding: 1px 8px; /* Further reduced padding for more compact buttons */
  font-size: 0.8rem;
  transition: all 0.2s ease;
}
.shapes-line-3 .action-btn .action-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  margin-right: 4px;
  flex-shrink: 0; /* Prevent icon from shrinking */
  /* Filter to change PNG icons to blue color #007bff - lighter to match FA icons */
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%)
    hue-rotate(204deg) brightness(99%) contrast(107%);
}
.shapes-line-3 .action-btn:hover:not(:disabled) {
  background: #f8f9fa;
}
.shapes-line-3 .action-btn.btn-active {
  background: #007bff;
  color: white;
}
.shapes-line-3 .action-btn i {
  font-size: 1rem; /* Increased from 0.75rem to make Font Awesome icons taller */
  margin-right: 4px;
  width: 16px; /* Fixed width to match PNG icons */
  text-align: center; /* Center the icon within the fixed width */
}
.shapes-line-3 .history-controls {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 5px;
  background: white;
  padding-top: 4px;
}
.shapes-line-3 .history-buttons-vertical {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.shapes-line-3 .undo-button,
.shapes-line-3 .redo-button {
  width: auto;
  min-width: fit-content;
  height: 20px;
  opacity: 1;
  padding: 0 6px;
  margin: 0;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  white-space: nowrap;
  background: white;
  border: 1px solid #007bff;
  border-radius: 4px;
  color: #007bff;
  cursor: pointer;
}
.shapes-line-3 .undo-button:hover:not(:disabled),
.shapes-line-3 .redo-button:hover:not(:disabled) {
  background: #f8f9fa;
}
.shapes-line-3 .undo-button.inactive,
.shapes-line-3 .redo-button.inactive,
.shapes-line-3 .undo-button:disabled,
.shapes-line-3 .redo-button:disabled {
  opacity: 0.5;
  background: #f8f9fa;
  color: #6c757d;
  border-color: #dee2e6;
  cursor: not-allowed;
}

/* Floor and Image Selection Styles */
.floor-details-section {
  padding: 8px;
  margin-bottom: 8px;
}
.image-tabs-section {
  margin-top: 16px;
}
.image-tabs-full-width {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove bottom padding from tab containers and content */
.floor-details-section {
  padding-bottom: 0 !important;
}
.image-tabs-section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.nested-tabs {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.nested-tabs .tab-content {
  padding-bottom: 0 !important;
}
.shapes-table-wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove bottom padding from shapes table component */
.shapes-table-wrapper > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Target the specific image-tabs-section container */
.content-wrapper .image-tabs-section.image-tabs-full-width {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Target the tab content container specifically */
.image-tabs-section.image-tabs-full-width > div > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove spacing from all nested div containers in the tabs */
.image-tabs-section .nested-tabs > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.image-tabs-section .nested-tabs > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.image-tabs-section .nested-tabs > div > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Force remove all bottom spacing from any element within image tabs */
.image-tabs-section.image-tabs-full-width * {
  margin-bottom: 0 !important;
}

/* Specifically target the tabs component structure */
.image-tabs-section .tabs-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.image-tabs-section .tabs-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Target any potential bottom spacing from the Tab component */
.nested-tabs .tab-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Override Tabs component specific spacing */
.image-tabs-section .tabs-container {
  margin-bottom: 0 !important;
}
.image-tabs-section .tab-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-height: auto !important;
}

/* Target the Tab component's content specifically */
.image-tabs-section .nested-tabs .tab-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Target the wrapper div around tab content */
.image-tabs-section .nested-tabs > .tab-content > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important; /* Prevent scrolling at this level */
}

/* Target the specific parent containers mentioned */
.content-wrapper > div > div > div > div > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.content-wrapper > div > div > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Target the floor tab content and its children */
.content-wrapper .w-100 > div > div > div > div > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.content-wrapper .w-100 > div > div > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* More aggressive targeting of all nested containers */
.content-wrapper .w-100 .d-flex.flex-column > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.content-wrapper .w-100 .d-flex.flex-column > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.content-wrapper .w-100 .d-flex.flex-column > div > div > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Target the tabs wrapper specifically */
.content-wrapper .tabs-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.content-wrapper .tabs-container > div {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.image-selection-section {
  margin-top: 16px;
}
.image-selection-section h6 {
  color: #495057;
  font-size: 0.9rem;
  margin-bottom: 8px;
}

/* Floor Tabs Styling */
.floor-tabs .tabs-header {
  background-color: transparent;
  border-radius: 8px 8px 0 0;
  height: 40px;
}
.floor-tabs .tab-item {
  padding: 8px 16px;
  font-size: 0.9rem;
  background-color: transparent;
  color: #6c757d;
  height: 40px;
}
.floor-tabs .tab-item.tab-selected {
  background-color: #fff;
  color: #007bff;
}
.floor-tabs .add-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 0.9rem;
  line-height: 1;
  background-color: white;
  color: black;
  border: 2px solid #28a745;
  height: 40px;
}
.floor-tabs .add-button:hover {
  background-color: #f8f9fa;
}

/* Nested Tabs Styling */
.nested-tabs {
  margin-top: 0;
}
.nested-tabs .tab-content {
  padding: 8px 0 !important;
  min-height: 300px !important;
}
.nested-tabs .tabs-header {
  background-color: transparent;
  border-radius: 8px 8px 0 0;
  height: 40px;
}
.nested-tabs .tab-item {
  padding: 8px 16px;
  font-size: 0.9rem;
  background-color: transparent;
  color: #6c757d;
  height: 40px;
}
.nested-tabs .tab-item.tab-selected {
  background-color: #fff;
  color: #007bff;
}
.nested-tabs .add-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 0.9rem;
  line-height: 1;
  background-color: white;
  color: black;
  border: 2px solid #28a745;
  height: 40px;
}
.nested-tabs .add-button:hover {
  background-color: #f8f9fa;
}

/* Shape popup styles */
.shape-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.shape-popup {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  max-width: 400px;
  width: 90%;
  animation: popupFadeIn 0.2s ease-out;
}
@keyframes popupFadeIn {
from {
    opacity: 0;
    transform: scale(0.9);
}
to {
    opacity: 1;
    transform: scale(1);
}
}
.shape-popup-title {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 0 20px 0;
  text-align: center;
  color: #333;
}
.shape-options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
}
.shape-option-btn {
  background: white;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  padding: 20px 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-family: "Poppins", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  color: #495057;
}
.shape-option-btn:hover {
  border-color: #007bff;
  background: #f8f9ff;
  color: #007bff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
}
.shape-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.shape-icon svg {
  width: 32px;
  height: 32px;
  color: inherit;
}
.shape-option-btn span {
  font-size: 0.85rem;
  text-align: center;
}

/* Image Status Indicator Styles */
.image-status-indicator {
  margin-top: 2px;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 12px;
  font-weight: 500;
  font-size: 11px;
  white-space: nowrap;
}
.status-badge i {
  font-size: 10px;
}
.status-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.status-error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.status-processing {
  background-color: #d1ecf1;
  color: #0c5460;
  border: 1px solid #bee5eb;
}
.status-warning {
  background-color: #fff3cd;
  color: #856404;
  border: 1px solid #ffeaa7;
}

/* Disabled button styling when image is invalid */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
button:disabled:hover {
  opacity: 0.6;
}

/* Development reload button */
.dev-reload-button {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 10000;
  background: rgba(255, 255, 255, 0.9);
  padding: 8px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.dev-reload-button button {
  font-size: 12px;
  padding: 4px 8px;
  white-space: nowrap;
}

/* ── Source type badge (DWG / PDF / Image) ────────────────────────────────── */
.source-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 10px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}
.source-type-badge.dwg {
  background-color: #1e293b;
  color: #e2e8f0;
}
.source-type-badge.pdf {
  background-color: #fee2e2;
  color: #991b1b;
}
.source-type-badge.image {
  background-color: #dbeafe;
  color: #1e40af;
}

/* ── Classification / Category Tab Strip ─────────────────────────────────── */
.category-tabs-strip {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding: 4px 0 2px;
  overflow-x: auto;
  scrollbar-width: none;
  border-top: 1px solid #f0f0f0;
  flex-wrap: nowrap;
}
.category-tabs-strip::-webkit-scrollbar {
  display: none;
}
.category-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #f9fafb;
  color: #374151;
  font-size: 11px;
  font-weight: 500;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.category-tab-btn:hover {
  background: #f3f4f6;
  border-color: #9ca3af;
}
.category-tab-btn.active {
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
}
.category-tab-btn .tab-count {
  background: rgba(0, 0, 0, 0.12);
  color: inherit;
  font-size: 10px;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 8px;
  line-height: 1.4;
}
.category-tab-btn.active .tab-count {
  background: rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
}

/* ============================================
   Copy to Production — Settings Button & Dropdown
   ============================================ */
.settings-dropdown-wrapper {
  position: relative;
}
.btn-settings {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  height: 56px; /* Match Vuetify outlined text-field height */
  background: white;
  border: 1px solid #9e9e9e;
  border-radius: 4px;
  color: #555;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.btn-settings:hover:not(:disabled) {
  background: #f5f5f5;
  border-color: #555;
}
.btn-settings:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.settings-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 200px;
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 1200;
  overflow: hidden;
  animation: dropdownFadeIn 0.12s ease-out;
}
@keyframes dropdownFadeIn {
from { opacity: 0; transform: translateY(-4px);
}
to   { opacity: 1; transform: translateY(0);
}
}
.settings-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px 14px;
  background: none;
  border: none;
  font-size: 0.875rem;
  color: #333;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s;
}
.settings-dropdown-item:hover:not(:disabled) {
  background: #f5f5f5;
}
.settings-dropdown-item:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.settings-dropdown-item i {
  font-size: 1rem;
  color: #555;
}

/* ============================================
   Copy to Production — Modals / Overlays
   ============================================ */
.modal-overlay-local {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.modal-content-local {
  background: white;
  border-radius: 10px;
  padding: 28px 32px;
  max-width: 420px;
  width: 90%;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}
.modal-title-local {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 12px;
  color: #212529;
}
.modal-body-local {
  font-size: 0.9rem;
  color: #495057;
  margin-bottom: 20px;
  line-height: 1.5;
}
.modal-buttons-local {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.btn-danger-local {
  padding: 8px 18px;
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.15s;
}
.btn-danger-local:hover:not(:disabled) {
  background: #b02a37;
}
.btn-danger-local:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-cancel-local {
  padding: 8px 18px;
  background: white;
  color: #6c757d;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s;
}
.btn-cancel-local:hover:not(:disabled) {
  background: #f8f9fa;
}
.btn-cancel-local:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.copy-progress {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  text-align: center;
}
.copy-progress-icon {
  font-size: 2.5rem;
  color: #007bff;
  animation: pulse 1.4s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1);
}
50% { opacity: 0.6; transform: scale(1.1);
}
}
.copy-progress p {
  margin: 0;
  font-size: 0.95rem;
  color: #333;
  font-weight: 500;
}
.copy-progress-sub {
  font-size: 0.8rem !important;
  color: #6c757d !important;
  font-weight: 400 !important;
}

/* Copy to Production — Result Modal */
.copy-result {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
}
.copy-result-icon {
  font-size: 2.8rem;
}
.copy-result-success .copy-result-icon {
  color: #28a745;
}
.copy-result-error .copy-result-icon {
  color: #dc3545;
}
.copy-result-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: #212529;
}
.copy-result-message {
  font-size: 0.9rem;
  color: #495057;
  margin: 0;
  line-height: 1.5;
}
.copy-result-counts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 12px;
  margin-top: 8px;
  padding: 10px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  width: 100%;
}
.copy-result-count-item {
  font-size: 0.8rem;
  color: #6c757d;
  white-space: nowrap;
}
.copy-result-count-item strong {
  color: #212529;
}

.verify-email-popup[data-v-183fd3c3] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.popup-content[data-v-183fd3c3] {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.close-button[data-v-183fd3c3] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  color: #666;
  z-index: 1001;
}
.close-button[data-v-183fd3c3]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.button-container[data-v-183fd3c3] {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.button-group[data-v-183fd3c3] {
  display: flex;
  gap: 1rem;
  justify-content: center;
  width: 100%;
  max-width: 280px; /* Consistent container width */
}
.btn[data-v-183fd3c3] {
  padding: 0.5rem 1rem;
  border-radius: 4px;
  cursor: pointer;
  height: 40px; /* Set fixed height for all buttons */
  display: flex; /* Use flexbox for content alignment */
  align-items: center;
  justify-content: center;
  font-size: 14px; /* Consistent font size */
  flex: 1; /* Allow buttons to grow equally */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.2s ease;
  border: none;
  font-weight: 500; /* Slightly bolder font */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.btn[data-v-183fd3c3]:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.btn[data-v-183fd3c3]:active:not(:disabled) {
  transform: translateY(1px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.btn-primary[data-v-183fd3c3] {
  background: #007bff;
  color: white;
}
.btn-secondary[data-v-183fd3c3] {
  background: #6c757d;
  color: white;
}
.btn[data-v-183fd3c3]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  box-shadow: none;
}
.resend-container[data-v-183fd3c3] {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
  width: 100%;
  max-width: 280px; /* Match button-group width */
}
.btn-success[data-v-183fd3c3] {
  background: #4caf50; /* Our green color */
  color: white;
  width: 100%; /* Full width within its container */
}
h2[data-v-183fd3c3] {
  color: #333;
  margin-bottom: 1rem;
}
p[data-v-183fd3c3] {
  color: #555;
  margin-bottom: 0.5rem;
}

.opening-hours-section[data-v-15bccded] {
  margin-bottom: 1rem;
  width: 100%;
  box-sizing: border-box;
}
.main-category-header[data-v-15bccded] {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-800, var(--default-800));
  font-family: "Poppins", sans-serif;
  margin-bottom: 3px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 8px;
}
.category-icon[data-v-15bccded] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.category-icon-svg[data-v-15bccded] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.category-icon-svg svg[data-v-15bccded] {
  width: 20px;
  height: 20px;
  max-width: 100%;
  max-height: 100%;
}
.category-icon-img[data-v-15bccded] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.clock-icon[data-v-15bccded] {
  color: var(--primary-700, var(--default-700));
}
.opening-hours-categories[data-v-15bccded] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.category-row[data-v-15bccded] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.side-by-side-categories-row[data-v-15bccded] {
  display: flex;
  flex-direction: row;
  gap: 24px;
  width: 100%;
  align-items: flex-start;
}
.side-by-side-category[data-v-15bccded] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0; /* Allow flex items to shrink below their content size */
}
.category-header[data-v-15bccded] {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-800, var(--default-800));
  font-family: "Poppins", sans-serif;
  margin-bottom: 0;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 8px;
}
.hours-groups-container[data-v-15bccded] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-left: 0; /* No indent for info section */
}

/* Add left margin only for dialog context */
.opening-hours-section.dialog-context .hours-groups-container[data-v-15bccded] {
  margin-left: 26px; /* Indent hours under category header for dialog */
}
.hours-group[data-v-15bccded] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
  min-height: 3rem;
}
.multiple-groups-row[data-v-15bccded] {
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: flex-start;
  align-items: stretch;
  min-height: 3rem;
}
.groups-separator[data-v-15bccded] {
  width: 1px;
  background-color: var(--primary-200, var(--default-200));
  margin: 0 6px; /* Reduced from 8px to 6px */
  align-self: stretch;
  height: 100%;
  min-height: 3rem;
}
.days-text[data-v-15bccded] {
  font-size: 16px;
  font-weight: 500;
  color: var(--primary-700, var(--default-700));
  font-family: "Poppins", sans-serif;
  text-align: left;
}
.times-text[data-v-15bccded] {
  font-size: 16px;
  font-weight: 400;
  color: var(--primary-800, var(--default-800));
  font-family: "Poppins", sans-serif;
  text-align: left;
}

/* Dialog context specific styles - match info section colors */
.opening-hours-section.dialog-context .main-category-header[data-v-15bccded],
.opening-hours-section.dialog-context .category-header[data-v-15bccded],
.opening-hours-section.dialog-context .times-text[data-v-15bccded] {
  color: var(--primary-800, var(--default-800)) !important;
}
.opening-hours-section.dialog-context .days-text[data-v-15bccded] {
  color: var(--primary-700, var(--default-700)) !important;
}
.public-holidays-section[data-v-15bccded] {
  margin-top: 14px;
  width: 100%;
  box-sizing: border-box;
}

/* Same component shows weekly hours above: keep spacing. Hub uses a separate row for holidays. */
.opening-hours-section.info-public-holidays-row .public-holidays-section[data-v-15bccded] {
  margin-top: 0;
}
.opening-hours-section.info-public-holidays-row[data-v-15bccded] {
  margin-bottom: 0;
}
.public-holidays-toggle[data-v-15bccded] {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-800, var(--default-800));
  font-family: "Poppins", sans-serif;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  gap: 4px;
  padding: 4px 2px;
  margin: 0 0 0 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 6px;
  box-sizing: border-box;
}
.public-holidays-toggle-label[data-v-15bccded] {
  flex: 0 0 auto;
  min-width: 0;
  text-align: left;
}
.public-holidays-toggle[data-v-15bccded]:hover {
  opacity: 0.88;
}
.public-holidays-toggle[data-v-15bccded]:focus-visible {
  outline: 2px solid var(--primary-500, #0284c7);
  outline-offset: 2px;
}
.public-holidays-chevron[data-v-15bccded] {
  flex-shrink: 0;
  color: var(--primary-700, var(--default-700));
  transition: transform 0.2s ease;
}
.public-holidays-chevron--open[data-v-15bccded] {
  transform: rotate(180deg);
}
.public-holidays-list[data-v-15bccded] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
}
.public-holiday-entry[data-v-15bccded] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.holiday-entry-header[data-v-15bccded] {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-700, var(--default-700));
  font-family: "Poppins", sans-serif;
  text-align: left;
}
.holiday-dates[data-v-15bccded] {
  font-size: 14px;
  font-weight: 400;
  color: var(--primary-800, var(--default-800));
  font-family: "Poppins", sans-serif;
  text-align: left;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
.opening-hours-categories[data-v-15bccded] {
    gap: 10px;
}
.category-row[data-v-15bccded] {
    gap: 6px;
}

  /* Keep side-by-side categories horizontal on mobile */
.side-by-side-categories-row[data-v-15bccded] {
    gap: 16px; /* Reduced gap for mobile */
}
.side-by-side-category[data-v-15bccded] {
    flex: 1; /* Allow equal distribution */
}
.category-header[data-v-15bccded],
  .days-text[data-v-15bccded],
  .times-text[data-v-15bccded] {
    font-size: 14px;
}
.hours-groups-container[data-v-15bccded] {
    gap: 4px;
    margin-left: 0; /* No indent for info section on mobile */
}

  /* Add left margin only for dialog context on mobile */
.opening-hours-section.dialog-context .hours-groups-container[data-v-15bccded] {
    margin-left: 14px; /* Smaller indent for dialog on mobile */
}
}

/* CSS Custom Properties for Dynamic Colors - inherit from main.scss */

/* Inherit dynamic primary colors from colorManager (CSS custom properties set on document root) */

/* Dialog Overlay */
.custom-dialog-overlay[data-v-441df156] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.custom-dialog-overlay.preview-mode[data-v-441df156] {
  background-color: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}
.custom-dialog-overlay.preview-mode .custom-dialog-container[data-v-441df156] {
  pointer-events: auto;
}

/* Dialog Container */
.custom-dialog-container[data-v-441df156] {
  background: white;
  border-radius: 8px;
  box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05),
    0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--primary-500, #e4e4e7);
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
}
.dialog-sm[data-v-441df156] {
  width: 360px;
}
.dialog-md[data-v-441df156] {
  width: 424px;
}
.dialog-lg[data-v-441df156] {
  width: 600px;
}
.dialog-xl[data-v-441df156] {
  width: 800px;
}

/* Dialog Content */
.dialog-content[data-v-441df156] {
  padding: 24px;
  padding-top: 20px; /* Slightly reduce top padding since close button is positioned absolutely */
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Close Button */
.dialog-close-btn[data-v-441df156] {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  color: #71717a;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.2s ease;
  z-index: 10;
}
.dialog-close-btn[data-v-441df156]:hover {
  color: #18181b;
}
.dialog-close-svg[data-v-441df156] {
  width: 20px;
  height: 20px;
  transition: transform 0.2s ease;
  flex-shrink: 0;
  display: block;
}
.dialog-close-btn[data-v-441df156]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(163, 145, 97, 0.3);
}
.dialog-close-btn[data-v-441df156]:focus-visible {
  outline: 2px solid var(--primary-600, #a39161);
  outline-offset: 2px;
}

/* Typography */
.dialog-title[data-v-441df156] {
  color: #18181b;
  font-size: 18px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  line-height: 1.2;
  padding-right: 48px; /* Ensure title doesn't overlap with close button */
  margin-top: 8px; /* Add some top margin for better spacing */
}
.dialog-description[data-v-441df156] {
  color: #71717a;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
.dialog-html-body[data-v-441df156] {
  color: #18181b;
  font-family: "Roboto", sans-serif;
  line-height: 1.6;
}

/* Selection Options */
.dialog-options[data-v-441df156] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.radio-options[data-v-441df156] {
  display: flex;
  gap: 16px;
}
.radio-option[data-v-441df156],
.checkbox-option[data-v-441df156] {
  flex: 1;
  padding: 12px 16px;
  border: 1px solid var(--primary-500, #d4d4d4);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  transition: all 0.2s ease;
}
.radio-option[data-v-441df156]:hover,
.checkbox-option[data-v-441df156]:hover {
  border-color: var(--primary-600, #a39161);
}
.radio-option.selected[data-v-441df156],
.checkbox-option.selected[data-v-441df156] {
  border-color: var(--primary-600, #a39161);
  background-color: rgba(163, 145, 97, 0.05);
}
.radio-indicator[data-v-441df156],
.checkbox-indicator[data-v-441df156] {
  margin-top: 2px;
}
.radio-unselected[data-v-441df156],
.checkbox-unselected[data-v-441df156] {
  width: 16px;
  height: 16px;
  border: 2px solid var(--primary-500, #71717a);
  background: white;
}
.radio-unselected[data-v-441df156] {
  border-radius: 50%;
}
.checkbox-unselected[data-v-441df156] {
  border-radius: 3px;
}
.radio-selected[data-v-441df156] {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--primary-600, #a39161);
  position: relative;
}
.radio-selected[data-v-441df156]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: white;
}
.checkbox-selected[data-v-441df156] {
  width: 16px;
  height: 16px;
  border-radius: 3px;
  background: var(--primary-600, #a39161);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
}
.option-content[data-v-441df156] {
  flex: 1;
}
.option-label[data-v-441df156] {
  color: #18181b;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
}
.option-description[data-v-441df156] {
  color: #71717a;
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  margin-top: 2px;
}

/* Form Fields */
.dialog-form[data-v-441df156] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.form-field[data-v-441df156] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.field-label[data-v-441df156] {
  color: var(--primary-700, #776a45);
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
}
.field-input-container[data-v-441df156] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.field-input[data-v-441df156] {
  height: 40px;
  padding: 8px 12px;
  background: white;
  border: 1px solid var(--primary-500, #d8d1bc);
  border-radius: 6px;
  color: #18181b;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
}
.field-textarea[data-v-441df156] {
  height: auto;
  resize: vertical;
  min-height: 80px;
}
.field-input[data-v-441df156]:focus {
  outline: none;
  border-color: var(--primary-600, #a39161);
  box-shadow: 0 0 0 2px rgba(163, 145, 97, 0.1);
}
.field-input[data-v-441df156]::placeholder {
  color: #71717a;
}
.field-help[data-v-441df156] {
  color: #71717a;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
}
.text-error[data-v-441df156] {
  color: #ef4444;
}

/* Buttons */
.dialog-buttons[data-v-441df156] {
  margin-top: 8px;
}
.buttons-row[data-v-441df156] {
  display: flex;
  gap: 16px;
}
.buttons-column[data-v-441df156] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dialog-button[data-v-441df156] {
  height: 40px;
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.buttons-row .dialog-button[data-v-441df156] {
  flex: 1;
}
.full-width[data-v-441df156] {
  width: 100%;
}
.button-primary[data-v-441df156] {
  background: var(--primary-600, #a39161);
  color: #fafafa;
}
.button-primary[data-v-441df156]:hover:not(:disabled) {
  background: var(--primary-700, #8c7c51);
}
.button-primary[data-v-441df156]:disabled {
  background: var(--primary-600, #a39161);
  opacity: 0.3;
  cursor: not-allowed;
}
.button-secondary[data-v-441df156] {
  background: var(--primary-100, #ebe6d8);
  color: var(--primary-700, #655a3b);
}
.button-secondary[data-v-441df156]:hover {
  background: var(--primary-200, #d8d1bc);
}
.button-destructive[data-v-441df156] {
  background: #ef4444;
  color: white;
}
.button-destructive[data-v-441df156]:hover {
  background: #dc2626;
}
.button-ghost[data-v-441df156] {
  background: transparent;
  color: var(--primary-700, #655a3b);
  border: 1px solid var(--primary-500, #d8d1bc);
}
.button-ghost[data-v-441df156]:hover {
  background: rgba(163, 145, 97, 0.05);
}

/* Tone Variations */
.tone-info[data-v-441df156] {
  border-left: 4px solid #3b82f6;
}
.tone-success[data-v-441df156] {
  border-left: 4px solid #10b981;
}
.tone-warning[data-v-441df156] {
  border-left: 4px solid #f59e0b;
}
.tone-danger[data-v-441df156] {
  border-left: 4px solid #ef4444;
}

/* Responsive Design */
@media (max-width: 640px) {
.custom-dialog-container[data-v-441df156] {
    width: 100%;
    margin: 16px;
}
.radio-options[data-v-441df156] {
    flex-direction: column;
}
.buttons-row[data-v-441df156] {
    flex-direction: column;
}
}

/* Animation */
.custom-dialog-overlay[data-v-441df156] {
  animation: fadeIn-441df156 0.2s ease-out;
}
.custom-dialog-container[data-v-441df156] {
  animation: slideIn-441df156 0.3s ease-out;
}
@keyframes fadeIn-441df156 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes slideIn-441df156 {
from {
    opacity: 0;
    transform: scale(0.95) translateY(-10px);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}

.action-dialog-renderer[data-v-04b44867] {
  pointer-events: none; /* Allow clicks to pass through the container */
}
.action-dialog-renderer[data-v-04b44867] > * {
  pointer-events: auto; /* But allow interaction with the dialogs themselves */
}

.review-widget-dialog[data-v-81ad40a1] {
  /* Remove overlay styling - this will be handled by CustomReviewWidget */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.dialog-container[data-v-81ad40a1] {
  width: 624px;
  min-height: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 8px;
  box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05),
    0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  position: relative;
  font-family: "Roboto", sans-serif;
}
.dialog-header[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.dialog-title[data-v-81ad40a1] {
  color: #18181b;
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
  padding-right: 0; /* No close button, so no right padding needed */
}
.dialog-description[data-v-81ad40a1] {
  color: #71717a;
  font-size: 14px;
  font-weight: 400;
  margin: 0;
  line-height: 1.4;
  text-align: left;
}
.dialog-content[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.review-field[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.field-label[data-v-81ad40a1] {
  color: #18181b;
  font-weight: 500;
  margin: 0;
  line-height: 1.4;
}
.required[data-v-81ad40a1] {
  color: #ef4444;
}

/* Number Rating Field */
.number-rating-field[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.number-scale[data-v-81ad40a1] {
  display: flex;
  border: 1px solid #e4e4e7;
  border-radius: 6px;
  overflow: hidden;
  width: fit-content;
}
.scale-cell[data-v-81ad40a1] {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  cursor: pointer;
  border-right: 1px solid var(--primary-200);
  transition: all 0.2s ease;
}
.scale-cell[data-v-81ad40a1]:last-child {
  border-right: none;
}
.scale-cell.selected[data-v-81ad40a1] {
  background: var(--primary-100);
  border-color: var(--primary-200);
}
.scale-cell.unselected[data-v-81ad40a1] {
  background: rgba(255, 255, 255, 0);
  border-color: var(--primary-200);
}
.scale-number[data-v-81ad40a1] {
  color: var(--primary-800);
  font-size: 14px;
  font-weight: 500;
}
.scale-cell.unselected .scale-number[data-v-81ad40a1] {
  color: #18181b;
}

/* Star Rating Section */
.star-rating-section[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.star-rating-container[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  border: 1px solid #e4e4e7;
  border-radius: 6px;
}
.category-rating[data-v-81ad40a1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.category-name[data-v-81ad40a1] {
  flex: 1;
  color: #18181b;
  font-size: 14px;
  margin: 0;
}
.star-rating[data-v-81ad40a1] {
  display: flex;
  gap: 2px;
}
.star-icon[data-v-81ad40a1] {
  cursor: pointer;
  transition: all 0.2s ease;
}
.star-icon img[data-v-81ad40a1] {
  width: 24px;
  height: 24px;
  opacity: 1; /* Remove opacity changes since we're using different icons now */
}
.star-icon.filled img[data-v-81ad40a1] {
  opacity: 1;
}

/* Tag Section */
.tag-section[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tags-container[data-v-81ad40a1] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag-chip[data-v-81ad40a1] {
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.tag-chip.selected[data-v-81ad40a1] {
  background: var(--primary-200);
  border: 1px solid var(--primary-200);
}
.tag-chip.unselected[data-v-81ad40a1] {
  background: #ffffff;
  border: 1px solid #d4d4d4;
}
.tag-chip.unselected[data-v-81ad40a1]:hover {
  border-color: var(--primary-300);
  background: var(--primary-50);
}
.tag-text[data-v-81ad40a1] {
  font-size: 14px;
  font-weight: 600;
}
.tag-chip.selected .tag-text[data-v-81ad40a1] {
  color: var(--neutral-500);
}
.tag-chip.unselected .tag-text[data-v-81ad40a1] {
  color: #737373;
  font-weight: 500;
}

/* Additional Field */
.additional-field[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.field-input-container[data-v-81ad40a1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.input-field[data-v-81ad40a1] {
  height: 40px;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid var(--primary-200);
  border-radius: 6px;
}
.text-input[data-v-81ad40a1] {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  color: #71717a;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
}
.text-input[data-v-81ad40a1]::placeholder {
  color: #71717a;
}
.textarea-input[data-v-81ad40a1] {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  color: #71717a;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  resize: vertical;
  min-height: 60px;
}
.textarea-input[data-v-81ad40a1]::placeholder {
  color: #71717a;
}
.help-text[data-v-81ad40a1] {
  color: #71717a;
  font-size: 14px;
  margin: 0;
  line-height: 1.4;
}

/* Submit Button */
.submit-button-container[data-v-81ad40a1] {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
}
.submit-button[data-v-81ad40a1] {
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--primary-600);
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.submit-button[data-v-81ad40a1]:hover:not(:disabled) {
  background: var(--primary-700);
}
.submit-button[data-v-81ad40a1]:disabled {
  background: #d4d4d4;
  cursor: not-allowed;
}
.submit-button.submitting[data-v-81ad40a1] {
  opacity: 0;
}
.submit-text[data-v-81ad40a1] {
  color: #fafafa;
  font-size: 14px;
  font-weight: 600;
}

/* Thank You Message */
.thank-you-message[data-v-81ad40a1] {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  height: 40px;
}
.thank-you-text[data-v-81ad40a1] {
  color: #18181b;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
  margin: 0;
  animation: textFadeIn-81ad40a1 0.5s ease-in-out 0.2s both;
}
@keyframes textFadeIn-81ad40a1 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}

/* Responsive adjustments */
@media (max-width: 768px) {
.dialog-container[data-v-81ad40a1] {
    width: 100%;
    max-width: 500px;
    min-height: auto;
}
.number-scale[data-v-81ad40a1] {
    flex-wrap: wrap;
}
.scale-cell[data-v-81ad40a1] {
    flex: 1;
    min-width: 40px;
}
}

.custom-review-widget-overlay[data-v-0ef9a917] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999; /* Higher than top bar (1000) to appear above everything */
}
.custom-review-widget-overlay.preview-mode[data-v-0ef9a917] {
  background-color: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}
.custom-review-widget-overlay.preview-mode .custom-review-widget-container[data-v-0ef9a917] {
  pointer-events: auto;
}
.custom-review-widget-overlay.action-mode[data-v-0ef9a917] {
  background-color: rgba(0, 0, 0, 0.5);
}
.custom-review-widget-overlay.test-mode[data-v-0ef9a917] {
  background-color: rgba(0, 0, 0, 0.4);
}
.custom-review-widget-container[data-v-0ef9a917] {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  overflow: auto;
}

/* Ensure the ReviewWidgetDialog is properly styled within the overlay */
.custom-review-widget-container[data-v-0ef9a917] .review-widget-dialog {
  background: white;
  border-radius: 16px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Close Button - Same styling as CustomActionDialog */
.dialog-close-btn[data-v-0ef9a917] {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  color: #71717a;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.2s ease;
  z-index: 10;
}
.dialog-close-btn[data-v-0ef9a917]:hover {
  color: #18181b;
}
.dialog-close-svg[data-v-0ef9a917] {
  width: 20px;
  height: 20px;
  transition: transform 0.2s ease;
  flex-shrink: 0;
  display: block;
}
.dialog-close-btn[data-v-0ef9a917]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(163, 145, 97, 0.3);
}
.dialog-close-btn[data-v-0ef9a917]:focus-visible {
  outline: 2px solid var(--primary-600, #a39161);
  outline-offset: 2px;
}

.review-widget-renderer[data-v-3d1148b3] {
  pointer-events: none; /* Allow clicks to pass through the container */
}
.review-widget-renderer[data-v-3d1148b3] > * {
  pointer-events: auto; /* But allow interaction with the widgets themselves */
}

.permission-modal-overlay[data-v-d35d015c] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3000;
  backdrop-filter: blur(4px);
}
.permission-modal[data-v-d35d015c] {
  background: white;
  padding: 0;
  border-radius: 12px;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  animation: slideIn-d35d015c 0.3s ease-out;
}
@keyframes slideIn-d35d015c {
from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.permission-modal-content[data-v-d35d015c] {
  padding: 2.5rem;
  text-align: center;
  position: relative;
}
.close-button[data-v-d35d015c] {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 1.2rem;
  color: #6c757d;
  cursor: pointer;
  padding: 0.5rem;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.close-button[data-v-d35d015c]:hover {
  background-color: #f8f9fa;
  color: #495057;
}
.permission-modal-header[data-v-d35d015c] {
  margin-bottom: 2rem;
}
.permission-icon[data-v-d35d015c] {
  width: 60px;
  height: 60px;
  margin: 0 auto 1rem;
  background: linear-gradient(135deg, #ff6b6b, #ee5a5a);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
}
.permission-modal-header h3[data-v-d35d015c] {
  color: #2c3e50;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  font-weight: 600;
}
.permission-modal-header p[data-v-d35d015c] {
  color: #6c757d;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}
.permission-modal-details[data-v-d35d015c] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  text-align: left;
}
.details-section h4[data-v-d35d015c] {
  color: #495057;
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
}
.details-text[data-v-d35d015c] {
  color: #6c757d;
  font-size: 0.9rem;
  line-height: 1.4;
  margin: 0;
}
.permission-modal-actions[data-v-d35d015c] {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.btn[data-v-d35d015c] {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 140px;
  justify-content: center;
}
.btn[data-v-d35d015c]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.btn[data-v-d35d015c]:active {
  transform: translateY(0);
}
.btn-primary[data-v-d35d015c] {
  background: linear-gradient(135deg, #dc3545, #c82333);
  color: white;
}
.btn-primary[data-v-d35d015c]:hover {
  background: linear-gradient(135deg, #c82333, #a71e2a);
}
.btn-secondary[data-v-d35d015c] {
  background: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}
.btn-secondary[data-v-d35d015c]:hover {
  background: #e9ecef;
  color: #495057;
}
.permission-modal-info[data-v-d35d015c] {
  padding-top: 1rem;
  border-top: 1px solid #e9ecef;
}
.info-text[data-v-d35d015c] {
  color: #6c757d;
  font-size: 0.9rem;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.info-text i[data-v-d35d015c] {
  color: #ffc107;
}

/* Mobile responsiveness */
@media (max-width: 480px) {
.permission-modal-content[data-v-d35d015c] {
    padding: 2rem 1.5rem;
}
.permission-modal-actions[data-v-d35d015c] {
    flex-direction: column;
    align-items: center;
}
.btn[data-v-d35d015c] {
    width: 100%;
    max-width: 200px;
}
.permission-modal-header h3[data-v-d35d015c] {
    font-size: 1.3rem;
}
.permission-icon[data-v-d35d015c] {
    width: 50px;
    height: 50px;
    font-size: 1.3rem;
}
}

.call-status-floating[data-v-0bd731f1] {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
  pointer-events: none; /* Allow clicks to pass through container */
}
.call-status-card[data-v-0bd731f1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 24px 32px 24px 24px;
  background: white;
  border: 2px solid var(--primary-400, #60a5fa);
  border-right: none; /* No border on right side (popping out effect) */
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  box-shadow: -4px 4px 12px rgba(0, 0, 0, 0.15);
  animation: slideInRight-0bd731f1 0.3s ease-out;
  pointer-events: auto; /* Re-enable pointer events for actual content */
}
.status-text[data-v-0bd731f1] {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
  text-align: center;
  min-width: 200px;
  max-width: 250px;
  line-height: 1.4;
  white-space: normal;
  word-wrap: break-word;
}
.call-button-wrapper[data-v-0bd731f1] {
  position: relative;
}
.call-button[data-v-0bd731f1] {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #10b981;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
  animation: pulse-0bd731f1 1.5s ease-in-out infinite;
  transition: animation 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}
.call-button.success[data-v-0bd731f1] {
  animation: none; /* Stop pulsing on success */
}
.call-button.failed[data-v-0bd731f1] {
  animation: none; /* Stop pulsing on failure */
  background: #ef4444; /* Red background for failed state */
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}
.phone-icon[data-v-0bd731f1],
.check-icon[data-v-0bd731f1] {
  width: 40px;
  height: 40px;
  position: absolute;
}

/* Icon transition animations */
.icon-fade-enter-active[data-v-0bd731f1],
.icon-fade-leave-active[data-v-0bd731f1] {
  transition: all 0.3s ease;
}
.icon-fade-enter-from[data-v-0bd731f1] {
  opacity: 0;
  transform: scale(0.5);
}
.icon-fade-leave-to[data-v-0bd731f1] {
  opacity: 0;
  transform: scale(0.5);
}
.cancel-button[data-v-0bd731f1] {
  padding: 10px 24px;
  border: 2px solid #ef4444;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  color: #ef4444;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.cancel-button[data-v-0bd731f1]:hover {
  background: #ef4444;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}
.cancel-button[data-v-0bd731f1]:active {
  transform: translateY(0);
}
.button-group[data-v-0bd731f1] {
  display: flex;
  gap: 12px;
  width: 100%;
  justify-content: center;
}
.button-group-dual[data-v-0bd731f1] {
  flex-direction: column;
}
.retry-button[data-v-0bd731f1] {
  padding: 10px 24px;
  border: 2px solid #10b981;
  border-radius: 8px;
  background: #10b981;
  color: white;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
  flex: 1;
}
.retry-button[data-v-0bd731f1]:hover {
  background: #059669;
  border-color: #059669;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(5, 150, 105, 0.4);
}
.retry-button[data-v-0bd731f1]:active {
  transform: translateY(0);
}
.close-button[data-v-0bd731f1] {
  padding: 10px 24px;
  border: 2px solid #6b7280;
  border-radius: 8px;
  background: white;
  color: #6b7280;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  flex: 1;
}
.close-button[data-v-0bd731f1]:hover {
  background: #f3f4f6;
  border-color: #4b5563;
  color: #4b5563;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.close-button[data-v-0bd731f1]:active {
  transform: translateY(0);
}

/* Animations */
@keyframes pulse-0bd731f1 {
0%,
  100% {
    transform: scale(1);
}
50% {
    transform: scale(1.1);
}
}
@keyframes slideInRight-0bd731f1 {
from {
    opacity: 0;
    transform: translateX(30px);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}
.slide-fade-enter-active[data-v-0bd731f1] {
  transition: all 0.3s ease-out;
}
.slide-fade-leave-active[data-v-0bd731f1] {
  transition: all 0.3s ease-in;
}
.slide-fade-enter-from[data-v-0bd731f1] {
  opacity: 0;
  transform: translateX(30px) translateY(-50%);
}
.slide-fade-leave-to[data-v-0bd731f1] {
  opacity: 0;
  transform: translateX(30px) translateY(-50%);
}

/* Mobile Responsive */
@media only screen and (max-width: 767px) {
.call-status-card[data-v-0bd731f1] {
    padding: 20px 28px 20px 20px;
    gap: 20px;
}
.call-button[data-v-0bd731f1] {
    width: 70px;
    height: 70px;
}
.phone-icon[data-v-0bd731f1],
  .check-icon[data-v-0bd731f1] {
    width: 35px;
    height: 35px;
}
.status-text[data-v-0bd731f1] {
    font-size: 14px;
    min-width: 180px;
    max-width: 200px;
}
.cancel-button[data-v-0bd731f1],
  .retry-button[data-v-0bd731f1],
  .close-button[data-v-0bd731f1] {
    font-size: 12px;
    padding: 8px 20px;
}
.button-group-dual[data-v-0bd731f1] {
    gap: 8px;
}
}

.call-answered-overlay[data-v-a098ef15] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 20px;
}
.call-answered-dialog[data-v-a098ef15] {
  background: white;
  border-radius: 16px;
  padding: 32px;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  animation: slideUp-a098ef15 0.3s ease-out;
}
.dialog-icon[data-v-a098ef15] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #10b981;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  overflow: hidden;
}
.dialog-icon i[data-v-a098ef15] {
  font-size: 40px;
  color: white;
}
.action-icon-svg[data-v-a098ef15] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.action-icon-svg[data-v-a098ef15] svg {
  width: 100%;
  height: 100%;
}
.action-icon-svg[data-v-a098ef15] img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1); /* Ensure white color for PNG */
}
.phone-icon-fallback[data-v-a098ef15] {
  width: 40px;
  height: 40px;
}
.dialog-title[data-v-a098ef15] {
  font-size: 24px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 12px 0;
}
.dialog-message[data-v-a098ef15] {
  font-size: 16px;
  color: #6b7280;
  margin: 0 0 24px 0;
  line-height: 1.5;
}
.ok-button[data-v-a098ef15] {
  padding: 12px 32px;
  border: none;
  border-radius: 8px;
  background: #10b981;
  color: white;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 120px;
}
.ok-button[data-v-a098ef15]:hover {
  background: #059669;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.ok-button[data-v-a098ef15]:active {
  transform: translateY(0);
}

/* Animations */
@keyframes slideUp-a098ef15 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.dialog-fade-enter-active[data-v-a098ef15],
.dialog-fade-leave-active[data-v-a098ef15] {
  transition: opacity 0.3s ease;
}
.dialog-fade-enter-active .call-answered-dialog[data-v-a098ef15],
.dialog-fade-leave-active .call-answered-dialog[data-v-a098ef15] {
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.dialog-fade-enter-from[data-v-a098ef15],
.dialog-fade-leave-to[data-v-a098ef15] {
  opacity: 0;
}
.dialog-fade-enter-from .call-answered-dialog[data-v-a098ef15] {
  transform: translateY(20px);
  opacity: 0;
}
.dialog-fade-leave-to .call-answered-dialog[data-v-a098ef15] {
  transform: translateY(-20px);
  opacity: 0;
}

/* Mobile Responsive */
@media only screen and (max-width: 767px) {
.call-answered-dialog[data-v-a098ef15] {
    padding: 24px;
    max-width: 340px;
}
.dialog-icon[data-v-a098ef15] {
    width: 56px;
    height: 56px;
}
.dialog-icon i[data-v-a098ef15] {
    font-size: 32px;
}
.dialog-title[data-v-a098ef15] {
    font-size: 20px;
}
.dialog-message[data-v-a098ef15] {
    font-size: 14px;
}
.ok-button[data-v-a098ef15] {
    font-size: 14px;
    padding: 10px 28px;
}
}

.virtual-keyboard[data-v-eefe9293] {
  position: fixed;
  z-index: 10001;
  background: linear-gradient(
    145deg,
    rgba(30, 30, 35, 0.97),
    rgba(20, 20, 25, 0.99)
  );
  border-radius: 16px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5), 0 10px 25px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.keyboard-dragging[data-v-eefe9293] {
  cursor: grabbing;
  opacity: 0.95;
}
.keyboard-resizing[data-v-eefe9293] {
  opacity: 0.95;
}

/* Drag Handle */
.keyboard-drag-handle[data-v-eefe9293] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  cursor: grab;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: relative;
}
.keyboard-drag-handle[data-v-eefe9293]:active {
  cursor: grabbing;
}
.drag-indicator[data-v-eefe9293] {
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: center;
}
.drag-line[data-v-eefe9293] {
  width: 36px;
  height: 3px;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 2px;
}
.keyboard-close-btn[data-v-eefe9293] {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.08);
  border: none;
  border-radius: 8px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.6);
  transition: all 0.15s ease;
}
.keyboard-close-btn[data-v-eefe9293]:hover {
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.9);
}

/* Keyboard Content */
.keyboard-content[data-v-eefe9293] {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 8px 12px 12px;
  gap: 6px;
}
.keyboard-row[data-v-eefe9293] {
  display: flex;
  gap: 5px;
  justify-content: center;
  flex: 1;
}
.row-offset[data-v-eefe9293] {
  padding: 0 3%;
}

/* Keys */
.keyboard-key[data-v-eefe9293] {
  flex: 1;
  max-width: 10%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    180deg,
    rgba(70, 70, 80, 0.9),
    rgba(50, 50, 60, 0.95)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.1s ease;
  position: relative;
  color: #fff;
  padding: 4px 2px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.keyboard-key[data-v-eefe9293]:hover {
  background: linear-gradient(
    180deg,
    rgba(85, 85, 95, 0.95),
    rgba(60, 60, 70, 0.98)
  );
}
.keyboard-key[data-v-eefe9293]:active,
.keyboard-key.key-pressed[data-v-eefe9293] {
  background: linear-gradient(
    180deg,
    rgba(50, 50, 60, 0.95),
    rgba(40, 40, 50, 0.98)
  );
  transform: scale(0.96);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.key-main[data-v-eefe9293] {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI",
    Roboto, sans-serif;
  font-size: clamp(16px, 2.2vw, 22px);
  font-weight: 500;
  text-transform: none;
  line-height: 1.2;
}
.key-secondary[data-v-eefe9293] {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI",
    Roboto, sans-serif;
  font-size: clamp(9px, 1.2vw, 12px);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1;
  margin-bottom: 2px;
}

/* Special Keys */
.special-key[data-v-eefe9293] {
  background: linear-gradient(
    180deg,
    rgba(60, 60, 70, 0.9),
    rgba(40, 40, 50, 0.95)
  );
}
.special-key[data-v-eefe9293]:hover {
  background: linear-gradient(
    180deg,
    rgba(75, 75, 85, 0.95),
    rgba(50, 50, 60, 0.98)
  );
}
.special-key.key-active[data-v-eefe9293] {
  background: linear-gradient(
    180deg,
    var(--keyboard-primary, #0284c7),
    var(--keyboard-primary-dark, #0369a1)
  );
  border-color: var(--keyboard-primary-light, #38bdf8);
}
.shift-key[data-v-eefe9293],
.backspace-key[data-v-eefe9293] {
  flex: 1.4;
  max-width: 14%;
}
.shift-icon[data-v-eefe9293],
.backspace-icon[data-v-eefe9293],
.enter-icon[data-v-eefe9293] {
  width: clamp(18px, 2.5vw, 24px);
  height: clamp(18px, 2.5vw, 24px);
}
.caps-lock .shift-icon[data-v-eefe9293] {
  fill: currentColor;
}
.symbol-toggle-key[data-v-eefe9293],
.enter-key[data-v-eefe9293] {
  flex: 1.3;
  max-width: 13%;
}
.space-key[data-v-eefe9293] {
  flex: 4;
  max-width: 45%;
}
.comma-key[data-v-eefe9293],
.period-key[data-v-eefe9293] {
  flex: 0.9;
  max-width: 9%;
}
.symbol-key[data-v-eefe9293] {
  max-width: 10%;
}

/* Bottom Row */
.bottom-row[data-v-eefe9293] {
  padding: 0;
}

/* Long Press Popup - Fixed positioning to avoid overflow clipping */
.long-press-popup[data-v-eefe9293] {
  position: fixed;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #38bdf8, #0284c7);
  padding: 14px 24px;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5), 0 4px 12px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.2);
  pointer-events: none;
  z-index: 10002; /* Above keyboard */
}
.popup-char[data-v-eefe9293] {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI",
    Roboto, sans-serif;
  font-size: 28px;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Resize Handle */
.keyboard-resize-handle[data-v-eefe9293] {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  cursor: nwse-resize;
  color: rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 16px 0;
  transition: color 0.15s ease;
}
.keyboard-resize-handle[data-v-eefe9293]:hover {
  color: rgba(255, 255, 255, 0.5);
}
.keyboard-resize-handle svg[data-v-eefe9293] {
  width: 16px;
  height: 16px;
}

/* Animations */
.keyboard-slide-enter-active[data-v-eefe9293] {
  transition: all 0.25s cubic-bezier(0.32, 0.72, 0, 1);
}
.keyboard-slide-leave-active[data-v-eefe9293] {
  transition: all 0.2s cubic-bezier(0.32, 0.72, 0, 1);
}
.keyboard-slide-enter-from[data-v-eefe9293] {
  opacity: 0;
  transform: translateY(30px) scale(0.97);
}
.keyboard-slide-leave-to[data-v-eefe9293] {
  opacity: 0;
  transform: translateY(20px) scale(0.98);
}
.popup-fade-enter-active[data-v-eefe9293] {
  transition: all 0.15s ease-out;
}
.popup-fade-leave-active[data-v-eefe9293] {
  transition: all 0.1s ease-in;
}
.popup-fade-enter-from[data-v-eefe9293] {
  opacity: 0;
  transform: translateX(-50%) scale(0.8);
}
.popup-fade-leave-to[data-v-eefe9293] {
  opacity: 0;
  transform: translateX(-50%) scale(0.9);
}

/* Responsive adjustments for kiosk screens */
@media (min-width: 1024px) {
.keyboard-key[data-v-eefe9293] {
    border-radius: 12px;
}
.key-main[data-v-eefe9293] {
    font-size: clamp(18px, 2vw, 24px);
}
.key-secondary[data-v-eefe9293] {
    font-size: clamp(10px, 1vw, 13px);
}
}

/* Touch feedback */
@media (hover: none) and (pointer: coarse) {
.keyboard-key[data-v-eefe9293]:active {
    transform: scale(0.94);
}
}

/* High contrast mode */
@media (prefers-contrast: high) {
.virtual-keyboard[data-v-eefe9293] {
    background: #000;
    border: 2px solid #fff;
}
.keyboard-key[data-v-eefe9293] {
    background: #333;
    border: 2px solid #fff;
}
.key-secondary[data-v-eefe9293] {
    color: rgba(255, 255, 255, 0.7);
}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.keyboard-slide-enter-active[data-v-eefe9293],
  .keyboard-slide-leave-active[data-v-eefe9293],
  .popup-fade-enter-active[data-v-eefe9293],
  .popup-fade-leave-active[data-v-eefe9293] {
    transition-duration: 0.1s;
}
.keyboard-key[data-v-eefe9293] {
    transition-duration: 0.05s;
}
}

.loader-overlay[data-v-365fb58f] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.72);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.loader[data-v-365fb58f] {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin-365fb58f 1s linear infinite;
}
@keyframes spin-365fb58f {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
@media (max-width: 767px) {
.custom-container[data-v-365fb58f] {
    flex-direction: column;
}
.custom-container .main[data-v-365fb58f] {
    order: -1;
    height: 100%;
}
.height-mobile[data-v-365fb58f] {
    height: 65% !important;
}
}

.email-login[data-v-3950b196] {
  padding: 0;
}
.header[data-v-3950b196] {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  position: relative;
  min-height: 40px;
}
.back-btn[data-v-3950b196] {
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
  position: absolute;
  left: -10px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  min-width: 70px;
  text-align: left;
  z-index: 1;
}
.back-text[data-v-3950b196] {
  pointer-events: none;
}
.title[data-v-3950b196] {
  flex: 1;
  text-align: center;
  margin: 0;
  font-size: 21px;
  font-weight: 500;
}
.form-group[data-v-3950b196] {
  margin-bottom: 15px;
}
.form-group[data-v-3950b196]:last-child {
  margin-bottom: 0;
}
.input-wrapper[data-v-3950b196] {
  position: relative;
  display: flex;
  align-items: center;
}
.form-input[data-v-3950b196] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}
.form-input.error[data-v-3950b196] {
  border-color: #dc3545;
}
.visibility-btn[data-v-3950b196],
.clear-btn[data-v-3950b196] {
  position: absolute;
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
}
.clear-btn[data-v-3950b196] {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
}
.visibility-btn[data-v-3950b196] {
  right: 10px;
}
.error-text[data-v-3950b196] {
  color: #dc3545;
  font-size: 12px;
  margin-top: 5px;
  display: block;
}
.sign-in-btn[data-v-3950b196] {
  width: 100%;
  padding: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 15px;
}
.sign-in-btn[data-v-3950b196]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.error-message[data-v-3950b196] {
  color: #dc3545;
  font-size: 14px;
  margin-top: 10px;
  text-align: left;
  white-space: pre-line;
  padding: 10px;
  background-color: rgba(220, 53, 69, 0.1);
  border-radius: 4px;
}
.error-message-centered[data-v-3950b196] {
  text-align: center;
}

/* For password field where we have both clear and visibility buttons */
.form-group:has(input[type="password"]) .clear-btn[data-v-3950b196] {
  right: 35px;
}

.modal-overlay[data-v-d6c0716c] {
  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: 99999 !important;
}
.modal-content[data-v-d6c0716c] {
  background-color: white;
  padding: 30px;
  border-radius: 8px;
  width: 450px;
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  z-index: 100000 !important;
}
.close-button[data-v-d6c0716c] {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  color: #666;
  z-index: 100001;
}
.close-button[data-v-d6c0716c]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.account-linking-content[data-v-d6c0716c] {
  text-align: center;
}
.account-linking-content h2[data-v-d6c0716c] {
  margin-bottom: 20px;
  color: #333;
  font-size: 24px;
}
.account-linking-content h3[data-v-d6c0716c] {
  margin-bottom: 20px;
  color: #555;
  font-size: 18px;
}
.conflict-message[data-v-d6c0716c] {
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 4px;
  padding: 15px;
  margin-bottom: 25px;
  color: #856404;
  text-align: left;
  line-height: 1.5;
}
.password-linking[data-v-d6c0716c] {
  text-align: left;
}
.form-group[data-v-d6c0716c] {
  margin-bottom: 20px;
}
.form-group label[data-v-d6c0716c] {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
}
.form-input[data-v-d6c0716c] {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  box-sizing: border-box;
}
.form-input[data-v-d6c0716c]:focus {
  outline: none;
  border-color: #0078d4;
  box-shadow: 0 0 0 2px rgba(0, 120, 212, 0.2);
}
.form-input[readonly][data-v-d6c0716c] {
  background-color: #f8f9fa;
  color: #6c757d;
}
.button-group[data-v-d6c0716c] {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 25px;
}
.btn[data-v-d6c0716c] {
  padding: 12px 24px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  border: none;
  font-size: 16px;
  transition: background-color 0.2s ease;
}
.btn[data-v-d6c0716c]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-primary[data-v-d6c0716c] {
  background-color: #0078d4;
  color: white;
}
.btn-primary[data-v-d6c0716c]:hover:not(:disabled) {
  background-color: #106ebe;
}
.btn-secondary[data-v-d6c0716c] {
  background-color: #6c757d;
  color: white;
}
.btn-secondary[data-v-d6c0716c]:hover {
  background-color: #5a6268;
}
.provider-instructions[data-v-d6c0716c] {
  text-align: center;
}
.provider-instructions p[data-v-d6c0716c] {
  margin-bottom: 25px;
  color: #555;
  line-height: 1.5;
}
.error-message[data-v-d6c0716c] {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  padding: 12px;
  margin-top: 15px;
  color: #721c24;
  text-align: left;
}

.modal-overlay[data-v-089239f2] {
  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: 99999 !important;
}
.modal-content[data-v-089239f2] {
  background-color: white;
  padding: 20px;
  border-radius: 8px;
  width: 300px;
  text-align: center;
  position: relative;
  min-height: auto;
  z-index: 100000 !important;
}
.close-button[data-v-089239f2] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  color: #666;
  z-index: 100001;
}
.close-button[data-v-089239f2]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.btn[data-v-089239f2] {
  display: block;
  width: 100%;
  padding: 12px;
  margin: 12px 0;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  border: none;
}
.btn[data-v-089239f2]:last-child {
  margin-bottom: 0;
}
.btn-google[data-v-089239f2] {
  background-color: #db4437;
  color: white;
}
.btn-microsoft[data-v-089239f2] {
  background-color: #0078d4;
  color: white;
}
.btn-email[data-v-089239f2] {
  background-color: #cecccc;
  color: #4a4a4a;
  border: none;
}
.btn[data-v-089239f2]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.error-message[data-v-089239f2] {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  padding: 12px;
  margin-bottom: 20px;
  color: #721c24;
  font-size: 14px;
  line-height: 1.4;
}

.map-search-container[data-v-02679bed] {
  position: relative;
  display: flex;
  align-items: center;
}
.search-button[data-v-02679bed] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}
.search-button[data-v-02679bed]:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.search-input-wrapper[data-v-02679bed] {
  position: relative;
  display: flex;
  align-items: center;
  width: 300px;
  max-width: 100%;
}

/* Mobile responsive design */
@media (max-width: 768px) {
.search-input-wrapper[data-v-02679bed] {
    width: calc(
      100vw - 80px
    ); /* Full viewport minus: left margin (10px) + desired padding from profile button (20px) + profile button width (~40px) + right margin (10px) = 80px */
    max-width: calc(100vw - 80px);
}
}
.map-search-input[data-v-02679bed] {
  width: 100%;
  padding: 12px 40px 12px 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
}
.map-search-input[data-v-02679bed]:focus {
  outline: none;
  border-color: #335eea;
  box-shadow: 0 4px 12px rgba(51, 94, 234, 0.2);
  background: rgba(255, 255, 255, 1);
}
.map-search-input[data-v-02679bed]::placeholder {
  color: #888;
}
.clear-button[data-v-02679bed] {
  position: absolute;
  right: 32px;
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
  padding: 4px;
  border-radius: 3px;
  transition: color 0.2s ease;
}
.clear-button[data-v-02679bed]:hover {
  color: #333;
}
.search-button .search-icon[data-v-02679bed] {
  color: #666;
}
.search-input-wrapper .search-icon[data-v-02679bed] {
  position: absolute;
  right: 12px;
  color: #666;
  pointer-events: none;
}
.search-dropdown[data-v-02679bed] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  margin-top: 4px;
  padding: 8px 0;
}
.search-result-item[data-v-02679bed] {
  padding: 12px 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color 0.15s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.search-result-item[data-v-02679bed]:last-child {
  border-bottom: none;
}
.search-result-item[data-v-02679bed]:hover,
.search-result-item.selected[data-v-02679bed] {
  background-color: rgba(51, 94, 234, 0.08);
}
.result-content[data-v-02679bed] {
  flex: 1;
  min-width: 0;
}
.result-name[data-v-02679bed] {
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.result-location[data-v-02679bed] {
  font-size: 12px;
  color: #666;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
}
.result-distance[data-v-02679bed] {
  font-size: 11px;
  color: #888;
  font-weight: 500;
}
.result-arrow[data-v-02679bed] {
  color: #ccc;
  margin-left: 12px;
  transition: color 0.15s ease;
}
.search-result-item:hover .result-arrow[data-v-02679bed],
.search-result-item.selected .result-arrow[data-v-02679bed] {
  color: #335eea;
}

/* Responsive design */
@media (max-width: 768px) {
.map-search-container[data-v-02679bed] {
    width: 250px;
}
.map-search-input[data-v-02679bed] {
    padding: 10px 36px 10px 14px;
    font-size: 13px;
}
}

.home-map-container[data-v-ac7a71ea] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.world-map-container[data-v-ac7a71ea] {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.world-map-background[data-v-ac7a71ea] {
  width: 100%;
  height: 100%;
  position: relative;
  cursor: grab;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  /* Ensure smooth background positioning */
  background-origin: border-box;
  background-clip: border-box;
}
.world-map-background[data-v-ac7a71ea]:active {
  cursor: grabbing;
}

/* Control buttons positioning */
.top-left-controls[data-v-ac7a71ea] {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bottom-center-controls[data-v-ac7a71ea] {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
}
.top-right-controls[data-v-ac7a71ea] {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1000;
}

/* Control button styling */
.control-button[data-v-ac7a71ea] {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 12px 16px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  min-width: 44px;
  min-height: 44px;
}
.control-button[data-v-ac7a71ea]:hover {
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transform: translateY(-1px);
}
.control-button[data-v-ac7a71ea]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

/* Search button styling to match Search.vue */
.search-button[data-v-ac7a71ea] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}
.search-button[data-v-ac7a71ea]:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.search-icon[data-v-ac7a71ea] {
  color: #666;
}

/* Find Maps Button Styling */
.find-maps-button[data-v-ac7a71ea] {
  background: rgba(51, 94, 234, 0.95);
  border: none;
  border-radius: 25px;
  padding: 12px 24px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  color: white;
  min-height: 50px;
  backdrop-filter: blur(10px);
}
.find-maps-button[data-v-ac7a71ea]:hover:not(:disabled) {
  background: rgba(51, 94, 234, 1);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
.find-maps-button[data-v-ac7a71ea]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}
.location-icon[data-v-ac7a71ea] {
  font-size: 18px;
}

/* Maps Found Section */
.maps-found-section[data-v-ac7a71ea] {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  width: 90%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

/* Primary Map Button (Green) */
.primary-map-button[data-v-ac7a71ea] {
  background: rgba(40, 167, 69, 0.95);
  border: none;
  border-radius: 25px;
  padding: 14px 24px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 400px;
  color: white;
  font-size: 16px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}
.primary-map-button[data-v-ac7a71ea]:hover {
  background: rgba(40, 167, 69, 1);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

/* Show More Maps Button */
.show-more-button[data-v-ac7a71ea] {
  background: rgba(51, 94, 234, 0.95);
  border: none;
  border-radius: 20px;
  padding: 10px 20px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 400px;
  color: white;
  font-size: 14px;
  font-weight: 500;
  backdrop-filter: blur(10px);
}
.show-more-button[data-v-ac7a71ea]:hover {
  background: rgba(51, 94, 234, 1);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Login button styling */
.login-button[data-v-ac7a71ea] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}
.login-button[data-v-ac7a71ea]:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.login-icon[data-v-ac7a71ea] {
  color: #666;
}
.button-text[data-v-ac7a71ea] {
  white-space: nowrap;
}

/* Loading overlay */
.loading-overlay[data-v-ac7a71ea] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.loading-spinner[data-v-ac7a71ea] {
  font-size: 32px;
  color: #335eea;
  margin-bottom: 16px;
}
.loading-text[data-v-ac7a71ea] {
  font-size: 16px;
  color: #666;
  margin: 0;
}

/* Messages */
.location-message[data-v-ac7a71ea],
.no-maps-message[data-v-ac7a71ea] {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  max-width: 400px;
  width: 90%;
}
.message-content[data-v-ac7a71ea] {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  text-align: center;
}
.message-content i[data-v-ac7a71ea] {
  font-size: 24px;
  color: #666;
  margin-bottom: 8px;
}
.message-content p[data-v-ac7a71ea] {
  margin: 8px 0 16px 0;
  color: #333;
  font-size: 14px;
}
.create-map-button[data-v-ac7a71ea] {
  background: #28a745;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  margin-right: 8px;
  cursor: pointer;
  font-size: 14px;
}
.create-map-button[data-v-ac7a71ea]:hover {
  background: #218838;
}
.dismiss-button[data-v-ac7a71ea] {
  background: #6c757d;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 14px;
}
.dismiss-button[data-v-ac7a71ea]:hover {
  background: #5a6268;
}

/* Search container */
.search-container[data-v-ac7a71ea] {
  position: relative;
}

/* Responsive design */
@media (max-width: 768px) {
.top-left-controls[data-v-ac7a71ea],
  .top-center-controls[data-v-ac7a71ea],
  .top-right-controls[data-v-ac7a71ea] {
    top: 10px;
}
.top-left-controls[data-v-ac7a71ea] {
    left: 10px;
}
.top-right-controls[data-v-ac7a71ea] {
    right: 10px;
}
.control-button[data-v-ac7a71ea] {
    padding: 10px 12px;
    font-size: 12px;
}
.button-text[data-v-ac7a71ea] {
    display: none;
}
.message-content[data-v-ac7a71ea] {
    margin: 0 10px;
}
}

/* Hide button text on very small screens */
@media (max-width: 480px) {
.button-text[data-v-ac7a71ea] {
    display: none;
}
.control-button[data-v-ac7a71ea] {
    min-width: 40px;
    min-height: 40px;
    padding: 8px;
}
.find-maps-button[data-v-ac7a71ea] {
    font-size: 14px;
    padding: 10px 20px;
    min-height: 44px;
}
.find-maps-button .button-text[data-v-ac7a71ea] {
    display: block;
}
.bottom-center-controls[data-v-ac7a71ea] {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 300px;
}
.find-maps-button[data-v-ac7a71ea] {
    width: 100%;
    justify-content: center;
}
.maps-found-section[data-v-ac7a71ea] {
    bottom: 20px;
    width: 95%;
    max-width: 100%;
}
.primary-map-button[data-v-ac7a71ea] {
    padding: 12px 20px;
    font-size: 15px;
    max-width: 100%;
}
.show-more-button[data-v-ac7a71ea] {
    padding: 8px 16px;
    font-size: 13px;
}
}

/* Email Verified Popup */
.email-verified-popup[data-v-ac7a71ea] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.email-verified-popup .popup-content[data-v-ac7a71ea] {
  background: white;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  text-align: center;
  max-width: 400px;
  width: 90%;
  animation: popupFadeIn-ac7a71ea 0.3s ease-out;
}
@keyframes popupFadeIn-ac7a71ea {
from {
    opacity: 0;
    transform: scale(0.9) translateY(-20px);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}
.popup-header[data-v-ac7a71ea] {
  margin-bottom: 24px;
}
.success-icon[data-v-ac7a71ea] {
  font-size: 48px;
  color: #28a745;
  margin-bottom: 16px;
}
.popup-header h2[data-v-ac7a71ea] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #333;
}
.countdown-section[data-v-ac7a71ea] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.countdown-text[data-v-ac7a71ea] {
  margin: 0;
  font-size: 16px;
  color: #666;
}
.countdown-number[data-v-ac7a71ea] {
  font-size: 48px;
  font-weight: bold;
  color: #335eea;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 3px solid #335eea;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: countdownPulse-ac7a71ea 1s ease-in-out infinite;
}
@keyframes countdownPulse-ac7a71ea {
0%,
  100% {
    transform: scale(1);
}
50% {
    transform: scale(1.05);
}
}
.dont-close-button[data-v-ac7a71ea] {
  background: #6c757d;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.dont-close-button[data-v-ac7a71ea]:hover {
  background: #5a6268;
  transform: translateY(-1px);
}
.manual-close-section[data-v-ac7a71ea] {
  display: flex;
  justify-content: center;
}
.ok-button[data-v-ac7a71ea] {
  background: #28a745;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 12px 32px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ok-button[data-v-ac7a71ea]:hover {
  background: #218838;
  transform: translateY(-1px);
}

/* Responsive design for popup */
@media (max-width: 480px) {
.email-verified-popup .popup-content[data-v-ac7a71ea] {
    padding: 24px;
    margin: 20px;
}
.success-icon[data-v-ac7a71ea] {
    font-size: 36px;
}
.popup-header h2[data-v-ac7a71ea] {
    font-size: 20px;
}
.countdown-number[data-v-ac7a71ea] {
    font-size: 36px;
    width: 60px;
    height: 60px;
}
}

.pricing-slider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.form-slider {
  width: 100%;
  text-align: center;
  margin-bottom: 10px; /* Adjust as needed */
}
.slider-input input[type="range"] {
  width: 100% !important;
}
.slider-label {
  margin-top: 30px; /* Adds space between the slider and the sqm label */
  font-size: 1.5rem;
  width: 100%;
  text-align: center;
  display: block; /* ensures each element takes up the full width */
  margin-bottom: 30px;
}
.pricing-slider-value {
  font-size: 2rem;
  margin-bottom: 30px;
}

.dropzone[data-v-26525116] {
  border: 3px dashed #ccc;
  padding: 10px;
  cursor: pointer;
  text-align: center;
  border-radius: 5px;
}
.img-preview[data-v-26525116] {
  max-width: 100px;
  max-height: 100px;
  border: 1px solid #ddd;
  border-radius: 5px;
  object-fit: contain;
  background: #fff;
}
.profile-info[data-v-26525116] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-picture[data-v-26525116] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
}
.profile-name[data-v-26525116] {
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
span[data-v-26525116] {
    display: none;
}
}
.thumbnail-container[data-v-26525116] {
  position: relative;
  margin-right: 10px;
  margin-bottom: 10px;
  width: 100px;
  height: 100px;
}
.delete-button[data-v-26525116] {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.delete-icon[data-v-26525116] {
  width: 20px;
  height: 20px;
}
.delete-button[data-v-26525116]:hover {
  background-color: #cc0000;
}
.spinner-container[data-v-26525116] {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.policy-container[data-v-0f0b8612] {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
  font-family: Arial, sans-serif;
  line-height: 1.6;
}
.policy-header[data-v-0f0b8612] {
  border-bottom: 2px solid #ddd;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
}
.policy-header h1[data-v-0f0b8612] {
  font-size: 2rem;
  color: #0c6ffe;
  margin-left: 1rem;
}
.home-button[data-v-0f0b8612] {
  display: inline-block;
}
.home-button-img[data-v-0f0b8612] {
  width: auto;
  height: auto;
}
.policy-content h2[data-v-0f0b8612] {
  color: #0c6ffe;
  margin-top: 2rem;
}
.policy-content ul[data-v-0f0b8612] {
  list-style-type: disc;
  padding-left: 1.5rem;
}
.policy-content a[data-v-0f0b8612] {
  color: #0c6ffe;
  text-decoration: none;
}
.policy-content a[data-v-0f0b8612]:hover {
  text-decoration: underline;
}
.policy-footer[data-v-0f0b8612] {
  border-top: 2px solid #ddd;
  margin-top: 2rem;
  padding-top: 1rem;
  text-align: center;
  color: #555;
}
@media (max-width: 600px) {
.policy-container[data-v-0f0b8612] {
    padding: 1rem;
}
.policy-header h1[data-v-0f0b8612] {
    font-size: 1.5rem;
}
}


html {
  scroll-behavior: auto;
}

/* Add any component-specific styles here if necessary */

/* Add any component-specific styles here if necessary */

/* Add any component-specific styles here if necessary */

/* Add any component-specific styles here if necessary */
div[v-html][data-v-1faa46bb] {
  line-height: 1.6;
  font-size: 1rem;
}
div[v-html] h1[data-v-1faa46bb],
div[v-html] h2[data-v-1faa46bb],
div[v-html] h3[data-v-1faa46bb] {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
div[v-html] p[data-v-1faa46bb] {
  margin-bottom: 1em;
}
div[v-html] ul[data-v-1faa46bb],
div[v-html] ol[data-v-1faa46bb] {
  margin-left: 1.5em;
  margin-bottom: 1em;
}
div[v-html] a[data-v-1faa46bb] {
  color: #007bff;
  text-decoration: none;
}
div[v-html] a[data-v-1faa46bb]:hover {
  text-decoration: underline;
}

.home-container[data-v-c7b7b7a9] {
  position: relative;
  width: 100%;
  height: 100%;
}
.profile-button-container[data-v-c7b7b7a9] {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 1000; /* Ensure it's above other elements */
}
.content-container[data-v-c7b7b7a9] {
  position: relative;
  z-index: 1;
}
.header[data-v-c7b7b7a9] {
  position: relative;
  z-index: 1;
}
.home[data-v-c7b7b7a9] {
  overflow: auto;
  width: 100%;
}
.btn-primary[data-v-c7b7b7a9] {
  margin-bottom: 100px; /* or any desired value */
}
.card-btn[data-v-c7b7b7a9] {
  width: 50%; /* Set the width to half of its parent */
  display: block; /* Make the button a block element */
  /* Auto margin on both sides to center it */
  /* or any desired value */
  margin: 0 auto 200px;
}
.price[data-v-c7b7b7a9] {
  font-weight: 500; /* Example: Bootstrap's typical font weight for 'lead' */
}
.text-primary[data-v-c7b7b7a9] {
  color: rgb(12 111 254) !important;
}
.bg-primary[data-v-c7b7b7a9] {
  background-color: rgb(12 111 254) !important;
}
.footer-row[data-v-c7b7b7a9] {
  display: flex;
  justify-content: center; /* Center horizontally */
  align-items: start; /* Align items to the top */
}
.footer a[data-v-c7b7b7a9],
.footer .router-link[data-v-c7b7b7a9] {
  text-decoration: none; /* Removes the underline */
}
.text-reset[data-v-c7b7b7a9] {
  text-decoration: none;
}
.footer a[data-v-c7b7b7a9]:hover,
.footer .router-link[data-v-c7b7b7a9]:hover {
  text-decoration: underline; /* Optional: underline on hover */
}
.mt-extra[data-v-c7b7b7a9] {
  margin-top: 2rem; /* Adjust the value as needed */
}
.mb-extra[data-v-c7b7b7a9] {
  margin-bottom: 1rem; /* Adjust the value as needed */
}
.my-custom-padding[data-v-c7b7b7a9] {
  padding-top: 0rem; /* Adjust the value as needed */
}
.custom-switch-color .form-check-input[data-v-c7b7b7a9] {
  background-color: #e9ecef; /* Light gray background for the switch */
  border-color: #adb5bd; /* Gray border for better contrast */
}
.custom-switch-color .form-check-input[data-v-c7b7b7a9]:checked {
  background-color: rgb(12, 111, 254) !important; /* Set to blue */
}
.custom-switch-color .form-check-input[data-v-c7b7b7a9]:focus {
  border-color: #adb5bd;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); /* Light blue shadow for focus */
}
.custom-switch-color .form-check-input[data-v-c7b7b7a9]:checked:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}
.custom-switch-color .v-input--selection-controls__input[data-v-c7b7b7a9]:checked {
  background-color: rgb(12, 111, 254) !important; /* Set to blue */
}
.custom-switch-color
  .v-input--selection-controls__input:checked
  + .v-input--selection-controls__ripple[data-v-c7b7b7a9] {
  background-color: rgb(
    12,
    111,
    254
  ) !important; /* Ensure ripple effect is also blue */
}
.custom-switch-color
  .v-input--selection-controls__input:checked
  + .v-input--selection-controls__track[data-v-c7b7b7a9] {
  background-color: rgb(12, 111, 254) !important; /* Set track color to blue */
}

.map-container {
  flex: 1;
  height: 100vh;
}
.mapboxgl-ctrl-geocoder input {
  width: 100%;
  font-size: 1rem;
  outline: none;
  border: none;
  font-family: "Poppins", sans-serif;
}
.mapboxgl-ctrl-geocoder {
  border-radius: 30px;
  border: none;
  width: 100%;
  box-shadow: 0px 4px 4px 0px #00000040;
}
.button-size {
  width: 40px;
  height: 40px;
}
.mapboxgl-ctrl-geocoder input:focus {
  outline: none;
  border: none;
}
.mapboxgl-ctrl-geocoder--button {
  display: none !important;
}
.active-floor {
  background: #2791cc !important;
  color: white !important;
}
.floor-selection {
  position: absolute;
  bottom: 60px;
  left: 16px;
  padding: 0;
  display: flex;
  flex-direction: column-reverse;
}
.floor-selection button {
  margin-bottom: 8px;
}

/* Added new styles for the independent buttons */
.floor-btn {
  position: absolute;
  bottom: 16px;
  left: 16px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
  font-weight: 600;
  color: #333;
  font-family: "Poppins", sans-serif;
}
.location-btn {
  position: absolute;
  bottom: 16px;
  right: 16px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
}
@media only screen and (max-width: 767px) {
  /* Original .floor-selection positioning - Keep for desktop or remove if desktop version is handled separately */
  /*
  .floor-selection {
    bottom: 15%; 
    margin-bottom: 10px;
    z-index: 6; 
  }
  */

  /* Positioning for the floor panel when INSIDE the mobile button container */
.mobile-floor-selection {
    position: absolute;
    bottom: 70px; /* Increased to ensure it clears the main button completely - allows for button height (40px) plus extra space */
    left: 16px; /* Align with container padding (where floor button is) */
    z-index: 6; /* Ensure it's above buttons */
    display: flex;
    flex-direction: column-reverse;
    padding: 0;
    margin-bottom: 0; /* Ensure no additional margin is pushing it down */
}
.mobile-floor-selection button {
    margin-bottom: 8px; /* Space between floor buttons */
    /* Inherits other styles */
}

  /* Hide desktop buttons and their floor panel on mobile */
.desktop-buttons {
    display: none;
}
}
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
  margin-bottom: 1rem;
}
@keyframes spin {
to {
    transform: rotate(360deg);
}
}

/* Styles for preview marker - includes pulse animation */
.promotion-preview-marker {
  z-index: 10;
}
.promotion-preview-marker .promotion-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-weight: bold;
  font-size: 14px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  animation: pulse 1.5s ease-in-out infinite;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, bold);
  font-style: var(--custom-font-style, inherit);
}

/* Styles for regular promotion markers - no animation */
.promotion-marker {
  transition: z-index 0s, transform 0.3s ease;
  z-index: 1;
}
.promotion-marker .promotion-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-weight: bold;
  font-size: 14px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, bold);
  font-style: var(--custom-font-style, inherit);
}
.promotion-marker-selected {
  z-index: 1000;
}

/* Keep the pulse animation definition for preview markers only */
@keyframes pulse {
0% {
    transform: scale(1);
    opacity: 1;
}
50% {
    transform: scale(1.1);
    opacity: 0.9;
}
100% {
    transform: scale(1);
    opacity: 1;
}
}

/* User Location Marker Styles for Beacon Positioning */
.user-location-marker {
  position: relative;
  z-index: 1000;
}
.blue-dot-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.blue-dot {
  width: 16px;
  height: 16px;
  background: #007aff;
  border: 3px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  z-index: 3;
}
.blue-dot-pulse {
  position: absolute;
  width: 30px;
  height: 30px;
  background: rgba(0, 122, 255, 0.3);
  border-radius: 50%;
  animation: beaconPulse 2s infinite;
  z-index: 1;
}
.accuracy-circle {
  position: absolute;
  border: 2px solid rgba(0, 122, 255, 0.4);
  background: rgba(0, 122, 255, 0.1);
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
}
.user-location-popup {
  font-family: var(--custom-font-family, "Poppins"), sans-serif;
  text-align: center;
  color: #333;
  min-width: 120px;
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.user-location-popup strong {
  color: #007aff;
}
.user-location-popup small {
  color: #666;
  line-height: 1.3;
}
@keyframes beaconPulse {
0% {
    transform: scale(0.8);
    opacity: 1;
}
50% {
    transform: scale(1.2);
    opacity: 0.5;
}
100% {
    transform: scale(1.4);
    opacity: 0;
}
}

/* Force-hide the default Mapbox Geolocate button */
.mapboxgl-ctrl-geolocate {
  display: none !important;
}

/* Keep original button styles separate for desktop */
.desktop-buttons .floor-btn {
  position: absolute;
  bottom: 16px;
  left: 16px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
  font-weight: 600;
  color: #333;
  font-family: "Poppins", sans-serif;
}
.desktop-buttons .location-btn {
  position: absolute;
  bottom: 16px;
  right: 16px;
  z-index: 1;
  display: flex; /* Keep display flex for the inner button alignment */
  justify-content: center;
  align-items: center;
  /* width and height are set on the inner button */
}
.desktop-buttons .location-btn button {
  /* Styles for the button itself */
  border: none;
  background-color: white;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  padding: 0; /* Remove padding if image should fill */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px; /* Set size here */
  height: 40px;
}
@media only screen and (max-width: 767px) {
.floor-selection {
    bottom: 15%; /* This might need adjustment or removal if covered */
    margin-bottom: 10px;
}
  /* Hide desktop buttons on mobile */
.desktop-buttons {
    display: none;
}
}

/* Mobile Button Container Styles */
.mobile-button-container {
  position: absolute; /* Positioned dynamically via style binding */
  left: 0;
  right: 0;
  display: flex;
  justify-content: flex-start; /* Changed: Push floor button to the left */
  align-items: flex-end; /* Align items to the bottom */
  padding: 0 16px 8px 16px; /* Padding: T R B L - 8px bottom padding */
  z-index: 5; /* Ensure it's above map but potentially below other UI */
  transition: bottom 0.3s ease; /* Smooth transition when resizing */
}

/* Styles for buttons inside the mobile container */
.mobile-button-container button {
  pointer-events: auto; /* Make buttons clickable */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
  padding: 0; /* Reset padding */
}
.mobile-button-container .mobile-floor-btn {
  font-weight: 600;
  color: #333;
  font-family: "Poppins", sans-serif;
  margin-right: auto; /* Added: Pushes this button to the far left */
}
.mobile-button-container .mobile-location-btn img {
  width: 30px;
  height: 30px;
}
.map-container canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.mapboxgl-canvas-container {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}

.search-container[data-v-fb4512fe] {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.search-button[data-v-fb4512fe] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  z-index: 11;
  transition: all 0.3s ease;
  overflow: hidden;
  will-change: border-radius;
}
.search-button.expanded[data-v-fb4512fe] {
  border-radius: 20px 0 0 20px;
}

/* Ensure collapsed state has proper border radius */
.search-container:not(.expanded) .search-button[data-v-fb4512fe] {
  border-radius: 50% !important;
}

/* Ensure proper border radius transitions */
.search-button[data-v-fb4512fe] {
  border-radius: 50%;
}
.search-button.expanded[data-v-fb4512fe] {
  border-radius: 20px 0 0 20px;
}

/* Force proper border radius in collapsed state */
.search-container:not(.expanded) .search-button[data-v-fb4512fe] {
  border-radius: 50% !important;
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

/* Ensure all collapsed states have proper border radius */
.search-container:not(.expanded) .search-button[data-v-fb4512fe],
.search-container.mapview-mode:not(.expanded) .search-button[data-v-fb4512fe],
.search-container.compact-mode:not(.expanded) .search-button[data-v-fb4512fe] {
  border-radius: 50% !important;
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

/* Ensure proper border radius inheritance */
.search-button[data-v-fb4512fe] {
  border-radius: 50%;
}

/* Override for expanded state */
.search-button.expanded[data-v-fb4512fe] {
  border-radius: 20px 0 0 20px !important;
}

/* Ensure smooth transitions between states */
.search-button[data-v-fb4512fe] {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Prevent border radius glitches during transitions */
.search-container:not(.expanded) .search-button[data-v-fb4512fe] {
  border-radius: 50% !important;
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
  border-top-left-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

/* HubView mode - single shadow on parent container */
.search-container.hubview-mode[data-v-fb4512fe] {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  background: white;
  border: 1px solid var(--primary-200);
  overflow: hidden;
}
.search-container.hubview-mode .search-button[data-v-fb4512fe] {
  box-shadow: none;
  border-radius: 20px 0 0 20px;
}
.search-container.hubview-mode .search-bar[data-v-fb4512fe] {
  box-shadow: none;
  border-radius: 0 20px 20px 0;
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

/* Ensure HubView mode collapsed state has proper border radius */
.search-container.hubview-mode:not(.expanded) .search-button[data-v-fb4512fe] {
  border-radius: 20px !important;
}

/* Ensure MapView mode collapsed state has proper border radius */
.search-container.mapview-mode:not(.expanded) .search-button[data-v-fb4512fe] {
  border-radius: 50% !important;
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

/* Compact mode - show only search button */
.search-container.compact-mode .search-bar[data-v-fb4512fe] {
  width: 0 !important;
  opacity: 0 !important;
  padding-right: 0 !important;
  transition: width 0.3s ease, opacity 0.3s ease;
}
.search-container.compact-mode .search-button[data-v-fb4512fe] {
  border-radius: 50% !important;
  transition: border-radius 0.3s ease;
}

/* Ensure compact mode maintains proper border radius */
.search-container.compact-mode:not(.expanded) .search-button[data-v-fb4512fe] {
  border-radius: 50% !important;
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

/* Ensure compact mode expanded state has proper border radius */
.search-container.compact-mode.expanded .search-button[data-v-fb4512fe] {
  border-radius: 20px 0 0 20px !important;
}
.search-icon[data-v-fb4512fe] {
  color: #666;
}
.search-bar[data-v-fb4512fe] {
  width: 0;
  height: 40px;
  overflow: hidden;
  background: white;
  border-radius: 0 20px 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  opacity: 0;
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-sizing: border-box;
  cursor: text;
}
.search-bar.expanded[data-v-fb4512fe] {
  width: 260px;
  opacity: 1;
  padding: 0 10px 0 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  cursor: text;
}

/* Media query for larger screens */
@media (min-width: 768px) {
.search-bar.expanded[data-v-fb4512fe] {
    width: 260px; /* Match desktop max width */
}
}

/* Media query for smaller screens */
@media (max-width: 767px) {
.search-bar.expanded[data-v-fb4512fe] {
    width: calc(100vw - 100px); /* Responsive width with margins */
    max-width: 260px; /* Maximum width */
}

  /* Mobile-specific border radius fixes */
.search-container:not(.expanded) .search-button[data-v-fb4512fe] {
    border-radius: 50% !important;
    border-top-right-radius: 50% !important;
    border-bottom-right-radius: 50% !important;
    overflow: hidden;
}
.search-container.compact-mode:not(.expanded) .search-button[data-v-fb4512fe] {
    border-radius: 50% !important;
    border-top-right-radius: 50% !important;
    border-bottom-right-radius: 50% !important;
    overflow: hidden;
}

  /* Ensure mobile expanded state has proper border radius */
.search-container.expanded .search-button[data-v-fb4512fe] {
    border-radius: 20px 0 0 20px !important;
}
}
.custom-search-input[data-v-fb4512fe] {
  flex: 1;
  border: none !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 10px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 14px;
  min-width: 0;
  height: 100%;
  background: transparent !important;
  text-align: left;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
.custom-search-input[data-v-fb4512fe]::placeholder {
  text-align: left;
  opacity: 0.6;
}
.clear-button[data-v-fb4512fe] {
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
  padding: 8px 8px 8px 12px;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  position: relative;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.clear-button[data-v-fb4512fe]:hover {
  color: #666;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
}
.clear-button[data-v-fb4512fe]:active {
  transform: scale(0.95);
}
.custom-dropdown-menu[data-v-fb4512fe] {
  position: fixed !important;
  top: 45px;
  left: 0;
  width: 300px;
  overflow-y: auto;
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 99999 !important;
  padding: 5px 0;
  border: 1px solid #e0e0e0;
}
.search-result-item[data-v-fb4512fe] {
  padding: 8px 15px;
  cursor: pointer;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: white;
  min-height: auto;
  box-sizing: border-box;
}
.result-item-icon[data-v-fb4512fe] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #e4e4e7;
  background: white;
}
.result-icon-img[data-v-fb4512fe] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.result-item-content[data-v-fb4512fe] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 0;
}
.search-result-item[data-v-fb4512fe]:hover {
  background-color: var(--primary-100);
}
.search-result-item:hover .result-item-name[data-v-fb4512fe],
.search-result-item:hover .category-indicator[data-v-fb4512fe],
.search-result-item:hover .position-indicator[data-v-fb4512fe],
.search-result-item:hover .event-indicator[data-v-fb4512fe] {
  background-color: transparent;
}

/* Keep floor indicator styling on hover */
.search-result-item:hover .floor-indicator[data-v-fb4512fe] {
  background-color: var(--primary-400) !important;
  color: white !important;
}
.result-item-name[data-v-fb4512fe] {
  font-weight: 500;
  margin-bottom: 0;
  line-height: 1.3;
  word-break: break-word;
  color: #1f2937; /* Explicit dark text color - always visible on light backgrounds */
}
.result-item-details[data-v-fb4512fe] {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 4px;
}
.category-indicator[data-v-fb4512fe] {
  font-size: 12px;
  color: #666;
  background-color: #e6f7ff;
  padding: 2px 6px;
  border-radius: 10px;
}
.floor-indicator[data-v-fb4512fe] {
  font-size: 12px;
  color: white;
  background-color: var(--primary-400);
  padding: 2px 6px;
  border-radius: 10px;
}
.position-indicator[data-v-fb4512fe] {
  font-size: 12px;
  color: #666;
  background-color: #fff1e6;
  padding: 2px 6px;
  border-radius: 10px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.event-indicator[data-v-fb4512fe] {
  font-size: 12px;
  color: #666;
  background-color: #e6f7ff;
  padding: 2px 6px;
  border-radius: 10px;
}
.search-result-item[data-v-fb4512fe]:last-child {
  border-bottom: none;
}

/* Speaker section styling */
.search-section-separator[data-v-fb4512fe] {
  padding: 6px 15px;
  background-color: #f8f9fa;
  text-align: left;
  font-size: 12px;
  font-weight: 500;
  color: #495057;
  border-top: 1px solid #e9ecef;
  border-bottom: 1px solid #e9ecef;
  margin-top: 5px;
}
.speaker-result[data-v-fb4512fe] {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* FAQ result styling */
.faq-result[data-v-fb4512fe] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.result-item-question[data-v-fb4512fe] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
  line-height: 1.4;
  color: #1f2937;
  word-break: break-word;
}
.result-item-answer[data-v-fb4512fe] {
  font-size: 12px;
  color: #666;
  line-height: 1.3;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Highlight matched text in FAQs */
.result-item-question strong[data-v-fb4512fe],
.result-item-answer strong[data-v-fb4512fe] {
  font-weight: 700;
  color: var(--primary-600, #000);
}

/* Hub: FAQ opened from search (modal) */
.faq-search-popup-overlay[data-v-fb4512fe] {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.faq-search-popup-dialog[data-v-fb4512fe] {
  position: relative;
  width: 100%;
  max-width: 520px;
  max-height: min(80vh, 640px);
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  padding: 20px 48px 24px 24px;
  border-top: 4px solid var(--faq-popup-primary, #a39161);
}
.faq-search-popup-close[data-v-fb4512fe] {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--faq-popup-primary, #a39161);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  transition: opacity 0.15s ease;
}
.faq-search-popup-close[data-v-fb4512fe]:hover {
  opacity: 0.9;
}
.faq-search-popup-title[data-v-fb4512fe] {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 16px;
  padding-right: 8px;
  line-height: 1.35;
}
.faq-search-popup-body[data-v-fb4512fe] {
  font-size: 15px;
  line-height: 1.55;
  color: #374151;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Larger screens - scale up search bar starting from 1440px */
@media only screen and (min-width: 1440px) {
.search-button[data-v-fb4512fe] {
    width: 44px;
    height: 44px;
}

  /* Scale border radius proportionally */
.search-button[data-v-fb4512fe]:not(.expanded) {
    border-radius: 50% !important;
}
.search-button.expanded[data-v-fb4512fe] {
    border-radius: 22px 0 0 22px !important;
}
.search-bar[data-v-fb4512fe] {
    height: 44px;
    border-radius: 0 22px 22px 0;
}
.search-bar.expanded[data-v-fb4512fe] {
    width: 280px;
}

  /* HubView mode border radius scaling */
.search-container.hubview-mode[data-v-fb4512fe] {
    border-radius: 22px;
}
.search-container.hubview-mode:not(.expanded) .search-button[data-v-fb4512fe] {
    border-radius: 22px !important;
}
.search-icon[data-v-fb4512fe] {
    font-size: 16px;
}
.custom-search-input[data-v-fb4512fe] {
    font-size: 15px;
    padding: 0 11px;
}
.clear-button[data-v-fb4512fe] {
    font-size: 15px;
    padding: 9px 9px 9px 13px;
    min-width: 48px;
    min-height: 48px;
}
}
@media only screen and (min-width: 1920px) {
.search-button[data-v-fb4512fe] {
    width: 50px;
    height: 50px;
}

  /* Scale border radius proportionally */
.search-button[data-v-fb4512fe]:not(.expanded) {
    border-radius: 50% !important;
}
.search-button.expanded[data-v-fb4512fe] {
    border-radius: 25px 0 0 25px !important;
}
.search-bar[data-v-fb4512fe] {
    height: 50px;
    border-radius: 0 25px 25px 0;
}
.search-bar.expanded[data-v-fb4512fe] {
    width: 310px;
}

  /* HubView mode border radius scaling */
.search-container.hubview-mode[data-v-fb4512fe] {
    border-radius: 25px;
}
.search-container.hubview-mode:not(.expanded) .search-button[data-v-fb4512fe] {
    border-radius: 25px !important;
}
.search-icon[data-v-fb4512fe] {
    font-size: 18px;
}
.custom-search-input[data-v-fb4512fe] {
    font-size: 16px;
    padding: 0 12px;
}
.clear-button[data-v-fb4512fe] {
    font-size: 16px;
    padding: 10px 10px 10px 14px;
    min-width: 52px;
    min-height: 52px;
}
}
@media only screen and (min-width: 2560px) {
.search-button[data-v-fb4512fe] {
    width: 72px;
    height: 72px;
}

  /* Scale border radius proportionally */
.search-button[data-v-fb4512fe]:not(.expanded) {
    border-radius: 50% !important;
}
.search-button.expanded[data-v-fb4512fe] {
    border-radius: 36px 0 0 36px !important;
}
.search-bar[data-v-fb4512fe] {
    height: 72px;
    border-radius: 0 36px 36px 0;
}
.search-bar.expanded[data-v-fb4512fe] {
    width: 420px;
}

  /* HubView mode border radius scaling */
.search-container.hubview-mode[data-v-fb4512fe] {
    border-radius: 36px;
}
.search-container.hubview-mode:not(.expanded) .search-button[data-v-fb4512fe] {
    border-radius: 36px !important;
}
.search-icon[data-v-fb4512fe] {
    font-size: 24px;
}
.custom-search-input[data-v-fb4512fe] {
    font-size: 22px;
    padding: 0 18px;
}
.clear-button[data-v-fb4512fe] {
    font-size: 22px;
    padding: 16px 16px 16px 20px;
    min-width: 72px;
    min-height: 72px;
}
}

.modal-overlay[data-v-3d6eacfb] {
  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: 1000;
}
.modal-content[data-v-3d6eacfb] {
  background-color: white;
  padding: 30px;
  border-radius: 8px;
  width: 400px;
  text-align: center;
  position: relative;
}
.close-button[data-v-3d6eacfb] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  color: #666;
  z-index: 1001;
}
.close-button[data-v-3d6eacfb]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.btn[data-v-3d6eacfb] {
  width: 100%;
  padding: 10px;
  border-radius: 4px;
}

.dev-mode-window[data-v-5ae74641] {
  position: fixed;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  min-width: 300px;
  min-height: 200px;
  max-width: 90vw;
  max-height: 80vh;
  z-index: 10000;
  font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas,
    "Courier New", monospace;
  font-size: 12px;
  resize: both;
  overflow: hidden;
}
.dev-mode-window.mobile[data-v-5ae74641] {
  resize: none;
}
.dev-window-header[data-v-5ae74641] {
  background: #2d2d2d;
  border-bottom: 1px solid #333;
  padding: 8px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: move;
  user-select: none;
}
.dev-window-title[data-v-5ae74641] {
  color: #fff;
  font-weight: 600;
  font-size: 13px;
}
.dev-window-controls[data-v-5ae74641] {
  display: flex;
  gap: 4px;
}
.control-btn[data-v-5ae74641] {
  background: #404040;
  border: 1px solid #555;
  color: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 500;
  transition: all 0.2s;
  min-height: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.control-btn[data-v-5ae74641]:hover {
  background: #505050;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.control-btn[data-v-5ae74641]:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.clear-btn[data-v-5ae74641]:hover {
  background: #d9534f;
  border-color: #c9302c;
}
.close-btn[data-v-5ae74641]:hover {
  background: #d9534f;
  border-color: #c9302c;
}
.close-btn[data-v-5ae74641]:active,
.clear-btn[data-v-5ae74641]:active {
  background: #c9302c;
}
.dev-window-content[data-v-5ae74641] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
  background: #1a1a1a;
}
.no-logs[data-v-5ae74641] {
  color: #888;
  text-align: center;
  padding: 20px;
  font-style: italic;
}
.log-entry[data-v-5ae74641] {
  margin-bottom: 2px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.1s;
}
.log-entry[data-v-5ae74641]:hover {
  background: #2a2a2a;
}
.log-header[data-v-5ae74641] {
  padding: 4px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  overflow: hidden;
}
.log-time[data-v-5ae74641] {
  color: #888;
  font-size: 10px;
  min-width: 80px;
}
.log-level[data-v-5ae74641] {
  font-weight: bold;
  min-width: 45px;
  font-size: 10px;
}
.log-prefix[data-v-5ae74641] {
  color: #61dafb;
  font-size: 10px;
}
.log-message[data-v-5ae74641] {
  color: #fff;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
.expand-indicator[data-v-5ae74641] {
  color: #888;
  font-size: 10px;
  margin-left: auto;
}
.log-data[data-v-5ae74641] {
  padding: 4px 8px 8px 20px;
  background: #0f0f0f;
  border-left: 3px solid #333;
  margin-left: 8px;
}
.log-data pre[data-v-5ae74641] {
  color: #ccc;
  font-size: 10px;
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Log level colors */
.log-debug .log-level[data-v-5ae74641] {
  color: #888;
}
.log-info .log-level[data-v-5ae74641] {
  color: #61dafb;
}
.log-warn .log-level[data-v-5ae74641] {
  color: #f39c12;
}
.log-error .log-level[data-v-5ae74641] {
  color: #e74c3c;
}
.log-error .log-data[data-v-5ae74641] {
  border-left-color: #e74c3c;
}
.log-warn .log-data[data-v-5ae74641] {
  border-left-color: #f39c12;
}
.log-info .log-data[data-v-5ae74641] {
  border-left-color: #61dafb;
}
.resize-handle[data-v-5ae74641] {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 12px;
  height: 12px;
  cursor: se-resize;
  background: linear-gradient(
    -45deg,
    transparent 0%,
    transparent 30%,
    #555 30%,
    #555 35%,
    transparent 35%,
    transparent 65%,
    #555 65%,
    #555 70%,
    transparent 70%
  );
}
.mobile .resize-handle[data-v-5ae74641] {
  display: none;
}

/* Mobile-specific button improvements */
@media (max-width: 768px) {
.control-btn[data-v-5ae74641] {
    padding: 10px 14px;
    min-height: 44px;
    min-width: 44px;
    font-size: 12px;
    border-radius: 6px;
}
.dev-window-controls[data-v-5ae74641] {
    gap: 6px;
}
.dev-window-header[data-v-5ae74641] {
    padding: 10px 14px;
}
}

/* Touch device improvements */
@media (pointer: coarse) {
.control-btn[data-v-5ae74641] {
    min-height: 44px;
    min-width: 44px;
    padding: 10px 14px;
}
.control-btn[data-v-5ae74641]:hover {
    /* Disable hover effects on touch devices */
    background: #404040;
    transform: none;
    box-shadow: none;
}
.control-btn[data-v-5ae74641]:active {
    background: #505050;
    transform: scale(0.95);
}
.close-btn[data-v-5ae74641]:active,
  .clear-btn[data-v-5ae74641]:active {
    background: #d9534f;
    transform: scale(0.95);
}
}

/* Scrollbar styling for webkit browsers */
.dev-window-content[data-v-5ae74641]::-webkit-scrollbar {
  width: 6px;
}
.dev-window-content[data-v-5ae74641]::-webkit-scrollbar-track {
  background: #1a1a1a;
}
.dev-window-content[data-v-5ae74641]::-webkit-scrollbar-thumb {
  background: #404040;
  border-radius: 3px;
}
.dev-window-content[data-v-5ae74641]::-webkit-scrollbar-thumb:hover {
  background: #505050;
}

.map-view-container[data-v-7b9df270] {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.search-bar-container[data-v-7b9df270] {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  width: 80%;
  max-width: 600px;
}
.mapbox-wrapper[data-v-7b9df270] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.map-placeholder[data-v-7b9df270] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
}
.blurred-map[data-v-7b9df270] {
  width: 100%;
  height: 100%;
  filter: blur(8px);
  transform: scale(1.1);
  background-size: cover;
  background-position: center;
}
.overlay[data-v-7b9df270] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  display: flex;
  justify-content: center;
  align-items: center;
}
.spinner[data-v-7b9df270] {
  border: 8px solid rgba(0, 0, 0, 0.1);
  border-left-color: #4caf50;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin-7b9df270 1s linear infinite;
}
.error-message[data-v-7b9df270] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 0, 0, 0.8);
  color: white;
  padding: 1rem;
  border-radius: 4px;
  z-index: 1000;
}
@keyframes spin-7b9df270 {
to {
    transform: rotate(360deg);
}
}

/* Mobile location button wrapper */
.mobile-location-btn-wrapper[data-v-7b9df270] {
  position: fixed;
  z-index: 9999;
  right: 16px;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: bottom 0.3s ease; /* Add transition to match sidebar movement */
  bottom: calc(
    var(--card-height-percent, 40%) * 1vh + 80px
  ); /* Position relative to sidebar top */
  width: auto; /* Auto width */
  height: auto; /* Auto height */
}

/* Mobile location button styles */
.mobile-location-btn[data-v-7b9df270] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: transform 0.2s ease;
  pointer-events: auto;
}
.mobile-location-btn[data-v-7b9df270]:active {
  transform: scale(0.95); /* Subtle press effect */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.mobile-location-btn img[data-v-7b9df270] {
  width: 26px;
  height: 26px;
  opacity: 0.9;
}

/* Invitation Status Popup Styles */
.invitation-status-popup[data-v-7b9df270] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.popup-content[data-v-7b9df270] {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.close-button[data-v-7b9df270] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  color: #666;
  z-index: 1001;
}
.close-button[data-v-7b9df270]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.button-container[data-v-7b9df270] {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
}
.btn[data-v-7b9df270] {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
}
.btn-primary[data-v-7b9df270] {
  background-color: #007bff;
  color: white;
}
.btn-primary[data-v-7b9df270]:hover {
  background-color: #0056b3;
}

.map-category-buttons-container[data-v-765537c6] {
  position: relative;
  z-index: 10;
  pointer-events: auto;
  width: 100%;
  min-width: 0; /* Allow shrinking for proper overflow handling */
}

/* Override for standalone/legacy usage */
.map-category-buttons-container.standalone[data-v-765537c6] {
  position: absolute;
  bottom: 16px;
}
.map-category-buttons[data-v-765537c6] {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  flex-wrap: nowrap; /* Never wrap - use scrolling instead */
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none; /* Hide scrollbar in Firefox */
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  padding-right: 0; /* Remove right padding from container */
}

/* Hide scrollbar in WebKit browsers (Chrome, Safari, Edge) */
.map-category-buttons[data-v-765537c6]::-webkit-scrollbar {
  display: none;
}

/* Add padding space after the last button */
.map-category-buttons[data-v-765537c6]::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 16px; /* Add space after last button (equivalent to typical container padding) */
  height: 1px;
}

/* Scroll fade effect using mask-image for true transparency fade */
/* Fade on left side only */
.map-category-buttons.fade-left[data-v-765537c6]:not(.fade-right) {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 20px,
    black 100%
  );
  mask-image: linear-gradient(to right, transparent 0%, black 20px, black 100%);
}

/* Fade on right side only */
.map-category-buttons.fade-right[data-v-765537c6]:not(.fade-left) {
  -webkit-mask-image: linear-gradient(
    to left,
    transparent 0%,
    black 20px,
    black 100%
  );
  mask-image: linear-gradient(to left, transparent 0%, black 20px, black 100%);
}

/* Fade on both sides */
.map-category-buttons.fade-both[data-v-765537c6] {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 20px,
    black calc(100% - 20px),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 20px,
    black calc(100% - 20px),
    transparent 100%
  );
}

/* Vertical layout for dropdown */
.map-category-buttons.vertical[data-v-765537c6] {
  flex-direction: column;
  align-items: stretch;
}
.map-category-buttons.vertical .map-category-btn[data-v-765537c6] {
  width: 100%;
  justify-content: space-between;
}
.map-category-buttons.vertical .category-label[data-v-765537c6] {
  flex: 1;
  text-align: left;
  white-space: normal;
  word-wrap: break-word;
}
.map-category-btn-container[data-v-765537c6] {
  position: relative;
  display: flex;
  align-items: center;
}
.map-category-btn[data-v-765537c6] {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0px 16px;
  background: #ffffff;
  border: 1px solid var(--primary-400, var(--default-400));
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05),
    0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-600, var(--default-600));
  white-space: nowrap;
  min-width: fit-content;
  width: auto; /* Let width be determined by content */
}
.map-category-btn[data-v-765537c6]:hover {
  transform: translateY(-1px);
  box-shadow: 0px 6px 8px -2px rgba(0, 0, 0, 0.08),
    0px 12px 18px -3px rgba(0, 0, 0, 0.15);
  border-color: var(--primary-500, var(--default-500));
}
.map-category-btn[data-v-765537c6]:active {
  transform: translateY(0);
}

/* Clicked state - inverse colors */
.map-category-btn.clicked[data-v-765537c6] {
  background: var(--primary-600, var(--default-600));
  color: #ffffff;
  border-color: var(--primary-600, var(--default-600));
}
.map-category-btn.clicked .category-label[data-v-765537c6] {
  color: #ffffff;
}

/* Raster + inline SVG icons: tint to white (same visual as label / MDI) */
.map-category-btn.clicked .category-icon-img[data-v-765537c6],
.map-category-btn.clicked .category-icon-svg[data-v-765537c6] {
  filter: brightness(0) invert(1);
}
.map-category-btn.clicked .category-icon i[data-v-765537c6] {
  color: #ffffff;
  filter: none;
}
.map-category-btn.clicked[data-v-765537c6]:hover {
  background: var(--primary-700, var(--default-700));
  border-color: var(--primary-700, var(--default-700));
}
.category-icon[data-v-765537c6] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.category-icon-img[data-v-765537c6] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.category-icon-svg[data-v-765537c6] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.category-icon-svg[data-v-765537c6] svg {
  width: 20px;
  height: 20px;
}
.category-icon i[data-v-765537c6] {
  font-size: 20px;
  color: var(--primary-600, var(--default-600));
}

/* Icon positioning styles */
.map-category-btn.icon-right[data-v-765537c6] {
  justify-content: space-between;
}
.map-category-btn.icon-right .category-label[data-v-765537c6] {
  flex: 1;
  text-align: left;
}
.category-icon-right[data-v-765537c6] {
  margin-left: auto;
}
.category-label[data-v-765537c6] {
  opacity: 1; /* Ensure labels are always visible */
  visibility: visible;
  white-space: nowrap; /* Default to no wrap for horizontal layout */
  flex-shrink: 0;
  display: inline-block; /* Ensure label is always displayed */
}

/* Styles for buttons without icons */
.map-category-btn.no-icon[data-v-765537c6] {
  gap: 0;
}
.map-category-btn.no-icon .category-label[data-v-765537c6] {
  margin-left: 0;
}
.category-label[data-v-765537c6] {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-600, var(--default-600));
  line-height: 1;
}

/* Mobile responsiveness */
@media only screen and (max-width: 767px) {
.map-category-buttons[data-v-765537c6] {
    flex-wrap: nowrap; /* Prevent wrapping - use scrolling instead */
    gap: 6px;
    scrollbar-width: none; /* Ensure scrollbar is hidden on mobile */
}

  /* Adjust padding after last button on mobile */
.map-category-buttons[data-v-765537c6]::after {
    width: 12px; /* Slightly less padding on mobile */
}
.map-category-btn[data-v-765537c6] {
    height: 36px;
    padding: 0px 12px;
    font-size: 13px;
    gap: 6px;
    white-space: nowrap; /* Prevent text wrapping */
    flex-shrink: 0; /* Don't shrink buttons */
    min-width: fit-content; /* Ensure buttons fit their content */
    width: auto; /* Let width be determined by content */
    border-radius: 18px; /* Maintain pill shape, not circular */
}
.category-icon[data-v-765537c6] {
    width: 14px;
    height: 14px;
    flex-shrink: 0; /* Don't shrink icons */
}
.category-icon-img[data-v-765537c6] {
    width: 14px;
    height: 14px;
}
.category-icon i[data-v-765537c6] {
    font-size: 14px;
}
.category-label[data-v-765537c6] {
    font-size: 13px;
    white-space: nowrap; /* Prevent text wrapping */
    overflow: visible; /* Show full text */
    text-overflow: clip; /* Don't use ellipsis */
    max-width: none; /* Remove max-width restriction */
    flex-shrink: 0; /* Don't shrink labels */
}

  /* Responsive drag handle for mobile */
.drag-handle[data-v-765537c6] {
    width: 18px;
    height: 18px;
    top: 1x;
    right: 1px;
}
.drag-icon[data-v-765537c6] {
    width: 12px;
    height: 12px;
}
}

/* Handle very long category names - only apply on desktop */
@media only screen and (min-width: 768px) {
.category-label[data-v-765537c6] {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
}
}

/* On mobile, show full text and let container scroll */
@media only screen and (max-width: 767px) {
.category-label[data-v-765537c6] {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
}
}

/* Larger screens - scale up buttons starting from 1440px */
@media only screen and (min-width: 1440px) {
.map-category-btn[data-v-765537c6] {
    height: 44px;
    padding: 0px 18px;
    font-size: 15px;
    gap: 7px;
    border-radius: 22px;
}
.category-icon[data-v-765537c6] {
    width: 22px;
    height: 22px;
}
.category-icon-img[data-v-765537c6] {
    width: 22px;
    height: 22px;
}
.category-icon-svg[data-v-765537c6] {
    width: 22px;
    height: 22px;
}
.category-icon-svg[data-v-765537c6] svg {
    width: 22px;
    height: 22px;
}
.category-icon i[data-v-765537c6] {
    font-size: 22px;
}
.category-label[data-v-765537c6] {
    font-size: 15px;
    max-width: 140px;
}
}
@media only screen and (min-width: 1920px) {
.map-category-btn[data-v-765537c6] {
    height: 50px;
    padding: 0px 22px;
    font-size: 16px;
    gap: 8px;
    border-radius: 25px;
}
.category-icon[data-v-765537c6] {
    width: 24px;
    height: 24px;
}
.category-icon-img[data-v-765537c6] {
    width: 24px;
    height: 24px;
}
.category-icon-svg[data-v-765537c6] {
    width: 24px;
    height: 24px;
}
.category-icon-svg[data-v-765537c6] svg {
    width: 24px;
    height: 24px;
}
.category-icon i[data-v-765537c6] {
    font-size: 24px;
}
.category-label[data-v-765537c6] {
    font-size: 16px;
    max-width: 160px;
}
}
@media only screen and (min-width: 2560px) {
.map-category-btn[data-v-765537c6] {
    height: 72px;
    padding: 0px 32px;
    font-size: 22px;
    gap: 14px;
    border-radius: 36px;
}
.category-icon[data-v-765537c6] {
    width: 36px;
    height: 36px;
}
.category-icon-img[data-v-765537c6] {
    width: 36px;
    height: 36px;
}
.category-icon-svg[data-v-765537c6] {
    width: 36px;
    height: 36px;
}
.category-icon-svg[data-v-765537c6] svg {
    width: 36px;
    height: 36px;
}
.category-icon i[data-v-765537c6] {
    font-size: 36px;
}
.category-label[data-v-765537c6] {
    font-size: 22px;
    max-width: 260px;
}
}

/* Drag and Drop Styles */
.map-category-btn-container[data-v-765537c6] {
  position: relative;
  display: flex;
  align-items: center;
}
.map-category-btn-container.draggable[data-v-765537c6] {
  cursor: grab;
}
.map-category-btn-container.draggable[data-v-765537c6]:active {
  cursor: grabbing;
}
.drag-handle[data-v-765537c6] {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 20;
  width: 20px;
  height: 20px;
  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  transition: all 0.2s ease;
  /* Increase click area with padding */
  padding: 4px;
  margin: -4px;
}
.drag-handle[data-v-765537c6]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.drag-handle[data-v-765537c6]:active {
  cursor: grabbing;
  transform: scale(0.95);
}
.drag-icon[data-v-765537c6] {
  width: 14px;
  height: 14px;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.drag-handle:hover .drag-icon[data-v-765537c6] {
  opacity: 1;
}
.map-category-btn.with-drag-handle[data-v-765537c6] {
  padding-right: 28px; /* Make room for drag handle */
}
.map-category-btn-container.draggable .map-category-btn[data-v-765537c6] {
  pointer-events: auto; /* Make buttons clickable */
}

.map-container {
  flex: 1;
  height: 100vh;
  /* Prevent browser from handling touch gestures - fixes "touchmove cancelable=false" warnings */
  /* The map handles all pan/zoom via Mapbox GL JS */
  touch-action: none;
}
.mapboxgl-ctrl-geocoder input {
  width: 100%;
  font-size: 1rem;
  outline: none;
  border: none;
  font-family: "Poppins", sans-serif;
}
.mapboxgl-ctrl-geocoder {
  border-radius: 30px;
  border: none;
  width: 100%;
  box-shadow: 0px 4px 4px 0px #00000040;
}
.button-size {
  width: 40px;
  height: 40px;
}
.mapboxgl-ctrl-geocoder input:focus {
  outline: none;
  border: none;
}
.mapboxgl-ctrl-geocoder--button {
  display: none !important;
}
.active-floor {
  background: #2791cc !important;
  color: white !important;
}

/* Desktop Buttons Container - positions floor toggle and category buttons at bottom */
.desktop-buttons {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 0; /* Remove right padding - space is handled by button container's ::after */
  z-index: 10;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  pointer-events: none; /* Allow clicks to pass through to map */
}
.desktop-buttons > * {
  pointer-events: auto; /* Re-enable for child elements */
}

/* Horizontal Floor Toggle Switch Styles */
.floor-toggle-container {
  position: relative;
  flex-shrink: 0;
  z-index: 10;
}

/* Map Category Buttons Container - positioned after floor toggle, centered when possible */
.desktop-buttons .map-category-buttons-container {
  position: relative;
  flex: 1;
  min-width: 0; /* Allow shrinking for scrolling */
  display: flex; /* Enable flexbox for centering */
  justify-content: safe center; /* Center when content fits, fallback to start when overflowing */
  align-items: center; /* Vertically align */
  overflow-x: auto; /* Enable scrolling when content is too wide */
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Hide scrollbar */
  padding-right: 0; /* Remove any right padding */
  margin-right: 0; /* Remove any right margin */
}

/* Fallback for browsers that don't support 'safe center' */
@supports not (justify-content: safe center) {
.desktop-buttons .map-category-buttons-container {
    justify-content: flex-start; /* Fallback to start alignment */
}

  /* Use margin auto for centering when content fits */
.desktop-buttons
    .map-category-buttons-container
    :deep(.map-category-buttons-container) {
    margin-inline: auto !important;
}
}

/* Hide scrollbar for desktop category buttons */
.desktop-buttons .map-category-buttons-container::-webkit-scrollbar {
  display: none;
}

/* Override MapCategoryButtons internal positioning for desktop - centered layout */
.desktop-buttons
  .map-category-buttons-container
  :deep(.map-category-buttons-container) {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important; /* Auto width to fit content */
  min-width: min-content !important; /* Minimum width is the content size */
  max-width: 100% !important; /* Don't exceed parent width */
  transform: none !important;
  flex-shrink: 0; /* Don't shrink the button container - important for centering */
}
.desktop-buttons .map-category-buttons-container :deep(.map-category-buttons) {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: auto !important;
}
.floor-toggle-switch {
  display: flex;
  background-color: white;
  border-radius: 25px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  padding: 4px;
  gap: 2px;
}
.floor-toggle-btn {
  background-color: transparent;
  border: none;
  border-radius: 20px;
  padding: 8px 16px;
  font-weight: 600;
  color: var(--muted-foreground);
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  min-width: 60px;
  text-align: center;
}
.floor-toggle-btn:hover {
  background-color: #f5f5f5;
  color: var(--foreground);
}
.active-floor-toggle {
  background-color: var(--primary-100) !important;
  color: var(--foreground) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.active-floor-toggle:hover {
  background-color: var(--primary-200) !important;
  color: var(--foreground) !important;
}

/* Floor Toggle Container and Drag Styles */
.floor-toggle-btn-container {
  position: relative;
  display: flex;
  align-items: center;
}
.floor-toggle-btn-container.draggable {
  cursor: grab;
}
.floor-toggle-btn-container.draggable:active {
  cursor: grabbing;
}

/* Enhanced Floor Toggle Button with Content Structure */
.floor-toggle-btn.with-drag-handle {
  padding-right: 32px; /* Make room for drag handle */
  padding-bottom: 16px; /* Make room for checkbox */
}

/* Ensure consistent height - floor toggle buttons without management features maintain original padding */
.floor-toggle-btn {
  padding: 8px 16px; /* Default padding */
}
.floor-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.floor-name {
  font-weight: 600;
  font-size: 14px;
}
.default-label {
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 9px;
  font-weight: 400;
  color: var(--muted-foreground);
  opacity: 0.8;
  text-transform: lowercase;
  background: rgba(255, 255, 255, 0.9);
  padding: 1px 4px;
  border-radius: 2px;
  white-space: nowrap;
  z-index: 10;
}

/* Drag Handle Styles */
.drag-handle {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 20;
  width: 18px;
  height: 18px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.drag-handle:hover {
  background: rgba(255, 255, 255, 1);
  transform: scale(1.1);
}
.drag-handle:active {
  cursor: grabbing;
  transform: scale(0.95);
}
.drag-icon {
  width: 12px;
  height: 12px;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.drag-handle:hover .drag-icon {
  opacity: 1;
}

/* Default Floor Checkbox Styles */
.default-checkbox {
  position: absolute;
  bottom: 4px;
  right: 4px;
  z-index: 20;
  width: 14px;
  height: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.checkbox-icon {
  width: 14px;
  height: 14px;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  font-weight: bold;
  transition: all 0.2s ease;
  border: 1px solid var(--primary-400);
}
.checkbox-icon.checked {
  background-color: var(--primary-500);
  color: white;
  opacity: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.checkbox-icon.unchecked {
  background-color: transparent;
  color: transparent;
  opacity: 0.4;
  border: 1px solid var(--muted-foreground);
}
.checkbox-icon:hover {
  opacity: 1;
  transform: scale(1.1);
}
.location-btn {
  position: absolute;
  bottom: 16px;
  right: 16px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
}
@media only screen and (max-width: 767px) {
  /* Original .floor-selection positioning - Keep for desktop or remove if desktop version is handled separately */
  /*
  .floor-selection {
    bottom: 15%; 
    margin-bottom: 10px;
    z-index: 6; 
  }
  */

  /* Hide desktop buttons and their floor panel on mobile */
.desktop-buttons {
    display: none;
}
}
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
  margin-bottom: 1rem;
}
@keyframes spin {
to {
    transform: rotate(360deg);
}
}

/* Styles for preview marker - includes pulse animation */
.promotion-preview-marker {
  z-index: 10;
}
.promotion-preview-marker .promotion-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-weight: bold;
  font-size: 14px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  animation: pulse 1.5s ease-in-out infinite;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, bold);
  font-style: var(--custom-font-style, inherit);
}

/* Styles for regular promotion markers - no animation */
.promotion-marker {
  transition: z-index 0s, transform 0.3s ease;
  z-index: 1;
}
.promotion-marker .promotion-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-weight: bold;
  font-size: 14px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, bold);
  font-style: var(--custom-font-style, inherit);
}
.promotion-marker-selected {
  z-index: 1000;
}

/* Keep the pulse animation definition for preview markers only */
@keyframes pulse {
0% {
    transform: scale(1);
    opacity: 1;
}
50% {
    transform: scale(1.1);
    opacity: 0.9;
}
100% {
    transform: scale(1);
    opacity: 1;
}
}

/* User Location Marker Styles for Beacon Positioning */
.user-location-marker {
  position: relative;
  z-index: 1000;
}
.blue-dot-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.blue-dot {
  width: 16px;
  height: 16px;
  background: #007aff;
  border: 3px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  z-index: 3;
}
.blue-dot-pulse {
  position: absolute;
  width: 30px;
  height: 30px;
  background: rgba(0, 122, 255, 0.3);
  border-radius: 50%;
  animation: beaconPulse 2s infinite;
  z-index: 1;
}
.accuracy-circle {
  position: absolute;
  border: 2px solid rgba(0, 122, 255, 0.4);
  background: rgba(0, 122, 255, 0.1);
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
}
.user-location-popup {
  font-family: var(--custom-font-family, "Poppins"), sans-serif;
  text-align: center;
  color: #333;
  min-width: 120px;
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.user-location-popup strong {
  color: #007aff;
}
.user-location-popup small {
  color: #666;
  line-height: 1.3;
}
@keyframes beaconPulse {
0% {
    transform: scale(0.8);
    opacity: 1;
}
50% {
    transform: scale(1.2);
    opacity: 0.5;
}
100% {
    transform: scale(1.4);
    opacity: 0;
}
}

/* Force-hide the default Mapbox Geolocate button */
.mapboxgl-ctrl-geolocate {
  display: none !important;
}

/* Keep original button styles separate for desktop */
.desktop-buttons .location-btn {
  position: absolute;
  bottom: 16px;
  right: 16px;
  z-index: 1;
  display: flex; /* Keep display flex for the inner button alignment */
  justify-content: center;
  align-items: center;
  /* width and height are set on the inner button */
}
.desktop-buttons .location-btn button {
  /* Styles for the button itself */
  border: none;
  background-color: white;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  padding: 0; /* Remove padding if image should fill */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px; /* Set size here */
  height: 40px;
}
@media only screen and (max-width: 767px) {
.floor-selection {
    bottom: 15%; /* This might need adjustment or removal if covered */
    margin-bottom: 10px;
}
  /* Hide desktop buttons on mobile */
.desktop-buttons {
    display: none;
}
}

/* Mobile Button Container Styles */
.mobile-button-container {
  position: absolute; /* Positioned dynamically via style binding */
  left: 0;
  right: 0;
  display: flex;
  justify-content: flex-start; /* Start from left: floor button, then category buttons */
  align-items: center; /* Vertically center items */
  gap: 8px; /* Gap between floor button and category buttons */
  padding: 0 0 0px 16px; /* Padding: T R B L - 4px bottom, 0 right, 16px left. Space after buttons handled by button container's ::after */
  z-index: 10; /* Ensure it's above Mapbox logo */
  transition: bottom 0.3s ease; /* Smooth transition when resizing */
}

/* Styles for buttons inside the mobile container */
.mobile-button-container button {
  pointer-events: auto; /* Make buttons clickable */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
  padding: 0; /* Reset padding */
}

/* Exclude category buttons from the circular button styling */
.mobile-button-container .map-category-btn,
.mobile-button-container .map-category-buttons-container button,
.mobile-button-container .map-category-buttons button {
  width: auto !important;
  height: 36px !important;
  border-radius: 18px !important;
  padding: 0px 12px !important;
  background-color: #ffffff !important;
  border: 1px solid var(--primary-400, var(--default-400)) !important;
  box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05),
    0px 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
  min-width: fit-content !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

/* Selected category: restore inverse pill (mobile rules above force white bg with !important) */
.mobile-button-container .map-category-btn.clicked,
.mobile-button-container .map-category-buttons-container button.clicked,
.mobile-button-container .map-category-buttons button.clicked {
  background-color: var(--primary-600, var(--default-600)) !important;
  border-color: var(--primary-600, var(--default-600)) !important;
  color: #ffffff !important;
}
.mobile-button-container .map-category-btn.clicked .category-label,
.mobile-button-container .map-category-buttons-container button.clicked .category-label,
.mobile-button-container .map-category-buttons button.clicked .category-label {
  color: #ffffff !important;
}
.mobile-button-container .map-category-btn.clicked .category-icon-img,
.mobile-button-container .map-category-btn.clicked .category-icon-svg {
  filter: brightness(0) invert(1) !important;
}
.mobile-button-container .map-category-btn.clicked .category-icon i {
  color: #ffffff !important;
  filter: none !important;
}

/* Ensure category labels are visible in mobile */
.mobile-button-container .map-category-btn .category-label,
.mobile-button-container .map-category-buttons-container .category-label,
.mobile-button-container .map-category-buttons .category-label {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  flex-shrink: 0 !important;
}

/* Mobile Floor Toggle Switch Styles */
.mobile-floor-toggle-container {
  margin-right: auto; /* Pushes this container to the far left */
  z-index: 10; /* Ensure it appears above Mapbox logo */
}

/* Mobile Map Category Buttons Container Styles */
.mobile-map-category-buttons-container {
  display: flex;
  flex: 1; /* Take remaining space */
  justify-content: flex-start; /* Align to start for scrolling */
  align-items: center;
  z-index: 10; /* Ensure it appears above Mapbox logo */
  position: relative;
  min-width: 0; /* Allow shrinking */
  overflow-x: auto; /* Enable horizontal scrolling */
  overflow-y: hidden;
  padding-right: 0; /* Remove right padding */
  margin-right: 0; /* Remove right margin */
}

/* Mobile category buttons should be scrollable and positioned correctly */
.mobile-map-category-buttons-container :deep(.map-category-buttons-container) {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important; /* Enable horizontal scrolling */
  overflow-y: hidden !important;
}
.mobile-map-category-buttons-container :deep(.map-category-buttons) {
  width: auto !important; /* Allow buttons to determine width */
  max-width: none !important; /* Remove max-width constraint */
  min-width: 100% !important; /* At minimum, take full width */
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  scrollbar-width: none; /* Hide scrollbar on Firefox */
}

/* Hide scrollbar for mobile category buttons */
.mobile-map-category-buttons-container
  :deep(.map-category-buttons)::-webkit-scrollbar {
  display: none;
}

/* Ensure category buttons show full text with labels in mobile */
.mobile-map-category-buttons-container :deep(.map-category-btn) {
  width: auto !important;
  min-width: fit-content !important;
  border-radius: 18px !important; /* Pill shape, not circular */
  padding: 0px 12px !important;
  display: flex !important;
  flex-shrink: 0 !important;
}
.mobile-map-category-buttons-container :deep(.category-label) {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.mobile-map-category-buttons-container :deep(.category-icon) {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex-shrink: 0 !important;
}
.mobile-floor-toggle-container .floor-toggle-switch {
  background-color: white;
  border-radius: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  padding: 3px;
  gap: 1px;
}
.mobile-floor-toggle-container .floor-toggle-btn {
  padding: 6px 12px;
  font-size: 12px;
  min-width: 50px;
  border-radius: 16px;
}

/* Mobile Floor Toggle Enhancements */
.mobile-floor-toggle-container .floor-toggle-btn.with-drag-handle {
  padding-right: 28px; /* Make room for drag handle */
  padding-bottom: 14px; /* Make room for checkbox */
}
.mobile-floor-toggle-container .floor-name {
  font-size: 12px;
}
.mobile-floor-toggle-container .default-label {
  font-size: 7px;
  bottom: 1px;
}

/* Mobile Drag Handle */
.mobile-drag-handle {
  width: 16px;
  height: 16px;
  top: 2px;
  right: 2px;
}
.mobile-drag-handle .drag-icon {
  width: 10px;
  height: 10px;
}

/* Mobile Default Checkbox */
.mobile-default-checkbox {
  width: 12px;
  height: 12px;
  bottom: 2px;
  right: 2px;
}
.mobile-default-checkbox .checkbox-icon {
  width: 12px;
  height: 12px;
  font-size: 7px;
}
.mobile-button-container .mobile-location-btn img {
  width: 30px;
  height: 30px;
}

/* Mobile Floor Button (Map.vue style) */
.mobile-floor-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
  font-weight: 600;
  font-family: "Poppins", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-right: auto; /* Push to the left */
  position: relative;
  z-index: 10;
}
.mobile-floor-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}
.mobile-floor-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Mobile Floor Selection Panel */
.mobile-floor-selection {
  position: absolute;
  bottom: 50px; /* Position above the floor button */
  left: 16px;
  z-index: 9;
  display: flex;
  flex-direction: column-reverse; /* Floors from bottom to top */
  gap: 8px;
  padding: 0;
}
.mobile-floor-selection-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border: none;
  font-weight: 600;
  font-family: "Poppins", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.mobile-floor-selection-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
}
.mobile-floor-selection-btn:active {
  transform: scale(0.95);
}

/* Larger screens - scale up floor toggle buttons starting from 1440px */
@media only screen and (min-width: 1440px) {
.floor-toggle-switch {
    border-radius: 26px;
    padding: 4.5px;
    gap: 2.5px;
}
.floor-toggle-btn {
    border-radius: 22px;
    padding: 9px 18px;
    font-size: 15px;
    min-width: 65px;
}
.floor-name {
    font-size: 15px;
}
.floor-toggle-btn.with-drag-handle {
    padding-right: 34px;
    padding-bottom: 17px;
}
.drag-handle {
    width: 19px;
    height: 19px;
    top: 4.5px;
    right: 4.5px;
}
.drag-icon {
    width: 13px;
    height: 13px;
}
.default-checkbox {
    width: 15px;
    height: 15px;
    bottom: 4.5px;
    right: 4.5px;
}
.checkbox-icon {
    width: 15px;
    height: 15px;
    font-size: 8.5px;
}
.default-label {
    font-size: 9.5px;
    padding: 2px 5px;
}
}
@media only screen and (min-width: 1920px) {
.floor-toggle-switch {
    border-radius: 28px;
    padding: 5px;
    gap: 3px;
}
.floor-toggle-btn {
    border-radius: 25px;
    padding: 10px 22px;
    font-size: 16px;
    min-width: 70px;
}
.floor-name {
    font-size: 16px;
}
.floor-toggle-btn.with-drag-handle {
    padding-right: 36px;
    padding-bottom: 18px;
}
.drag-handle {
    width: 20px;
    height: 20px;
    top: 5px;
    right: 5px;
}
.drag-icon {
    width: 15px;
    height: 15px;
}
.default-checkbox {
    width: 16px;
    height: 16px;
    bottom: 5px;
    right: 5px;
}
.checkbox-icon {
    width: 16px;
    height: 16px;
    font-size: 9px;
}
.default-label {
    font-size: 10px;
    padding: 2px 5px;
}
}
@media only screen and (min-width: 2560px) {
.floor-toggle-switch {
    border-radius: 40px;
    padding: 8px;
    gap: 5px;
}
.floor-toggle-btn {
    border-radius: 36px;
    padding: 16px 32px;
    font-size: 22px;
    min-width: 100px;
}
.floor-name {
    font-size: 22px;
}
.floor-toggle-btn.with-drag-handle {
    padding-right: 48px;
    padding-bottom: 24px;
}
.drag-handle {
    width: 26px;
    height: 26px;
    top: 8px;
    right: 8px;
}
.drag-icon {
    width: 20px;
    height: 20px;
}
.default-checkbox {
    width: 22px;
    height: 22px;
    bottom: 8px;
    right: 8px;
}
.checkbox-icon {
    width: 22px;
    height: 22px;
    font-size: 12px;
}
.default-label {
    font-size: 13px;
    padding: 3px 8px;
}
}
.map-container canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.mapboxgl-canvas-container {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}

.fake-img[data-v-245b8501] {
  width: 50px;
  height: 50px;
  background-color: rgb(128, 128, 128);
}
.custom-btn[data-v-245b8501] {
  color: #2791cc !important;
  border: 1px solid #2791cc !important;
  width: max-content;
}
.image-container[data-v-245b8501] {
  width: 100px;
  height: 100px;
  overflow: hidden;
}
.image[data-v-245b8501] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.375rem;
}
.full-width-image[data-v-245b8501] {
  width: 100%;
  height: 100px;
  overflow: hidden;
}
.half-width-image[data-v-245b8501] {
  width: 49%;
  height: 100px;
}
.custom-width-image[data-v-245b8501] {
  width: 32%; /* Adjust as needed for the number of images */
  height: 100px;
}
.selected-card[data-v-245b8501] {
  border: 2px solid #0c8ce9 !important; /* Use the same blue as PlaceCard */
  box-shadow: 0 2px 8px rgba(12, 140, 233, 0.1) !important;
}

.cursor-pointer[data-v-2b7e7f09] {
  cursor: pointer;
}
.edit-mode-tile[data-v-2b7e7f09] {
  cursor: default;
}
.thumb-wrap[data-v-2b7e7f09] {
  height: 120px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.02));
}
.thumb-img[data-v-2b7e7f09] {
  max-width: 100%;
  max-height: 112px;
  object-fit: contain;
}
.model-tile-name[data-v-2b7e7f09] {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
  line-height: 1.3;
}
.model-tile[data-v-2b7e7f09]:hover {
  border-color: rgb(var(--v-theme-primary)) !important;
  box-shadow: 0 0 0 1px rgb(var(--v-theme-primary));
}
.card-edit-btn[data-v-2b7e7f09] {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 2;
}
.category-chips[data-v-2b7e7f09] {
  gap: 6px;
}

/* ===== Shape / 3D Model segmented toggle ===== */
.shape-mode-toggle[data-v-10a7f759] {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #dee2e6;
}
.shape-mode-toggle .btn[data-v-10a7f759] {
  border-radius: 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  padding: 6px 12px !important;
  transition: background-color 0.15s, color 0.15s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.shape-mode-active[data-v-10a7f759],
.shape-mode-active[data-v-10a7f759]:hover,
.shape-mode-active[data-v-10a7f759]:focus,
.shape-mode-active[data-v-10a7f759]:active {
  background-color: #0c8ce9 !important;
  border-color: #0c8ce9 !important;
  color: #fff !important;
  box-shadow: none !important;
}
.shape-mode-inactive[data-v-10a7f759],
.shape-mode-inactive[data-v-10a7f759]:hover,
.shape-mode-inactive[data-v-10a7f759]:focus,
.shape-mode-inactive[data-v-10a7f759]:active {
  background-color: #f8f9fa !important;
  border-color: #dee2e6 !important;
  color: #6c757d !important;
  box-shadow: none !important;
}
.shape-mode-inactive[data-v-10a7f759]:hover {
  background-color: #e9ecef !important;
  color: #495057 !important;
}

/* ===== Model summary row ===== */

/* ===== Expandable controls panel ===== */
.model-controls-panel[data-v-10a7f759] {
  border-top: 1px solid #e0e0e0;
  padding-top: 8px;
  margin-top: 4px;
}
.controls-section-label[data-v-10a7f759] {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #78909c;
  margin-bottom: 4px;
}
.color-button[data-v-10a7f759] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  transition: transform 0.2s;
}
.color-button[data-v-10a7f759]:hover {
  transform: scale(1.1);
}
.model-colour-swatch[data-v-10a7f759] {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
.model-colour-checkbox[data-v-10a7f759] .v-label {
  font-size: 0.8125rem;
  opacity: 1;
}
.theme-blue-bg[data-v-10a7f759] {
  background-color: #0c8ce9;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 20px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.theme-blue-bg[data-v-10a7f759]:hover {
  background-color: #0a7ac8;
}

/* Primary Color Switch Styles - Aggressive Override */
.primary-color-switch .btn[data-v-10a7f759] {
  border-radius: 0 !important;
  font-size: 0.875rem !important;
  padding: 0.375rem 0.75rem !important;
  font-weight: 500 !important;
  transition: none !important;
  cursor: pointer !important;
}
.primary-color-switch .btn[data-v-10a7f759]:first-child {
  border-top-left-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}
.primary-color-switch .btn[data-v-10a7f759]:last-child {
  border-top-right-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
}

/* Selected state - dynamic primary-200 background */
.primary-color-switch .btn-theme-blue[data-v-10a7f759],
.primary-color-switch .btn-theme-blue[data-v-10a7f759]:hover,
.primary-color-switch .btn-theme-blue[data-v-10a7f759]:focus,
.primary-color-switch .btn-theme-blue[data-v-10a7f759]:active,
.primary-color-switch .btn-theme-blue[data-v-10a7f759]:focus-visible {
  background-color: var(--primary-400, #e3f2fd) !important;
  border-color: var(--primary-400, #e3f2fd) !important;
  color: var(--primary-800, #1565c0) !important;
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
}

/* Unselected state - white background */
.primary-color-switch .btn-outline-theme-blue[data-v-10a7f759],
.primary-color-switch .btn-outline-theme-blue[data-v-10a7f759]:hover,
.primary-color-switch .btn-outline-theme-blue[data-v-10a7f759]:focus,
.primary-color-switch .btn-outline-theme-blue[data-v-10a7f759]:active,
.primary-color-switch .btn-outline-theme-blue[data-v-10a7f759]:focus-visible {
  background-color: white !important;
  border-color: var(--primary-200, #e3f2fd) !important;
  color: var(--primary-800, #1565c0) !important;
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
}
.shape-card-enhanced[data-v-10a7f759] {
  border: 1px solid rgba(12, 140, 233, 0.2);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
.shape-card-enhanced[data-v-10a7f759]:hover {
  box-shadow: 0 6px 12px rgba(12, 140, 233, 0.15);
}
.model-filename[data-v-10a7f759] {
  color: #0c8ce9 !important;
  font-family: "Courier New", monospace;
  word-break: break-word;
  max-width: 220px;
  line-height: 1.4;
  white-space: normal;
  hyphens: auto;
  display: block;
  margin-top: 2px;
}

/* Fix slider thumb overflow issue - comprehensive solution */
.shape-card-overflow-visible[data-v-10a7f759] {
  overflow: visible !important;
}
.shape-card-overflow-visible[data-v-10a7f759] .v-card__text {
  overflow: visible !important;
}
.primary-color-section[data-v-10a7f759] {
  overflow: visible !important;
  position: relative;
  z-index: 1;
}
.primary-color-row[data-v-10a7f759] {
  overflow: visible !important;
  min-height: 32px; /* Ensure consistent row height */
  align-items: center !important;
}

/* Ensure slider container has proper spacing and visibility */
.primary-shade-slider[data-v-10a7f759] {
  margin-top: 4px;
  margin-bottom: 4px;
}

/* Fixed height slider - constrain the slider itself */
.slider-container-fixed-height .primary-shade-slider[data-v-10a7f759] {
  height: 32px !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  width: 100% !important;
}
.slider-container-fixed-height .primary-shade-slider[data-v-10a7f759] .v-slider {
  height: 32px !important;
  display: flex;
  align-items: center;
  width: 100% !important;
}
.slider-container-fixed-height .primary-shade-slider[data-v-10a7f759] .v-input__control {
  width: 100% !important;
}
.slider-container-fixed-height
  .primary-shade-slider[data-v-10a7f759]
  .v-slider__container {
  width: 100% !important;
}
.slider-container-fixed-height
  .primary-shade-slider[data-v-10a7f759]
  .v-slider__track-container {
  height: 4px !important;
  position: relative;
  top: 0;
  width: 100% !important;
}
.slider-container-fixed-height .primary-shade-slider[data-v-10a7f759] .v-slider-track {
  width: 100% !important;
}
.slider-container-fixed-height
  .primary-shade-slider[data-v-10a7f759]
  .v-slider__thumb-container {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  overflow: visible !important;
  z-index: 15;
}
.slider-container-fixed-height .primary-shade-slider[data-v-10a7f759] .v-slider__thumb {
  position: relative;
  overflow: visible !important;
  z-index: 15;
}
.slider-container-fixed-height
  .primary-shade-slider[data-v-10a7f759]
  .v-slider__thumb-label {
  position: absolute;
  top: -40px; /* Position above the thumb */
  left: 50%;
  transform: translateX(-50%);
  overflow: visible !important;
  z-index: 20;
  white-space: nowrap;
}
.slider-container-fixed-height .primary-shade-slider[data-v-10a7f759] .v-slider__tick {
  position: absolute;
  bottom: -8px; /* Position ticks below the track */
}

/* Hide empty input details to reduce spacing */
.shape-card-enhanced[data-v-10a7f759] .v-input__details {
  display: none !important;
}

/* Reduce margins on form elements */
.shape-card-enhanced[data-v-10a7f759] .v-input {
  margin-bottom: 0 !important;
}
.shape-card-enhanced[data-v-10a7f759] .v-field {
  margin-bottom: 0 !important;
}

/* Reduce card padding slightly */
.shape-card-enhanced[data-v-10a7f759] {
  padding-top: 12px !important;
  padding-bottom: 8px !important;
}

/* Reduce spacing between rows */
.shape-card-enhanced .mb-3[data-v-10a7f759] {
  margin-bottom: 0.75rem !important;
}
.slider-container[data-v-10a7f759] {
  overflow: visible !important;
  padding-top: 12px;
  padding-bottom: 12px;
  position: relative;
  z-index: 10;
}

/* Fixed height slider container that doesn't expand the row */
.slider-container-fixed-height[data-v-10a7f759] {
  overflow: visible !important;
  position: relative;
  z-index: 10;
  height: 32px; /* Fixed height to match button height */
  display: flex;
  align-items: center;
}
.slider-container[data-v-10a7f759] .v-slider {
  overflow: visible !important;
}
.slider-container[data-v-10a7f759] .v-slider__track-container {
  overflow: visible !important;
}
.slider-container[data-v-10a7f759] .v-slider__thumb-container {
  overflow: visible !important;
  z-index: 15;
}
.slider-container[data-v-10a7f759] .v-slider__thumb {
  overflow: visible !important;
  z-index: 15;
}
.slider-container[data-v-10a7f759] .v-slider__thumb-label {
  overflow: visible !important;
  z-index: 20;
  position: relative;
}
.slider-container[data-v-10a7f759] .v-slider__thumb-label__container {
  overflow: visible !important;
  z-index: 20;
}

/* Custom slider colors using primary color shades */
.primary-shade-slider[data-v-10a7f759] .v-slider__thumb {
  background-color: var(--v513f6fae) !important;
  border-color: var(--v513f6fae) !important;
}
.primary-shade-slider[data-v-10a7f759] .v-slider__track-fill {
  background-color: var(--v069cdd4e) !important;
}
.primary-shade-slider[data-v-10a7f759] .v-slider__track-background {
  background-color: var(--v069cdd4e) !important;
  opacity: 0.3;
}
.primary-shade-slider[data-v-10a7f759] .v-slider__thumb:hover {
  background-color: var(--v3c144ab2) !important;
}
.primary-shade-slider[data-v-10a7f759] .v-slider__thumb:focus {
  background-color: var(--v3c144ab2) !important;
}
.primary-shade-slider[data-v-10a7f759] .v-slider__thumb:active {
  background-color: var(--v3c144ab2) !important;
}
.primary-shade-slider[data-v-10a7f759] .v-slider__thumb-label {
  background-color: var(--v3c144ab2) !important;
}
.primary-shade-slider[data-v-10a7f759] .v-slider__tick {
  background-color: var(--v069cdd4e) !important;
  opacity: 0.6;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  background-color: white;
  z-index: 100;
}
.h-50px {
  height: 50px;
}
input[type="time"]::-webkit-calendar-picker-indicator {
  display: none;
}
.custom-tag {
  border: 1px solid #2791cc;
  color: #2791cc;
  display: flex;
  align-items: center;
}
.tag-input:focus-visible {
  outline: none !important;
}
.theme-blue-bg {
  background-color: #0c6ffe;
  transition: background-color 0.3s ease;
}
.disabled-button {
  background-color: #cccccc;
  cursor: not-allowed;
  opacity: 0.7;
  transition: background-color 0.3s ease;
}
.tag-delete-btn {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  border-radius: 50%;
  background-color: #0c6ffe;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  padding: 0;
  line-height: 1;
}
.color-preview {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid #ccc;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.color-preview:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.v-color-picker {
  max-width: 100%;
  border-radius: 4px;
}

/* Add top padding since we removed the nav bar */
.promotion-form {
  padding-top: 8px;
}

/* Store dropdown styles */
.store-dropdown {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: white;
  z-index: 1000;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
}
.store-dropdown-item {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
  cursor: pointer;
  padding: 8px 12px;
}
.store-dropdown-item:last-child {
  border-bottom: none;
}
.store-dropdown-item:hover {
  background-color: #f5f5f5;
}
.store-dropdown-item:active {
  background-color: #e8e8e8;
}
.store-dropdown-item-selected {
  background-color: #e3f2fd !important;
  border-left: 3px solid #2196f3;
}

/* Icon uploader styles */
.icon-uploader {
  border-radius: 4px;
  background-color: #f8f9fa;
  border: 2px dashed #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}
.icon-uploader:hover {
  border-color: #0c8ce9;
  background-color: #f0f7fd;
}
.icon-uploader.drag-active {
  border-color: #0c8ce9;
  border-width: 3px;
  background-color: #e6f7ff;
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(12, 140, 233, 0.3);
}
.icon-placeholder {
  color: #0c8ce9;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.icon-label {
  font-size: 10px;
  margin-top: 2px;
  font-weight: 500;
}
.icon-preview {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

/* Clear button styling */
.clear-btn {
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
}
.clear-btn:hover {
  background-color: rgba(0, 0, 0, 0.04) !important;
}
.clear-btn .v-icon {
  color: #666 !important;
}
.clear-btn:hover .v-icon {
  color: #333 !important;
}

/* Ensure proper flex ratios */
.d-flex > div[style*="flex: 3"] {
  flex: 3 1 0% !important;
  min-width: 0;
}
.d-flex > div[style*="flex: 1"] {
  flex: 1 1 0% !important;
  min-width: 0;
}

/* Custom location button styling */
.multiline-btn {
  height: 56px !important;
  white-space: normal !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
.multiline-btn .v-btn__content {
  white-space: normal !important;
  text-align: center;
  text-transform: none !important;
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.multiline-btn.location-selected {
  border-color: #4caf50 !important;
  border-width: 2px !important;
}
.location-btn-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
}
.location-btn-text {
  z-index: 1;
  font-size: clamp(10px, 2.5vw, 14px) !important;
  line-height: 1.2;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  width: 100%;
  white-space: normal;
  text-transform: none !important;
}
.location-corner-btn {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 20px;
  height: 20px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s ease;
  border: none;
  box-shadow: none;
  opacity: 1 !important;
  visibility: visible !important;
}
.location-corner-btn:hover {
  background-color: rgba(211, 47, 47, 0.1);
  transform: scale(1.1);
}
.location-corner-btn svg {
  color: #d32f2f !important;
  width: 12px !important;
  height: 12px !important;
  display: block !important;
}
.location-corner-btn:hover svg {
  color: #b71c1c !important;
}

.manager-invite-dialog[data-v-5fc7071f] {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1000;
}

/* Header */
.dialog-header[data-v-5fc7071f] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px 24px 16px;
  border-bottom: 1px solid #e5e7eb;
  background: #f8fafc;
}
.header-content[data-v-5fc7071f] {
  flex: 1;
}
.dialog-title[data-v-5fc7071f] {
  margin: 0 0 4px 0;
  color: #1f2937;
  font-size: 1.5rem;
  font-weight: 600;
}
.dialog-subtitle[data-v-5fc7071f] {
  margin: 0;
  color: #6b7280;
  font-size: 0.875rem;
}
.close-button[data-v-5fc7071f] {
  padding: 8px;
  border: none;
  background: none;
  color: #6b7280;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}
.close-button[data-v-5fc7071f]:hover {
  background: #e5e7eb;
  color: #374151;
}

/* Content */
.dialog-content[data-v-5fc7071f] {
  padding: 24px;
  max-height: 70vh;
  overflow-y: auto;
}

/* Section Styling */
.email-section[data-v-5fc7071f],
.role-section[data-v-5fc7071f],
.notes-section[data-v-5fc7071f] {
  margin-bottom: 32px;
}
.section-label[data-v-5fc7071f] {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  font-weight: 600;
  color: #374151;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.label-icon[data-v-5fc7071f] {
  margin-right: 8px;
  color: #3b82f6;
}

/* Email Section */
.email-input-group[data-v-5fc7071f] {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
}
.email-input[data-v-5fc7071f] {
  flex: 1;
  width: 100%;
  min-width: 0;
  padding: 12px 16px;
  border: 2px solid #d1d5db;
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.2s;
  box-sizing: border-box;
  word-wrap: break-word;
  word-break: break-all;
}
.email-input[data-v-5fc7071f]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.email-input.valid[data-v-5fc7071f] {
  border-color: #10b981;
}
.email-input.error[data-v-5fc7071f] {
  border-color: #ef4444;
}
.input-status[data-v-5fc7071f] {
  position: absolute;
  right: 12px;
  pointer-events: none;
}
.status-icon[data-v-5fc7071f] {
  font-size: 1.25rem;
}
.status-icon.valid[data-v-5fc7071f] {
  color: #10b981;
}
.status-icon.error[data-v-5fc7071f] {
  color: #ef4444;
}
.error-message[data-v-5fc7071f] {
  margin-top: 6px;
  color: #ef4444;
  font-size: 0.875rem;
}

/* Role Section */
.role-presets[data-v-5fc7071f] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}
.role-preset[data-v-5fc7071f] {
  padding: 16px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.role-preset[data-v-5fc7071f]:hover {
  border-color: #3b82f6;
  background: #f8fafc;
}
.role-preset.selected[data-v-5fc7071f] {
  border-color: #3b82f6;
  background: #eff6ff;
}
.role-header[data-v-5fc7071f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.role-radio[data-v-5fc7071f] {
  display: flex;
  align-items: center;
}
.radio-input[data-v-5fc7071f] {
  margin-right: 12px;
  cursor: pointer;
}
.radio-label[data-v-5fc7071f] {
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  margin: 0;
}
.role-badge[data-v-5fc7071f] {
  padding: 4px 8px;
  background: #e5e7eb;
  border-radius: 12px;
  font-size: 0.75rem;
  color: #6b7280;
}
.role-preset.selected .role-badge[data-v-5fc7071f] {
  background: #3b82f6;
  color: white;
}
.role-description[data-v-5fc7071f] {
  margin: 0;
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.4;
}

/* Advanced Toggle */
.advanced-toggle[data-v-5fc7071f] {
  margin-bottom: 20px;
}
.toggle-button[data-v-5fc7071f] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #f9fafb;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s;
  width: 100%;
  justify-content: space-between;
}
.toggle-button[data-v-5fc7071f]:hover {
  background: #e5e7eb;
}
.toggle-icon[data-v-5fc7071f] {
  transition: transform 0.2s;
}

/* Advanced Permissions */
.advanced-permissions[data-v-5fc7071f] {
  padding: 20px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}
.permissions-header[data-v-5fc7071f] {
  margin-bottom: 20px;
}
.permissions-header h4[data-v-5fc7071f] {
  margin: 0 0 4px 0;
  color: #374151;
}
.permissions-header p[data-v-5fc7071f] {
  margin: 0;
  color: #6b7280;
  font-size: 0.875rem;
}
.permission-groups[data-v-5fc7071f] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.permission-group[data-v-5fc7071f] {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: white;
}
.group-header[data-v-5fc7071f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.group-header[data-v-5fc7071f]:hover {
  background: #f9fafb;
}
.group-toggle[data-v-5fc7071f] {
  display: flex;
  align-items: center;
}
.group-icon[data-v-5fc7071f] {
  margin-right: 8px;
  color: #6b7280;
  transition: transform 0.2s;
}
.group-name[data-v-5fc7071f] {
  font-weight: 500;
  color: #374151;
}
.group-status[data-v-5fc7071f] {
  display: flex;
  align-items: center;
}
.group-checkbox[data-v-5fc7071f] {
  display: flex;
  align-items: center;
}
.checkbox-input[data-v-5fc7071f] {
  margin-right: 8px;
}
.checkbox-label[data-v-5fc7071f] {
  font-size: 0.875rem;
  color: #6b7280;
  margin: 0;
}
.group-permissions[data-v-5fc7071f] {
  padding: 0 16px 16px;
  border-top: 1px solid #f3f4f6;
  background: #fafbfc;
}
.permission-item[data-v-5fc7071f] {
  display: flex;
  align-items: center;
  padding: 8px 0;
}
.permission-checkbox[data-v-5fc7071f] {
  margin-right: 12px;
}
.permission-label[data-v-5fc7071f] {
  color: #4b5563;
  cursor: pointer;
  font-size: 0.875rem;
  margin: 0;
}

/* Notes Section */
.notes-field[data-v-5fc7071f] {
  margin-top: 8px;
}
.notes-textarea[data-v-5fc7071f] {
  width: 100%;
  padding: 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  resize: vertical;
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.4;
}
.notes-textarea[data-v-5fc7071f]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Footer */
.dialog-footer[data-v-5fc7071f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  background: #f8fafc;
}
.footer-info[data-v-5fc7071f] {
  flex: 1;
}
.invite-summary[data-v-5fc7071f] {
  display: flex;
  align-items: center;
}
.summary-text[data-v-5fc7071f] {
  font-size: 0.875rem;
  color: #6b7280;
}
.footer-actions[data-v-5fc7071f] {
  display: flex;
  gap: 12px;
}
.btn[data-v-5fc7071f] {
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-secondary[data-v-5fc7071f] {
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #d1d5db;
}
.btn-secondary[data-v-5fc7071f]:hover {
  background: #e5e7eb;
}
.btn-primary[data-v-5fc7071f] {
  background: #3b82f6;
  color: white;
}
.btn-primary[data-v-5fc7071f]:hover:not(:disabled) {
  background: #2563eb;
}
.btn-primary[data-v-5fc7071f]:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}
.btn-primary.loading[data-v-5fc7071f] {
  opacity: 0.8;
}
.btn-icon[data-v-5fc7071f] {
  font-size: 0.875rem;
}

/* Responsive */
@media (max-width: 768px) {
.manager-invite-dialog[data-v-5fc7071f] {
    margin: 10px;
    max-width: none;
}
.dialog-header[data-v-5fc7071f] {
    padding: 16px;
}
.dialog-content[data-v-5fc7071f] {
    padding: 16px;
    max-height: 60vh;
}
.dialog-footer[data-v-5fc7071f] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.footer-actions[data-v-5fc7071f] {
    width: 100%;
}
.btn[data-v-5fc7071f] {
    flex: 1;
    justify-content: center;
}
}

/* Add any specific styles for SpeakerEditor if needed */
.v-card-title[data-v-53fb531e] {
  border-bottom: 1px solid #eee;
}
.v-card-actions[data-v-53fb531e] {
  border-top: 1px solid #eee;
}

.section-header[data-v-57611180] {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 8px;
}
.section-title[data-v-57611180] {
  font-size: 1.1rem;
  font-weight: 500;
  color: #333;
}
.speakers-list[data-v-57611180] {
  max-height: 200px;
  overflow-y: auto;
}
.speaker-item[data-v-57611180] {
  border-bottom: 1px solid #f0f0f0;
}
.speaker-item[data-v-57611180]:last-child {
  border-bottom: none;
}
.v-card-title[data-v-57611180] {
  border-bottom: 1px solid #eee;
}
.v-card-actions[data-v-57611180] {
  border-top: 1px solid #eee;
}
.bulk-textarea[data-v-57611180] {
  min-height: 300px;
  width: 100%;
}
.bulk-toggle-btn[data-v-57611180] {
  min-width: 110px;
}
.bulk-header[data-v-57611180] {
  min-height: 32px;
}
.copy-format-btn[data-v-57611180] {
  min-width: 110px;
}
.copy-success-msg[data-v-57611180] {
  color: #4caf50;
  font-size: 0.95em;
  font-weight: 500;
}

.timeslot-row[data-v-15d2d538] {
  padding: 8px 0;
  border-left: 2px solid #eee;
  margin-bottom: 8px;
  position: relative;
  background-color: transparent !important;
  color: #333 !important;
}

/* Force all text to be visible */
.timeslot-content[data-v-15d2d538],
.timeslot-content[data-v-15d2d538] > *,
.timeslot-content span[data-v-15d2d538] {
  color: #333 !important;
}
.timeslot-state[data-v-15d2d538] {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.state-finished[data-v-15d2d538] {
  background-color: #f0f0f0;
  color: #666 !important;
}
.state-happening-now[data-v-15d2d538] {
  background-color: #4caf50;
  color: white !important;
}
.state-next-up[data-v-15d2d538] {
  background-color: #ff9800;
  color: white !important;
}
.timeslot-content[data-v-15d2d538] {
  padding: 0 8px;
  color: #333 !important;
}

/* Force dark text for main content */
.timeslot-content > div[data-v-15d2d538] {
  color: #333 !important;
}
.timeslot-description[data-v-15d2d538] {
  margin-top: 4px;
  color: #666 !important;
  line-height: 1.2;
}

/* Add explicit color for time and title */
.font-weight-medium[data-v-15d2d538],
span.font-weight-medium[data-v-15d2d538] {
  color: #333 !important;
  font-weight: 600 !important;
}

/* Add explicit color for speakers */
.text-caption[data-v-15d2d538] {
  color: #666 !important;
}
.description-truncated[data-v-15d2d538] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.toggle-description-btn[data-v-15d2d538] {
  background: none;
  border: none;
  padding: 4px 10px !important;
  color: #0c8ce9 !important;
  font-size: 0.9rem !important;
  cursor: pointer;
  font-weight: 600 !important;
  text-decoration: none;
  margin-left: auto;
  border-radius: 4px;
  display: inline-block !important;
  min-width: 65px !important;
  text-align: center !important;
}

/* Ensure "more" button stays blue */
button.toggle-description-btn[data-v-15d2d538] {
  color: #0c8ce9 !important;
}
.toggle-description-btn[data-v-15d2d538]:hover {
  text-decoration: underline;
  background-color: rgba(12, 140, 233, 0.05);
}
.remind-me-btn[data-v-15d2d538] {
  background: none;
  border: none;
  /* color property will be handled by FontAwesome icon itself or specific classes */
  cursor: pointer;
  padding: 0 4px;
  font-size: 1rem; /* Adjust base size of the button area if needed */
  margin-left: 8px;
}

/* Default state: far fa-bell (outline) */
.remind-me-btn .svg-inline--fa.fa-bell.far[data-v-15d2d538] {
  color: #333 !important; /* Dark outline, fill is typically transparent or controlled by icon */
}

/* Active state: fas fa-bell (solid) */
.remind-me-btn.reminder-set .svg-inline--fa.fa-bell.fas[data-v-15d2d538] {
  color: black !important; /* Black filled bell */
}

/* Hover states - optional, can refine */
.remind-me-btn:hover .svg-inline--fa.fa-bell.far[data-v-15d2d538] {
  color: #000 !important; /* Darker outline on hover */
}
.remind-me-btn.reminder-set:hover .svg-inline--fa.fa-bell.fas[data-v-15d2d538] {
  color: #333 !important; /* Slightly lighter black on hover for feedback */
}

/* General text color override was too broad, removing and being specific */
/* .timeslot-row, .timeslot-row * {
  color: #333 !important; 
} */

/* Styles for when reminder is set - if you change icon to fas fa-bell or similar */
/* .remind-me-btn .fa-bell.fas { 
  color: #28a745 !important; 
} 
.remind-me-btn:hover .fa-bell.fas {
  color: #1f7a34 !important;
}*/
.timeslot-row:not(:has(.timeslot-state)) .timeslot-content[data-v-15d2d538] {
  padding-left: 0;
  border-left: none;
}
.timeslot-row[data-v-15d2d538] {
  padding: 8px 0;
  margin-bottom: 8px;
  position: relative;
  background-color: transparent !important;
}
.timeslot-state[data-v-15d2d538] {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 12px;
  display: inline-block;
  margin-bottom: 6px;
  text-transform: uppercase;
  border: 1px solid transparent;
}
.state-finished[data-v-15d2d538] {
  background-color: #e9ecef;
  color: #495057 !important;
  border-color: #ced4da;
}
.state-happening-now[data-v-15d2d538] {
  background-color: #d1e7dd;
  color: #0f5132 !important;
  border-color: #badbcc;
}
.state-next-up[data-v-15d2d538] {
  background-color: #fff3cd;
  color: #664d03 !important;
  border-color: #ffecb5;
}
.timeslot-content[data-v-15d2d538] {
  padding-left: 10px;
  border-left: 3px solid #eee;
  padding-top: 4px;
  padding-bottom: 4px;
}
.font-weight-medium[data-v-15d2d538],
span.font-weight-medium[data-v-15d2d538] {
  color: #212529 !important;
  font-weight: 600 !important;
}
.text-caption[data-v-15d2d538] {
  color: #6c757d !important;
  font-size: 0.85em;
}
.timeslot-description[data-v-15d2d538] {
  margin-top: 4px;
  color: #495057 !important;
  line-height: 1.3;
  font-size: 0.85em;
}
.description-truncated[data-v-15d2d538] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.toggle-description-btn[data-v-15d2d538] {
  background: none;
  border: none;
  padding: 0;
  color: #0d6efd !important;
  font-size: 0.8em;
  cursor: pointer;
  font-weight: 500;
  text-decoration: none;
  margin-left: auto;
}
.toggle-description-btn[data-v-15d2d538]:hover {
  text-decoration: underline;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  background-color: white;
  z-index: 100;
}
.h-50px {
  height: 50px;
}
.v-input__details {
  display: none !important;
}
input[type="time"]::-webkit-calendar-picker-indicator {
  display: none;
}
.sticky-top {
  background-color: transparent !important;
  z-index: 100;
}
.editor-header {
  position: relative;
  top: 0;
  background-color: transparent;
  z-index: 100;
}
.theme-blue-text {
  color: #0c8ce9;
}
.done-button {
  color: #0c8ce9;
}
.w-33 {
  width: 33.33%;
}
.color-button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  transition: transform 0.2s;
}
.color-button:hover {
  transform: scale(1.1);
}
.form-check-input {
  width: 3em;
}
.section-title {
  font-size: 1rem;
  font-weight: 500;
  color: #666;
  text-align: center;
}
.section-header {
  margin-top: 1rem;
}
.border-bottom {
  border-bottom: 1px solid #dee2e6;
}
.w-50 {
  width: 50%;
}
.editor-container {
  height: auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem;
}

/* Add styling for the editor title */
.text-center h5 {
  font-weight: 600;
  font-size: 1.1rem;
  padding-top: 12px;
  margin-bottom: 16px;
}
.pending-tag {
  background-color: #ffeeba;
  color: #856404;
  font-size: 0.875rem;
}
.form-control {
  border-radius: 20px;
  padding: 8px 16px;
}
.btn {
  border-radius: 20px;
  padding: 8px 16px;
}
.user-remove-btn {
  background: none;
  border: none;
  color: #dc3545; /* Bootstrap danger color */
  padding: 0.25rem 0.5rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease-in-out;
}
.user-remove-btn:hover {
  opacity: 1;
}

.image-gallery-container[data-v-42eec13e] {
  width: 100%;
  overflow-x: auto;
  padding: 1rem 0;
}
.image-gallery[data-v-42eec13e] {
  display: flex;
  gap: 1rem;
}
.image-item[data-v-42eec13e] {
  position: relative;
  flex: 0 0 auto;
}
.image-item img[data-v-42eec13e] {
  height: 130px;
  width: auto;
  object-fit: contain;
}
.delete-btn[data-v-42eec13e] {
  position: absolute;
  top: 8px;
  right: 8px;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
  cursor: pointer;
}
.v-switch[data-v-42eec13e] {
  margin-top: 0;
}
.delete-item-btn[data-v-42eec13e] {
  background-color: #c91e1e;
  color: white;
  border: none;
  transition: background-color 0.2s ease;
}
.delete-item-btn[data-v-42eec13e]:hover {
  background-color: #5a6268;
}
.promotion-editor-overlay[data-v-42eec13e] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: white;
}

/* New styles for promotion cards */
.promotions-container[data-v-42eec13e] {
  padding-top: 8px;
}
.promotion-card[data-v-42eec13e] {
  cursor: pointer; /* Show that the card is clickable */
  position: relative;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 16px;
  transition: box-shadow 0.2s ease;
}
.promotion-card[data-v-42eec13e]:hover {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.promotion-card-selected[data-v-42eec13e] {
  background-color: #e3f2fd !important;
  border-color: #2196f3 !important;
  border-width: 2px !important;
}
.promotion-title[data-v-42eec13e] {
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 1rem;
}
.promotion-description[data-v-42eec13e] {
  color: #6c757d;
  font-size: 0.9rem;
  margin-bottom: 12px;
}
.promotion-tag[data-v-42eec13e] {
  display: inline-block;
  background-color: #f8f9fa;
  border: 1px solid #2791cc;
  color: #2791cc;
  border-radius: 16px;
  padding: 2px 10px;
  font-size: 0.75rem;
  margin-right: 8px;
  margin-bottom: 8px;
}
.delete-promotion-btn[data-v-42eec13e] {
  position: absolute;
  top: 12px;
  right: 12px;
  background-color: transparent;
  color: #dc3545;
  border: none;
  width: 30px; /* Make larger for easier clicking */
  height: 30px; /* Make larger for easier clicking */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.2s ease;
  z-index: 10; /* Ensure higher z-index */
}
.delete-promotion-btn[data-v-42eec13e]:hover {
  background-color: #f8d7da;
}

/* Highlight animation for newly created promotions */
.highlight-promotion[data-v-42eec13e] {
  animation: highlightPromotionPulse-42eec13e 2s ease-in-out;
  border: 2px solid #0c8ce9 !important;
}
@keyframes highlightPromotionPulse-42eec13e {
0% {
    box-shadow: 0 0 0 0 rgba(12, 140, 233, 0.4);
}
50% {
    box-shadow: 0 0 0 10px rgba(12, 140, 233, 0.1);
}
100% {
    box-shadow: 0 0 0 0 rgba(12, 140, 233, 0);
}
}

/* Update icon uploader styles for new layout */
.icon-uploader[data-v-42eec13e] {
  border-radius: 4px; /* Changed from 50% to match v-text-field */
  background-color: #f8f9fa;
  border: 2px dashed #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}
.icon-uploader[data-v-42eec13e]:hover {
  border-color: #0c8ce9;
  background-color: #f0f7fd;
}
.icon-uploader.drag-active[data-v-42eec13e] {
  border-color: #0c8ce9;
  border-width: 3px;
  background-color: #e6f7ff;
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(12, 140, 233, 0.3);
}
.icon-placeholder[data-v-42eec13e] {
  color: #0c8ce9;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.icon-label[data-v-42eec13e] {
  font-size: 10px;
  margin-top: 2px;
  font-weight: 500;
}
.icon-preview[data-v-42eec13e] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px; /* Add some padding to prevent image from touching the border */
}

/* Icon Search Button Styles */
.icon-search-btn[data-v-42eec13e] .v-btn__content {
  width: 100%;
  padding: 0;
}
.icon-search-btn[data-v-42eec13e] {
  padding: 4px 8px !important;
  min-height: 56px !important; /* Match the floor selector height */
}
.icon-text-container[data-v-42eec13e] {
  max-width: 180px;
}
.number-field[data-v-42eec13e] {
  font-size: 14px;
}
.number-field[data-v-42eec13e] input {
  text-align: center;
}

/* Color picker styles */
.color-preview[data-v-42eec13e] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  cursor: pointer;
  transition: transform 0.2s;
}
.color-preview[data-v-42eec13e]:hover {
  transform: scale(1.1);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}
.no-color[data-v-42eec13e] {
  background-color: transparent;
  border: 2px dashed #6c757d;
  display: flex;
  justify-content: center;
  align-items: center;
}
.no-color-text[data-v-42eec13e] {
  color: #6c757d;
  font-size: 0.8rem;
  text-align: center;
}

/* Category color indicator in dropdown */
.category-color-indicator[data-v-42eec13e] {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  margin-left: 8px;
  border: 1px solid #e0e0e0;
}

/* Category container and field indicator */
.category-container[data-v-42eec13e] {
  position: relative;
}
.category-field-indicator[data-v-42eec13e] {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  z-index: 10;
  transform: translateY(-50%);
}

/* Schedule Card Styles */
.schedule-card[data-v-42eec13e] {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 16px;
  transition: box-shadow 0.2s ease;
}
.schedule-card[data-v-42eec13e]:hover {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.schedule-date[data-v-42eec13e] {
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 1rem;
}
.edit-date-btn[data-v-42eec13e] {
  background: none;
  border: none;
  color: #0c8ce9; /* Theme blue */
  padding: 0.25rem;
  margin-left: 4px; /* Space from date */
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s ease-in-out;
}
.edit-date-btn[data-v-42eec13e]:hover {
  opacity: 1;
}
.delete-schedule-btn[data-v-42eec13e] {
  position: absolute;
  top: 12px;
  right: 12px;
  background-color: transparent;
  color: #dc3545;
  border: none;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.2s ease;
  z-index: 10;
}
.delete-schedule-btn[data-v-42eec13e]:hover {
  background-color: #f8d7da;
}
.timeslot-item[data-v-42eec13e] {
  padding: 2px 0;
  border-left: 2px solid #eee;
  margin-left: -1rem; /* To align with card padding */
  margin-bottom: 4px;
}
.timeslot-summary-toggler[data-v-42eec13e] {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  color: #0c8ce9;
  user-select: none; /* Prevent text selection on click */
}
.timeslot-summary-toggler.disabled[data-v-42eec13e] {
  color: #6c757d; /* Muted color when no timeslots */
  cursor: default;
}
.edit-schedule-btn[data-v-42eec13e] {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}
.timeslot-list-container[data-v-42eec13e] {
  border-top: 1px solid #eee;
  padding-top: 8px;
}

/* Category dropdown styling */
.category-dropdown-item[data-v-42eec13e] {
  display: flex;
  align-items: center;
  padding: 8px 16px;
}
.category-icon-preview[data-v-42eec13e] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 12px; /* Increased spacing between icon and text */
}

/* Ensure proper spacing for v-list-item content */
.category-dropdown-item .v-list-item__content[data-v-42eec13e] {
  margin-left: 0;
}

/* Increase font size for dropdown items */
.category-dropdown-item .v-list-item__content .v-list-item-title[data-v-42eec13e] {
  font-size: 16px !important;
  font-weight: 500;
}

/* Subcategory styling */
.subcategory-item[data-v-42eec13e] {
  position: relative;
}
.subcategory-item[data-v-42eec13e]::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 2px;
  background-color: #e0e0e0;
}
.subcategory-item .v-list-item__content .v-list-item-title[data-v-42eec13e] {
  color: #666;
  font-style: italic;
}
.category-selection-icon[data-v-42eec13e] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.category-selection-title[data-v-42eec13e] {
  font-size: 16px;
  color: #333;
  font-weight: 500;
}

/* Ensure SVG icons are properly sized and centered */
.svg-icon-container[data-v-42eec13e] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.svg-icon-container svg[data-v-42eec13e] {
  width: 20px;
  height: 20px;
}

/* Fix overflow for shapes container to allow slider thumbs to be visible */
.shapes-container[data-v-42eec13e] {
  overflow: visible !important;
  margin-bottom: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}
.shapes-list[data-v-42eec13e] {
  overflow: visible !important;
  margin-bottom: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  display: block !important;
  flex: none !important;
}

/* Ensure no flex properties are interfering */
.shapes-container[data-v-42eec13e] {
  display: block !important;
  flex: none !important;
}

/* Icon search results styles */
.icon-search-results[data-v-42eec13e] {
  max-width: 100%;
}
.results-header[data-v-42eec13e] {
  color: #666;
  font-size: 12px;
}
.results-grid[data-v-42eec13e] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-height: 200px;
  overflow-y: auto;
  padding: 8px;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}
.icon-result-item[data-v-42eec13e] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  padding: 8px;
}
.icon-result-item[data-v-42eec13e]:hover {
  border-color: #007bff;
  background: #f0f8ff;
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
}
.icon-result-image[data-v-42eec13e] {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.gap-2[data-v-42eec13e] {
  gap: 0.5rem;
}

.sticky-top[data-v-ae0e28b1] {
  position: sticky;
  top: 0;
  background-color: white;
  z-index: 100;
}
.profile-img[data-v-ae0e28b1] {
  width: 120px;
  height: 150px;
}
@media only screen and (max-width: 767px) {
.sticky-top[data-v-ae0e28b1] {
    background-color: #f8f8f8;
}
}
.billing-error-card[data-v-f76d295d] {
  border-radius: 12px !important;
  overflow: hidden;
}
.billing-error-header[data-v-f76d295d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 24px 8px !important;
  background: linear-gradient(135deg, #fff5f5 0%, #fee2e2 100%);
}
.error-icon-container[data-v-f76d295d] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #fee2e2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.error-icon[data-v-f76d295d] {
  font-size: 40px;
  color: #dc2626;
}
.error-title[data-v-f76d295d] {
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
}
.billing-error-content[data-v-f76d295d] {
  padding: 20px 24px !important;
  text-align: center;
}
.error-message[data-v-f76d295d] {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #495057;
  margin: 0;
}
.billing-error-actions[data-v-f76d295d] {
  padding: 8px 24px 24px !important;
}
.ok-button[data-v-f76d295d] {
  min-width: 100px;
  font-weight: 600;
}
.text-subtitle-2[data-v-5e399ada] {
  font-weight: 600;
}
.row[data-v-5e399ada] {
  display: flex;
  margin-left: -12px;
  margin-right: -12px;
}
.col-6[data-v-5e399ada] {
  flex: 0 0 50%;
  max-width: 50%;
  padding-left: 12px;
  padding-right: 12px;
}

/* Ensure proper spacing */
.mb-3[data-v-5e399ada] {
  margin-bottom: 1rem;
}
.mb-2[data-v-5e399ada] {
  margin-bottom: 0.5rem;
}
.ml-2[data-v-5e399ada] {
  margin-left: 0.5rem;
}
.alert[data-v-5e399ada] {
  padding: 0.75rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid;
  margin-bottom: 0.5rem;
}
.alert-warning[data-v-5e399ada] {
  background-color: #fff3cd;
  border-color: #ffecb5;
  color: #664d03;
}
.alert-info[data-v-5e399ada] {
  background-color: #d1ecf1;
  border-color: #bee5eb;
  color: #0c5460;
}
.field-requirements[data-v-5e399ada] {
  border: 1px solid #e0e0e0;
  border-radius: 0.375rem;
  padding: 1rem;
}
.field-requirements summary[data-v-5e399ada] {
  cursor: pointer;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.field-requirements-content[data-v-5e399ada] {
  margin-top: 0.5rem;
}
.text-success[data-v-5e399ada] {
  color: #198754;
}
.text-error[data-v-5e399ada] {
  color: #dc3545;
}
.text-primary[data-v-5e399ada] {
  color: #0d6efd;
}

.review-detail-overlay[data-v-3b805100] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}
.review-detail-dialog[data-v-3b805100] {
  background: white;
  border-radius: 12px;
  width: 100%;
  max-width: 700px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.dialog-header[data-v-3b805100] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 24px;
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
}
.header-content[data-v-3b805100] {
  flex: 1;
}
.header-content h3[data-v-3b805100] {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
  color: #333;
}
.header-meta[data-v-3b805100] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.close-button[data-v-3b805100] {
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}
.close-button[data-v-3b805100]:hover {
  background: #f0f0f0;
}
.close-button i[data-v-3b805100] {
  font-size: 24px;
}
.dialog-content[data-v-3b805100] {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.review-section[data-v-3b805100] {
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 16px;
}
.review-section[data-v-3b805100]:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.section-label[data-v-3b805100] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.rating-display[data-v-3b805100] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.rating-value[data-v-3b805100] {
  font-size: 32px;
  font-weight: bold;
  color: #333;
}
.rating-stars[data-v-3b805100] {
  font-size: 20px;
}

/* Review Data List - Compact one-per-line format */
.review-data-list[data-v-3b805100] {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
.data-row[data-v-3b805100] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #e0e0e0;
}
.data-row[data-v-3b805100]:last-child {
  border-bottom: none;
}
.row-label[data-v-3b805100] {
  font-size: 13px;
  font-weight: 600;
  color: #666;
  min-width: 180px;
  flex-shrink: 0;
}
.row-value[data-v-3b805100] {
  font-size: 14px;
  color: #333;
  flex: 1;
  text-align: right;
  word-break: break-word;
}

/* Chips for array values (tags, selections) */
.row-value[data-v-3b805100] .chips-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
}
.row-value[data-v-3b805100] .value-chip {
  display: inline-block;
  padding: 3px 8px;
  background: #e3f2fd;
  color: #1976d2;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid #bbdefb;
}

/* Rating display in rows */
.row-value[data-v-3b805100] .rating-display-value {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}
.row-value[data-v-3b805100] .stars {
  font-size: 14px;
  letter-spacing: 1px;
}

/* JSON formatting */
.row-value[data-v-3b805100] .json-value {
  background: #263238;
  color: #aed581;
  padding: 8px;
  border-radius: 4px;
  font-size: 11px;
  overflow-x: auto;
  margin: 0;
  text-align: left;
}

/* Text muted */
.row-value[data-v-3b805100] .text-muted {
  color: #999;
  font-style: italic;
}
.comment-text[data-v-3b805100] {
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  background: #f9f9f9;
  padding: 16px;
  border-radius: 6px;
  white-space: pre-wrap;
}
.info-grid[data-v-3b805100] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}
.info-item[data-v-3b805100] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #333;
}
.info-item i[data-v-3b805100] {
  color: #666;
  font-size: 18px;
}
.tags-display[data-v-3b805100] {
  display: flex;
  flex-wrap: wrap;
}
.response-section[data-v-3b805100] {
  background: #e3f2fd;
  padding: 16px;
  border-radius: 8px;
}
.response-content[data-v-3b805100] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.response-text[data-v-3b805100] {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}
.response-meta[data-v-3b805100] {
  font-size: 12px;
  color: #666;
  font-style: italic;
}
.dialog-footer[data-v-3b805100] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #e0e0e0;
  flex-shrink: 0;
}

/* Responsive */
@media (max-width: 768px) {
.review-detail-overlay[data-v-3b805100] {
    padding: 0;
}
.review-detail-dialog[data-v-3b805100] {
    max-width: 100%;
    max-height: 100vh;
    border-radius: 0;
}
.data-row[data-v-3b805100] {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.row-label[data-v-3b805100] {
    min-width: auto;
    font-size: 12px;
}
.row-value[data-v-3b805100] {
    text-align: left;
    font-size: 13px;
}
.row-value[data-v-3b805100] .chips-container {
    justify-content: flex-start;
}
.row-value[data-v-3b805100] .rating-display-value {
    justify-content: flex-start;
}
.info-grid[data-v-3b805100] {
    grid-template-columns: 1fr;
}
.dialog-footer[data-v-3b805100] {
    flex-direction: column-reverse;
    gap: 8px;
}
.dialog-footer[data-v-3b805100] > * {
    width: 100%;
}
}

.review-analytics[data-v-fae6b566] {
  padding: 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
}
.analytics-header[data-v-fae6b566] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
}
.header-content h3[data-v-fae6b566] {
  margin: 0;
  color: #333;
  font-weight: 600;
  font-size: 18px;
}
.loading-state[data-v-fae6b566],
.error-state[data-v-fae6b566],
.empty-state[data-v-fae6b566] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  text-align: center;
}
.dashboard-content[data-v-fae6b566] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Stats Section */
.stats-section[data-v-fae6b566] {
  margin-bottom: 8px;
}
.stats-title[data-v-fae6b566] {
  margin: 0 0 8px 0;
  font-size: 15px;
  font-weight: 600;
  color: #333;
}
.stats-grid[data-v-fae6b566] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}
.stat-card[data-v-fae6b566] {
  background: white;
  border-radius: 6px;
  padding: 8px 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border-left: 3px solid;
}
.stat-card.today[data-v-fae6b566] {
  border-left-color: #2196f3;
}
.stat-card.week[data-v-fae6b566] {
  border-left-color: #4caf50;
}
.stat-card.month[data-v-fae6b566] {
  border-left-color: #ff9800;
}
.stat-card.all-time[data-v-fae6b566] {
  border-left-color: #9c27b0;
}
.card-header[data-v-fae6b566] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
  color: #666;
  font-size: 11px;
  font-weight: 500;
}
.card-header i[data-v-fae6b566] {
  font-size: 14px;
}
.card-stats[data-v-fae6b566] {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.card-value[data-v-fae6b566] {
  font-size: 22px;
  font-weight: bold;
  color: #333;
  line-height: 1;
}
.card-meta[data-v-fae6b566] {
  font-size: 10px;
  color: #999;
}

/* Alerts Section */
.alerts-section[data-v-fae6b566] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.alert-item[data-v-fae6b566] {
  flex: 1;
  min-width: 280px;
}

/* Analytics Cards */
.analytics-section[data-v-fae6b566] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 16px;
}
.analytics-card[data-v-fae6b566] {
  background: white;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.card-title[data-v-fae6b566] {
  margin: 0 0 12px 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

/* Rating Distribution */
.rating-bars[data-v-fae6b566] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rating-bar-row[data-v-fae6b566] {
  display: grid;
  grid-template-columns: 30px 1fr 50px;
  align-items: center;
  gap: 12px;
}
.rating-label[data-v-fae6b566] {
  font-size: 14px;
  font-weight: 500;
  color: #666;
}
.bar-container[data-v-fae6b566] {
  height: 28px;
  background: #f5f5f5;
  border-radius: 14px;
  overflow: hidden;
}
.bar-fill[data-v-fae6b566] {
  height: 100%;
  transition: width 0.3s ease;
  border-radius: 14px;
}
.rating-count[data-v-fae6b566] {
  font-size: 13px;
  color: #666;
  text-align: right;
}

/* Sentiment Grid */
.sentiment-grid[data-v-fae6b566] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.sentiment-item[data-v-fae6b566] {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
}
.sentiment-item.positive[data-v-fae6b566] {
  background: #e8f5e9;
}
.sentiment-item.neutral[data-v-fae6b566] {
  background: #fff3e0;
}
.sentiment-item.negative[data-v-fae6b566] {
  background: #ffebee;
}
.sentiment-item i[data-v-fae6b566] {
  font-size: 48px;
  margin-bottom: 8px;
}
.sentiment-item.positive i[data-v-fae6b566] {
  color: #4caf50;
}
.sentiment-item.neutral i[data-v-fae6b566] {
  color: #ff9800;
}
.sentiment-item.negative i[data-v-fae6b566] {
  color: #f44336;
}
.sentiment-value[data-v-fae6b566] {
  font-size: 32px;
  font-weight: bold;
  color: #333;
  margin-bottom: 4px;
}
.sentiment-label[data-v-fae6b566] {
  font-size: 14px;
  color: #666;
  font-weight: 500;
  margin-bottom: 2px;
}
.sentiment-percentage[data-v-fae6b566] {
  font-size: 12px;
  color: #999;
}

/* Trend Card */
.trend-grid[data-v-fae6b566] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.trend-item[data-v-fae6b566] {
  text-align: center;
  padding: 16px;
  background: #f5f5f5;
  border-radius: 8px;
}
.trend-item i[data-v-fae6b566] {
  font-size: 36px;
  margin-bottom: 8px;
}
.trend-value[data-v-fae6b566] {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 4px;
}
.trend-value.positive[data-v-fae6b566] {
  color: #4caf50;
}
.trend-value.negative[data-v-fae6b566] {
  color: #f44336;
}
.trend-label[data-v-fae6b566] {
  font-size: 12px;
  color: #666;
}

/* Top Rated List */
.top-rated-list[data-v-fae6b566] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.top-rated-item[data-v-fae6b566] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px;
  background: #f5f5f5;
  border-radius: 8px;
}
.item-rank[data-v-fae6b566] {
  width: 36px;
  height: 36px;
  background: #1976d2;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 16px;
  flex-shrink: 0;
}
.item-info[data-v-fae6b566] {
  flex: 1;
}
.item-name[data-v-fae6b566] {
  font-weight: 600;
  color: #333;
  margin-bottom: 2px;
}
.item-stats[data-v-fae6b566] {
  font-size: 12px;
  color: #666;
}
.item-rating[data-v-fae6b566] {
  font-size: 18px;
}

/* Recent Reviews */
.recent-reviews-section[data-v-fae6b566] {
  background: white;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.section-header[data-v-fae6b566] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.section-header h3[data-v-fae6b566] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}
.reviews-list[data-v-fae6b566] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.review-card[data-v-fae6b566] {
  padding: 12px;
  background: #f9f9f9;
  border-radius: 6px;
  border-left: 3px solid #1976d2;
  cursor: pointer;
  transition: all 0.2s ease;
}
.review-card[data-v-fae6b566]:hover {
  background: #f0f0f0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}
.review-header[data-v-fae6b566] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.review-rating[data-v-fae6b566] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rating-value[data-v-fae6b566] {
  font-weight: bold;
  font-size: 16px;
  color: #333;
}
.rating-stars[data-v-fae6b566] {
  font-size: 14px;
}
.review-meta[data-v-fae6b566] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.review-date[data-v-fae6b566] {
  font-size: 12px;
  color: #999;
}
.review-comment[data-v-fae6b566] {
  color: #333;
  line-height: 1.4;
  margin-bottom: 8px;
  font-size: 14px;
}
.review-footer[data-v-fae6b566] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.review-author[data-v-fae6b566] {
  font-size: 13px;
  color: #666;
  display: flex;
  align-items: center;
  gap: 4px;
}
.empty-icon[data-v-fae6b566] {
  font-size: 48px;
  color: #ccc;
  margin-bottom: 12px;
}
.empty-state h4[data-v-fae6b566] {
  margin: 0 0 4px 0;
  color: #666;
  font-size: 16px;
}

/* Responsive */
@media (max-width: 768px) {
.review-analytics[data-v-fae6b566] {
    padding: 12px;
}
.stats-grid[data-v-fae6b566] {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.analytics-section[data-v-fae6b566] {
    grid-template-columns: 1fr;
}
.sentiment-grid[data-v-fae6b566] {
    grid-template-columns: 1fr;
}
.card-value[data-v-fae6b566] {
    font-size: 20px;
}
.card-header[data-v-fae6b566] {
    font-size: 10px;
}
}

.payment-dialog-header[data-v-99c9a93b] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 1.5rem;
}
.payment-dialog-header h5[data-v-99c9a93b] {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
}

/* Scrollable content area */
.payment-dialog-content[data-v-99c9a93b] {
  max-height: 70vh;
  overflow-y: auto;
}

/* Stripe Elements Container */
.stripe-elements-container[data-v-99c9a93b] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.stripe-field-group[data-v-99c9a93b] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.stripe-field-label[data-v-99c9a93b] {
  font-size: 0.875rem;
  font-weight: 500;
  color: #495057;
}
.stripe-field-label .required[data-v-99c9a93b] {
  color: #dc3545;
}
.stripe-field-label .optional[data-v-99c9a93b] {
  color: #6c757d;
  font-weight: 400;
  font-size: 0.8rem;
  margin-left: 0.25rem;
}
.stripe-field-container[data-v-99c9a93b] {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.stripe-field-container[data-v-99c9a93b]:focus-within {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Error state for Stripe fields */
.stripe-field-container.stripe-field-error[data-v-99c9a93b] {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}
.stripe-field-container.stripe-field-error[data-v-99c9a93b]:focus-within {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
}
.field-error-message[data-v-99c9a93b] {
  color: #dc3545;
  font-size: 0.75rem;
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
}
.stripe-element[data-v-99c9a93b] {
  min-height: 24px;
}

/* Row for Expiry and CVC - responsive */
.stripe-field-row[data-v-99c9a93b] {
  display: flex;
  gap: 1rem;
}
.stripe-field-half[data-v-99c9a93b] {
  flex: 1;
  min-width: 0; /* Prevents flex items from overflowing */
}

/* Mobile responsive - stack expiry and CVC on smaller screens */
@media (max-width: 480px) {
.stripe-field-row[data-v-99c9a93b] {
    flex-direction: column;
}
.stripe-field-half[data-v-99c9a93b] {
    width: 100%;
}
}

/* Billing Details Section */
.billing-details h6[data-v-99c9a93b],
.billing-address h6[data-v-99c9a93b] {
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
}
.billing-details h6 i[data-v-99c9a93b],
.billing-address h6 i[data-v-99c9a93b] {
  color: #667eea;
}

/* Text muted for icons in inputs */
.text-muted[data-v-99c9a93b] {
  color: #6c757d;
}

/* Existing Card Info (Edit Mode) */
.existing-card-info[data-v-99c9a93b] {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 1rem;
}
.existing-card-box[data-v-99c9a93b] {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem;
  background: white;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}
.existing-card-icon[data-v-99c9a93b] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  color: white;
  font-size: 1.5rem;
}
.existing-card-details[data-v-99c9a93b] {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.existing-card-details .card-brand[data-v-99c9a93b] {
  font-weight: 600;
  color: #333;
  font-size: 0.95rem;
}
.existing-card-details .card-number[data-v-99c9a93b] {
  color: #666;
  font-size: 0.9rem;
  font-family: monospace;
}
.existing-card-details .card-expiry[data-v-99c9a93b] {
  color: #888;
  font-size: 0.8rem;
}
.existing-card-note[data-v-99c9a93b] {
  margin-top: 0.75rem;
  margin-bottom: 0;
  font-size: 0.8rem;
  color: #666;
  display: flex;
  align-items: center;
}
.existing-card-note i[data-v-99c9a93b] {
  color: #667eea;
}

.invoices-dialog[data-v-fdb82f91] {
  border-radius: 16px !important;
  overflow: hidden;
}
.invoices-dialog-header[data-v-fdb82f91] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}
.invoices-dialog-header h5[data-v-fdb82f91] {
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
}
.header-content[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.header-summary[data-v-fdb82f91] {
  font-size: 0.85rem;
  opacity: 0.85;
  background: rgba(255, 255, 255, 0.15);
  padding: 0.2rem 0.6rem;
  border-radius: 20px;
}
.close-btn[data-v-fdb82f91] {
  color: white !important;
}
.invoices-dialog-content[data-v-fdb82f91] {
  padding: 0 !important;
  min-height: 300px;
}

/* Loading State */
.loading-state[data-v-fdb82f91] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
}

/* Error State */
.error-state[data-v-fdb82f91] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem;
}

/* Empty State */
.empty-state[data-v-fdb82f91] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  text-align: center;
}
.empty-icon[data-v-fdb82f91] {
  font-size: 4rem;
  color: #dee2e6;
  margin-bottom: 1rem;
}
.empty-state h6[data-v-fdb82f91] {
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.5rem;
}

/* Empty State - Filtered Results */
.empty-state-filtered[data-v-fdb82f91] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.25rem;
  text-align: center;
  background: #f8f9fa;
  border-radius: 8px;
  margin: 1.25rem;
}
.empty-icon-small[data-v-fdb82f91] {
  font-size: 3rem;
  color: #dee2e6;
  margin-bottom: 0.75rem;
}
.empty-state-filtered h6[data-v-fdb82f91] {
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}
.empty-state-filtered p[data-v-fdb82f91] {
  margin-bottom: 0;
  font-size: 0.9rem;
}

/* Summary Bar */
.summary-bar[data-v-fdb82f91] {
  display: flex;
  gap: 2rem;
  padding: 1rem 1.25rem;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.summary-item[data-v-fdb82f91] {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.summary-label[data-v-fdb82f91] {
  font-size: 0.75rem;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.summary-value[data-v-fdb82f91] {
  font-size: 1.1rem;
  font-weight: 700;
}

/* Filter Tabs */
.filter-tabs[data-v-fdb82f91] {
  display: flex !important;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #e9ecef;
  background: white;
  flex-wrap: wrap;
  align-items: center;
}
.filter-tab[data-v-fdb82f91] {
  padding: 0.4rem 0.8rem;
  border: 1px solid #dee2e6;
  border-radius: 20px;
  background: white;
  color: #6c757d;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.filter-tab[data-v-fdb82f91]:hover {
  border-color: #667eea;
  color: #667eea;
  background: rgba(102, 126, 234, 0.05);
}
.filter-tab.active[data-v-fdb82f91] {
  background: #667eea !important;
  border-color: #667eea !important;
  color: white !important;
  font-weight: 600;
}

/* Invoice Rows */
.invoice-rows[data-v-fdb82f91] {
  padding: 0;
}
.invoice-row[data-v-fdb82f91] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.2s ease;
}
.invoice-row[data-v-fdb82f91]:hover {
  background: #f8f9fa;
}
.invoice-row[data-v-fdb82f91]:last-child {
  border-bottom: none;
}
.invoice-main[data-v-fdb82f91] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  gap: 1rem;
}
.invoice-info[data-v-fdb82f91] {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.invoice-number[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.invoice-number .number[data-v-fdb82f91] {
  font-weight: 600;
  color: #333;
  font-size: 0.95rem;
}
.status-badge[data-v-fdb82f91] {
  padding: 0.15rem 0.5rem;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.status-paid[data-v-fdb82f91] {
  background: #d4edda;
  color: #155724;
}
.status-open[data-v-fdb82f91] {
  background: #fff3cd;
  color: #856404;
}
.status-draft[data-v-fdb82f91] {
  background: #e9ecef;
  color: #495057;
}
.status-void[data-v-fdb82f91],
.status-uncollectible[data-v-fdb82f91] {
  background: #f8d7da;
  color: #721c24;
}
.invoice-meta[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  color: #6c757d;
}
.meta-item[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.meta-item i[data-v-fdb82f91] {
  font-size: 0.85rem;
}
.meta-divider[data-v-fdb82f91] {
  color: #dee2e6;
}
.promo-tag[data-v-fdb82f91] {
  color: #28a745;
}
.invoice-amount[data-v-fdb82f91] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
}
.invoice-amount .amount[data-v-fdb82f91] {
  font-size: 1.1rem;
  font-weight: 700;
  color: #333;
}
.discount-note[data-v-fdb82f91] {
  font-size: 0.75rem;
  color: #28a745;
}
.invoice-actions[data-v-fdb82f91] {
  display: flex;
  gap: 0.5rem;
  margin-left: 1rem;
}
.btn-action[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background: white;
  color: #495057;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-action[data-v-fdb82f91]:hover {
  border-color: #667eea;
  color: #667eea;
}
.btn-action i[data-v-fdb82f91] {
  font-size: 1rem;
}
.btn-view[data-v-fdb82f91]:hover {
  background: #667eea;
  border-color: #667eea;
  color: white;
}
.btn-download[data-v-fdb82f91]:hover {
  background: #28a745;
  border-color: #28a745;
  color: white;
}

/* Receipt button - purple/indigo theme */
.btn-receipt[data-v-fdb82f91]:hover {
  background: #6f42c1;
  border-color: #6f42c1;
  color: white;
}

/* Pay Now button - prominent action for unpaid invoices */
.btn-pay[data-v-fdb82f91] {
  background: #dc3545;
  border-color: #dc3545;
  color: white;
  font-weight: 500;
}
.btn-pay[data-v-fdb82f91]:hover:not(:disabled) {
  background: #c82333;
  border-color: #bd2130;
  color: white;
}
.btn-pay[data-v-fdb82f91]:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.btn-pay.is-processing[data-v-fdb82f91] {
  background: #6c757d;
  border-color: #6c757d;
  min-width: 120px;
}
.btn-pay .spinner-border-sm[data-v-fdb82f91] {
  width: 0.875rem;
  height: 0.875rem;
  border-width: 0.15em;
  margin-right: 0.35rem;
}

/* Payment Alerts */
.payment-alert[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  margin: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 0.9rem;
  animation: slideIn-fdb82f91 0.3s ease;
}
@keyframes slideIn-fdb82f91 {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.payment-alert i[data-v-fdb82f91] {
  font-size: 1.25rem;
  flex-shrink: 0;
}
.payment-alert span[data-v-fdb82f91] {
  flex: 1;
}
.payment-success[data-v-fdb82f91] {
  background: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
}
.payment-success i[data-v-fdb82f91] {
  color: #28a745;
}
.payment-error[data-v-fdb82f91] {
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  color: #721c24;
}
.payment-error i[data-v-fdb82f91] {
  color: #dc3545;
}
.alert-close[data-v-fdb82f91] {
  background: transparent;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  color: inherit;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.alert-close[data-v-fdb82f91]:hover {
  opacity: 1;
}
.btn-action[data-v-fdb82f91]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Pagination */
.pagination-bar[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem;
  border-top: 1px solid #e9ecef;
}
.btn-page[data-v-fdb82f91] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  background: white;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-page[data-v-fdb82f91]:hover:not(:disabled) {
  border-color: #667eea;
  color: #667eea;
}
.btn-page[data-v-fdb82f91]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.page-info[data-v-fdb82f91] {
  font-size: 0.9rem;
  color: #6c757d;
}

/* Footer */
.invoices-dialog-footer[data-v-fdb82f91] {
  border-top: 1px solid #e9ecef;
  padding: 0.75rem 1.25rem;
}
.footer-info[data-v-fdb82f91] {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  color: #6c757d;
}

/* Dark Mode */
.v-theme--dark .invoices-dialog[data-v-fdb82f91] {
  background: #1e1e1e;
}
.v-theme--dark .empty-state-filtered[data-v-fdb82f91] {
  background: #2d2d2d;
}
.v-theme--dark .empty-state-filtered h6[data-v-fdb82f91] {
  color: #e0e0e0;
}
.v-theme--dark .summary-bar[data-v-fdb82f91] {
  background: #2d2d2d;
  border-color: #333;
}
.v-theme--dark .filter-tabs[data-v-fdb82f91] {
  border-color: #333;
  background: #1e1e1e;
}
.v-theme--dark .filter-tab[data-v-fdb82f91] {
  background: #2d2d2d;
  border-color: #444;
  color: #aaa;
}
.v-theme--dark .filter-tab[data-v-fdb82f91]:hover {
  border-color: #667eea;
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
}
.v-theme--dark .filter-tab.active[data-v-fdb82f91] {
  background: #667eea !important;
  border-color: #667eea !important;
  color: white !important;
  font-weight: 600;
}
.v-theme--dark .invoice-row[data-v-fdb82f91] {
  border-color: #333;
}
.v-theme--dark .invoice-row[data-v-fdb82f91]:hover {
  background: #2d2d2d;
}
.v-theme--dark .invoice-number .number[data-v-fdb82f91],
.v-theme--dark .invoice-amount .amount[data-v-fdb82f91] {
  color: #e0e0e0;
}
.v-theme--dark .btn-action[data-v-fdb82f91] {
  background: #2d2d2d;
  border-color: #444;
  color: #aaa;
}
.v-theme--dark .btn-pay[data-v-fdb82f91] {
  background: #dc3545;
  border-color: #dc3545;
  color: white;
}
.v-theme--dark .btn-pay[data-v-fdb82f91]:hover:not(:disabled) {
  background: #c82333;
  border-color: #bd2130;
}
.v-theme--dark .payment-success[data-v-fdb82f91] {
  background: rgba(40, 167, 69, 0.15);
  border-color: rgba(40, 167, 69, 0.3);
  color: #81c995;
}
.v-theme--dark .payment-error[data-v-fdb82f91] {
  background: rgba(220, 53, 69, 0.15);
  border-color: rgba(220, 53, 69, 0.3);
  color: #f1aeb5;
}
.v-theme--dark .invoices-dialog-footer[data-v-fdb82f91] {
  border-color: #333;
}

/* Responsive */
@media (max-width: 600px) {
.invoice-row[data-v-fdb82f91] {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}
.invoice-main[data-v-fdb82f91] {
    flex-direction: column;
    align-items: flex-start;
}
.invoice-amount[data-v-fdb82f91] {
    align-items: flex-start;
}
.invoice-actions[data-v-fdb82f91] {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
}
.summary-bar[data-v-fdb82f91] {
    flex-wrap: wrap;
    gap: 1rem;
}
.invoice-meta[data-v-fdb82f91] {
    flex-wrap: wrap;
}
}
.screen-form[data-v-c6bc83e0] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fafafa;
  overflow: hidden;
}
.screen-form__header[data-v-c6bc83e0] {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: white;
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
  min-height: 44px;
}
.screen-form__header[data-v-c6bc83e0] > :first-child {
  justify-self: start;
}
.screen-form__header[data-v-c6bc83e0] > :last-child {
  justify-self: end;
}
.screen-form__title[data-v-c6bc83e0] {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
  color: #1a1a1a;
  text-align: center;
  grid-column: 2;
}
.screen-form__stepper[data-v-c6bc83e0] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  background: white;
}
.screen-form__stepper[data-v-c6bc83e0] .v-stepper-header {
  box-shadow: none;
  border-bottom: 1px solid #e0e0e0;
  padding: 8px 12px;
  flex-shrink: 0;
  min-height: 48px;
}
.screen-form__stepper[data-v-c6bc83e0] .v-stepper-window {
  margin: 0;
  background: #fafafa;
}
.screen-form__stepper[data-v-c6bc83e0] .v-stepper-item {
  padding: 4px 0;
  min-width: auto;
}
.screen-form__stepper[data-v-c6bc83e0] .v-stepper-item .v-stepper-item__title {
  font-size: 13px;
  font-weight: 500;
}
.screen-form__stepper[data-v-c6bc83e0] .v-stepper-item .v-stepper-item__subtitle {
  font-size: 11px;
}
.screen-form__stepper[data-v-c6bc83e0] .v-stepper-item__avatar {
  width: 28px;
  height: 28px;
  font-size: 12px;
}
.screen-form__step[data-v-c6bc83e0] {
  padding: 16px 12px;
}
.screen-form__step[data-v-c6bc83e0] .v-text-field .v-field,
.screen-form__step[data-v-c6bc83e0] .v-textarea .v-field,
.screen-form__step[data-v-c6bc83e0] .v-select .v-field {
  border-radius: 8px;
  font-size: 14px;
}
.screen-form__step[data-v-c6bc83e0] .v-text-field .v-field__input,
.screen-form__step[data-v-c6bc83e0] .v-textarea .v-field__input,
.screen-form__step[data-v-c6bc83e0] .v-select .v-field__input {
  padding: 10px 12px;
  min-height: 40px;
  font-size: 14px;
}
.screen-form__step[data-v-c6bc83e0] .v-text-field .v-field--variant-outlined .v-field__outline,
.screen-form__step[data-v-c6bc83e0] .v-textarea .v-field--variant-outlined .v-field__outline,
.screen-form__step[data-v-c6bc83e0] .v-select .v-field--variant-outlined .v-field__outline {
  --v-field-border-opacity: 0.3;
}
.screen-form__step[data-v-c6bc83e0] .v-text-field.v-input--density-compact .v-field__input,
.screen-form__step[data-v-c6bc83e0] .v-textarea.v-input--density-compact .v-field__input,
.screen-form__step[data-v-c6bc83e0] .v-select.v-input--density-compact .v-field__input {
  padding: 6px 10px;
  min-height: 36px;
}
.screen-form__step[data-v-c6bc83e0] .v-textarea .v-field__input {
  padding-top: 10px;
}
.screen-form__step[data-v-c6bc83e0] .v-label {
  font-size: 13px;
  font-weight: 500;
}
.screen-form__step[data-v-c6bc83e0] .v-switch .v-label {
  font-size: 14px;
  color: #333;
}
.screen-form__step[data-v-c6bc83e0] .v-card {
  border-radius: 8px;
}
.screen-form__step[data-v-c6bc83e0] .v-card.v-card--variant-outlined {
  border-color: #e0e0e0;
}
.screen-form__step[data-v-c6bc83e0] .v-btn {
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
}
.screen-form__step[data-v-c6bc83e0] .v-btn.v-btn--size-default {
  min-height: 36px;
}
.screen-form__step[data-v-c6bc83e0] .v-chip {
  font-size: 12px;
  height: 28px;
}
.screen-form__step[data-v-c6bc83e0] .v-alert {
  font-size: 13px;
  border-radius: 8px;
}
.screen-form__step[data-v-c6bc83e0] .v-alert.v-alert--density-compact {
  padding: 8px 12px;
}
.screen-form__step[data-v-c6bc83e0] .v-slider .v-slider-track__background,
.screen-form__step[data-v-c6bc83e0] .v-slider .v-slider-track__fill {
  height: 4px;
}
.screen-form__step[data-v-c6bc83e0] .v-slider .v-slider-thumb {
  width: 16px;
  height: 16px;
}
.advanced-section[data-v-c6bc83e0] {
  padding: 12px;
  background-color: #f5f5f5;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
}
.config-section[data-v-c6bc83e0] {
  margin-bottom: 0;
}
.config-section-label[data-v-c6bc83e0] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #424242;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.tags-section[data-v-c6bc83e0] {
  margin-top: 4px;
}
.location-section[data-v-c6bc83e0] {
  margin-top: 4px;
}
.position-section[data-v-c6bc83e0] {
  margin-top: 0;
}
.set-location-btn[data-v-c6bc83e0] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 16px;
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.24);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
}
.set-location-btn[data-v-c6bc83e0]:hover {
  border-color: rgba(0, 0, 0, 0.42);
  background: #fafafa;
  color: #333;
}
.set-location-btn[data-v-c6bc83e0]:focus {
  outline: none;
  border-color: rgb(var(--v-theme-primary));
}
.location-display[data-v-c6bc83e0] {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}
@media (max-width: 400px) {
.location-display[data-v-c6bc83e0] {
    gap: 8px;
    padding: 10px;
}
}
.location-coords[data-v-c6bc83e0] {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.coords-text[data-v-c6bc83e0] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.coords-label[data-v-c6bc83e0] {
  font-size: 11px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.coords-value[data-v-c6bc83e0] {
  font-size: 13px;
  font-family: monospace;
  color: #333;
  word-break: break-all;
  line-height: 1.3;
}
@media (max-width: 400px) {
.coords-value[data-v-c6bc83e0] {
    font-size: 11px;
}
}
.location-actions[data-v-c6bc83e0] {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.location-actions[data-v-c6bc83e0] .v-btn {
  min-width: auto;
  white-space: nowrap;
}
.automation-item[data-v-c6bc83e0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.automation-item[data-v-c6bc83e0] .v-switch {
  margin-bottom: 0;
}
.gap-2[data-v-c6bc83e0] {
  gap: 8px;
}
.gap-3[data-v-c6bc83e0] {
  gap: 12px;
}
[data-v-c6bc83e0] .v-divider {
  margin: 16px 0;
}
[data-v-c6bc83e0] .v-switch .v-selection-control__wrapper {
  margin-right: 8px;
}
[data-v-c6bc83e0] .v-card-title {
  padding: 10px 12px;
  font-weight: 600;
  font-size: 13px;
  background: #fafafa;
  border-bottom: 1px solid #e8e8e8;
}
[data-v-c6bc83e0] .v-card-text {
  padding: 12px;
}
[data-v-c6bc83e0] .v-slider .v-slider-thumb__label {
  background: rgb(var(--v-theme-primary));
  font-size: 11px;
}
[data-v-c6bc83e0] .v-icon.v-icon--size-small {
  font-size: 18px;
}
[data-v-c6bc83e0] .v-list-item {
  min-height: 40px;
}
[data-v-c6bc83e0] .v-list-item .v-list-item-title {
  font-size: 14px;
}
.text-subtitle-2[data-v-c6bc83e0] {
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  color: #333;
}
.text-body-2[data-v-c6bc83e0] {
  font-size: 13px;
  line-height: 1.5;
}
[data-v-c6bc83e0] .v-btn--variant-text.justify-space-between {
  background: #f8f8f8;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
}
[data-v-c6bc83e0] .v-btn--variant-text.justify-space-between:hover {
  background: #f0f0f0;
}.qr-dialog[data-v-321ae636] {
  border-radius: 12px;
}
.qr-code-wrapper[data-v-321ae636] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  padding: 16px;
}
.qr-code-image[data-v-321ae636] {
  width: 280px;
  height: 280px;
  object-fit: contain;
  border-radius: 8px;
}
.qr-placeholder[data-v-321ae636] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  height: 280px;
}
.url-field[data-v-321ae636] .v-field__input {
  font-size: 12px;
  font-family: monospace;
}
.setup-steps[data-v-321ae636] {
  margin-top: 8px;
}
.setup-steps[data-v-321ae636] .v-expansion-panel {
  background: #f5f5f5;
  border-radius: 8px;
}
.setup-steps[data-v-321ae636] .v-expansion-panel-title {
  min-height: 44px;
  padding: 8px 16px;
}
.setup-steps[data-v-321ae636] .v-expansion-panel-text__wrapper {
  padding: 8px 16px 16px;
}
.setup-list[data-v-321ae636] {
  margin: 0;
  padding-left: 20px;
}
.setup-list li[data-v-321ae636] {
  margin-bottom: 8px;
}
.setup-list li[data-v-321ae636]:last-child {
  margin-bottom: 0;
}.version-dialog[data-v-249ca867] {
  border-radius: 12px;
}
.version-options[data-v-249ca867] {
  display: flex;
  flex-direction: column;
}
.version-option[data-v-249ca867] {
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 8px;
}
.version-option[data-v-249ca867]:hover {
  border-color: rgb(var(--v-theme-primary));
  background: rgba(var(--v-theme-primary), 0.04);
}
.version-option.option-disabled[data-v-249ca867] {
  opacity: 0.5;
  pointer-events: none;
}
.option-icon[data-v-249ca867] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: 8px;
}
.option-title[data-v-249ca867] {
  font-weight: 600;
  font-size: 14px;
}
.option-subtitle[data-v-249ca867] {
  font-size: 12px;
}.webusb-setup[data-v-8230e230] {
  max-width: 600px;
}
.setup-instructions[data-v-8230e230] {
  padding-left: 1.5em;
  margin: 0;
}
.setup-instructions li[data-v-8230e230] {
  margin-bottom: 0.35em;
  line-height: 1.5;
}
.step-active[data-v-8230e230] {
  background: rgba(var(--v-theme-primary), 0.04);
}
.spin-animation[data-v-8230e230] {
  animation: spin-8230e230 1s linear infinite;
}
@keyframes spin-8230e230 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.gap-2[data-v-8230e230] {
  gap: 8px;
}
.gap-4[data-v-8230e230] {
  gap: 16px;
}.screen-manager[data-v-b67dfd9e] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.screen-manager__list-view[data-v-b67dfd9e] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  overflow: hidden;
}
.stats-row[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
  overflow: hidden;
}
.stat-item[data-v-b67dfd9e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 45px;
  flex-shrink: 0;
}
.stat-item .stat-value[data-v-b67dfd9e] {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
}
.stat-item .stat-label[data-v-b67dfd9e] {
  font-size: 9px;
  color: #888;
  text-transform: uppercase;
  white-space: nowrap;
}
.stat-item--success .stat-value[data-v-b67dfd9e] {
  color: #4caf50;
}
.stat-item--grey .stat-value[data-v-b67dfd9e] {
  color: #9e9e9e;
}
.stat-item--error .stat-value[data-v-b67dfd9e] {
  color: #f44336;
}
.connection-chip[data-v-b67dfd9e] {
  flex-shrink: 0;
  margin: 0 4px;
}
.search-add-row[data-v-b67dfd9e] {
  display: flex;
  gap: 8px;
  align-items: stretch;
  flex-shrink: 0;
  padding: 8px 0;
}
.search-input[data-v-b67dfd9e] {
  flex: 1;
  min-width: 0;
  width: 50%;
}
.search-input[data-v-b67dfd9e] .v-input__control {
  height: 40px;
}
.add-screen-btn[data-v-b67dfd9e] {
  flex: 1;
  min-width: 0;
  width: 50%;
  height: 40px !important;
  min-height: 40px !important;
}
.filter-btn-header[data-v-b67dfd9e] {
  flex-shrink: 0;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 8px !important;
  margin: 0 4px;
}
.bulk-actions[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 10px;
  background: rgba(var(--v-theme-primary), 0.08);
  border-radius: 6px;
  flex-shrink: 0;
}
.bulk-count[data-v-b67dfd9e] {
  font-size: 12px;
  font-weight: 500;
  color: rgb(var(--v-theme-primary));
}
.bulk-buttons[data-v-b67dfd9e] {
  display: flex;
  gap: 2px;
}
.screen-list[data-v-b67dfd9e] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 8px;
}
.empty-state[data-v-b67dfd9e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  text-align: center;
  gap: 8px;
}
.empty-title[data-v-b67dfd9e] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin: 0;
}
.empty-subtitle[data-v-b67dfd9e] {
  font-size: 12px;
  color: #888;
  margin: 0;
}
.screen-card[data-v-b67dfd9e] {
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color 0.2s;
  flex-shrink: 0;
}
.screen-card[data-v-b67dfd9e]:hover {
  border-color: #bdbdbd;
}
.screen-card--selected[data-v-b67dfd9e] {
  border-color: rgb(var(--v-theme-primary));
  background: rgba(var(--v-theme-primary), 0.02);
}
.screen-card__header[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  cursor: pointer;
}
.screen-card__details[data-v-b67dfd9e] {
  border-top: 1px solid #eee;
  padding: 12px;
  background: #fafafa;
}
.screen-checkbox[data-v-b67dfd9e] {
  flex-shrink: 0;
  margin: -4px;
}
.screen-status[data-v-b67dfd9e] {
  flex-shrink: 0;
}
.screen-icon[data-v-b67dfd9e] {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: 6px;
}
.screen-info[data-v-b67dfd9e] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.screen-name[data-v-b67dfd9e] {
  font-weight: 600;
  font-size: 13px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.screen-meta[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  font-size: 11px;
  color: #888;
  flex-wrap: wrap;
}
.meta-item[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}
.screen-actions[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.view-btn[data-v-b67dfd9e] {
  height: 26px !important;
  min-width: 0 !important;
  padding: 0 8px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
}
.expand-icon[data-v-b67dfd9e] {
  flex-shrink: 0;
  color: #bbb;
}
.detail-section[data-v-b67dfd9e] {
  margin-bottom: 12px;
}
.detail-section[data-v-b67dfd9e]:last-child {
  margin-bottom: 0;
}
.section-title[data-v-b67dfd9e] {
  font-size: 10px;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}
.detail-grid[data-v-b67dfd9e] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.detail-item[data-v-b67dfd9e] {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.detail-label[data-v-b67dfd9e] {
  font-size: 10px;
  color: #999;
  text-transform: uppercase;
}
.detail-value[data-v-b67dfd9e] {
  font-size: 12px;
  color: #333;
  word-break: break-all;
}
.registration-code[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.code-label[data-v-b67dfd9e] {
  font-size: 12px;
  color: #666;
}
.code-value[data-v-b67dfd9e] {
  font-size: 18px;
  font-weight: 700;
  color: #1976d2;
  font-family: monospace;
  letter-spacing: 2px;
}
.code-expiry[data-v-b67dfd9e] {
  font-size: 11px;
  color: #888;
}
.registration-help[data-v-b67dfd9e] {
  font-size: 11px;
  color: #666;
  margin: 0;
}
.metrics-row[data-v-b67dfd9e] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.metric-item[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #666;
  background: #f0f0f0;
  padding: 3px 8px;
  border-radius: 4px;
}
.agent-info[data-v-b67dfd9e] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.download-actions[data-v-b67dfd9e] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.setup-steps[data-v-b67dfd9e] {
  padding: 8px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e9ecef;
}
.setup-list[data-v-b67dfd9e] {
  margin: 0;
  padding-left: 16px;
}
.setup-list li[data-v-b67dfd9e] {
  margin-bottom: 2px;
  color: #666;
}
.setup-list li[data-v-b67dfd9e]:last-child {
  margin-bottom: 0;
}
.setup-list li strong[data-v-b67dfd9e] {
  color: #1976d2;
  font-family: monospace;
}
/* Dialog must sit above everything */
[data-v-dafeed70] .v-overlay__content {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
}
.remote-viewer[data-v-dafeed70] {
  display: flex;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  background: #0f172a;
  overflow: hidden;
}

/* ── Header ── */
.rv-header[data-v-dafeed70] {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 52px;
  min-height: 52px;
  padding: 0 16px;
  background: #1e293b;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}
.rv-header__left[data-v-dafeed70] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.rv-header__name[data-v-dafeed70] {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
.rv-header__status-dot[data-v-dafeed70] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.rv-header__status-label[data-v-dafeed70] {
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.rv-header__actions[data-v-dafeed70] {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  justify-content: center;
  overflow: hidden;
}
.rv-header__actions-label[data-v-dafeed70] {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-right: 6px;
  white-space: nowrap;
  flex-shrink: 0;
}
.rv-header__right[data-v-dafeed70] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

/* Quick action button success flash */
.rv-btn--success[data-v-dafeed70] {
  color: #22c55e !important;
}

/* ── Body ── */
.rv-body[data-v-dafeed70] {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: #0f172a;
}

/* ── State screens (loading / error / not-configured) ── */
.rv-state[data-v-dafeed70] {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 32px;
  text-align: center;
  z-index: 2;
}
.rv-state--overlay[data-v-dafeed70] {
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(4px);
}
.rv-state__label[data-v-dafeed70] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  max-width: 420px;
  margin: 0;
}
.rv-state__label--sm[data-v-dafeed70] {
  font-size: 12px;
}
.rv-state__label--error[data-v-dafeed70] {
  color: #fca5a5;
}
.rv-code[data-v-dafeed70] {
  font-family: monospace;
  font-size: 18px;
  font-weight: 700;
  color: #60a5fa;
  background: rgba(96, 165, 250, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
}

/* ── Iframe ── */
.rv-iframe[data-v-dafeed70] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  opacity: 0;
  transition: opacity 0.25s ease;
  z-index: 1;
}
.rv-iframe--visible[data-v-dafeed70] {
  opacity: 1;
}
/* Color preview box for color picker inputs */
.color-preview-box {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  border: 2px solid #e0e0e0;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.2s ease;
}
.color-preview-box:hover {
  border-color: #1976d2;
}
.sticky-bottom {
  position: sticky;
  bottom: 0;
  background-color: white;
  z-index: 100;
}

/* Slug suggestions dropdown styling */
.suggestions-dropdown {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  background: white;
}
.suggestion-item {
  transition: background-color 0.2s ease;
  border-bottom: 1px solid #f5f5f5;
}
.suggestion-item:last-child {
  border-bottom: none;
}
.suggestion-item:hover {
  background-color: #f8f9fa !important;
}
.suggestion-item.bg-light {
  background-color: #e3f2fd !important;
}
.h-50px {
  height: 50px;
}
input[type="time"]::-webkit-calendar-picker-indicator {
  display: none;
}

/* Add padding for form since we removed the top bar */
form {
  padding-top: 12px;
}

/* Improve title styling */
h5.text-center {
  margin-bottom: 24px;
  font-weight: 600;
}
.theme-blue-bg {
  background-color: #2791cc;
  color: white;
  border: none;
  cursor: pointer;
}
.theme-blue-bg:hover {
  background-color: #0069d9;
}
.theme-green-bg {
  background-color: #28a745;
  color: white;
  border: none;
  cursor: pointer;
}
.theme-green-bg:hover {
  background-color: #218838;
}
.category-item {
  transition: background-color 0.2s;
}
.category-item:hover {
  background-color: #f9f9f9 !important;
}
.description-field {
  min-height: 56px;
}

/* Map style select styling */
.map-style-select :deep(.v-field__append-inner) {
  padding-top: 6px;
}
.map-style-item {
  display: flex;
  align-items: center;
  padding: 0;
}
.map-style-image {
  width: 80px;
  height: 60px;
  margin-right: 12px;
  overflow: hidden;
}
.map-style-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Beacon row styling */
.beacon-item .btn {
  transition: background-color 0.2s;
}
.beacon-item .btn:hover {
  background-color: #f8f9fa;
}
.beacon-item .text-small {
  font-size: 0.75rem;
  font-weight: 500;
}

/* Mobile form adjustments */
@media only screen and (max-width: 767px) {
.row .col-6 {
    padding-left: 8px;
    padding-right: 8px;
}
.v-field {
    font-size: 0.9rem;
}
.v-text-field .v-field__input {
    padding-top: 4px;
    padding-bottom: 4px;
}
.v-text-field .v-field__outline {
    bottom: 0;
}

  /* Comprehensive fix for select field text in mobile view */
  /* Override the display:none rule from Sidebar.vue */
.v-select .v-field__input span,
  .v-select .v-select__selection-text,
  .v-select .v-select__selection,
  .v-select .v-select__selection > *,
  .v-select .v-field__input .v-select__selection {
    display: inline-block !important;
    color: rgba(0, 0, 0, 0.87) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

  /* Fix for Vuetify 3's text rendering in selects */
.v-select__selection-text {
    display: inline-block !important;
}

  /* Force all text to be visible in the select component */
.v-select * {
    color-scheme: normal !important;
}

  /* Ensure dropdown items are visible */
.v-list-item-title {
    display: inline-block !important;
    color: rgba(0, 0, 0, 0.87) !important;
}

  /* Target the specific select components by label */
[aria-label="Map Style"] .v-field__input *,
  [aria-label="Text on Map"] .v-field__input * {
    display: inline-block !important;
    color: rgba(0, 0, 0, 0.87) !important;
}
}

/* Specific overrides for the Map Style and Text on Map dropdowns */
.map-style-select .v-select__selection,
.map-style-select .v-select__selection-text,
.labels-display-select .v-select__selection,
.labels-display-select .v-select__selection-text {
  display: inline-block !important;
  font-weight: 500 !important;
  color: rgba(0, 0, 0, 0.87) !important;
}
.section-title {
  font-size: 1rem;
  font-weight: 500;
  color: #666;
  text-align: center;
}
.section-header {
  margin-top: 1rem;
}
.public-holidays-section-title {
  text-align: left;
  padding-left: 0;
  margin-left: 0;
  flex: 1;
  min-width: 0;
}

/* Compact + next to section title */
.public-holidays-header-add-btn {
  width: 2.25rem;
  height: 2.25rem;
  min-width: 2.25rem;
  max-width: 2.25rem;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  line-height: 1;
  flex-shrink: 0;
}

/* Identical box for edit + delete (outline variants can differ visually without this) */
.public-holiday-action-btn {
  width: 2rem !important;
  height: 2rem !important;
  min-width: 2rem !important;
  max-width: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box !important;
  line-height: 1;
  overflow: hidden;
  border-width: 1px !important;
}
.public-holiday-action-btn svg.svg-inline--fa {
  width: 0.875rem !important;
  height: 0.875rem !important;
  max-width: 0.875rem !important;
  max-height: 0.875rem !important;
  display: block;
  margin: 0 auto;
  vertical-align: middle;
}
.public-holiday-row-sep {
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 0.75rem;
  margin-bottom: 0.75rem;
}

/* Public holiday date badges: readable chips + tappable remove */
.public-holiday-date-badges {
  align-items: flex-start;
}
.public-holiday-date-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.4rem 0.28rem 0.5rem !important;
  font-size: 0.8125rem !important;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.public-holiday-date-badge-label {
  user-select: none;
}
.public-holiday-date-badge--editing {
  border-color: #0d6efd !important;
  box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.25);
}
.public-holiday-date-badge-close {
  flex-shrink: 0;
  width: 0.85rem !important;
  height: 0.85rem !important;
  min-width: 1.75rem !important;
  min-height: 1.75rem !important;
  padding: 0.35rem !important;
  margin: -0.2rem -0.2rem -0.2rem 0 !important;
  box-sizing: content-box !important;
  opacity: 1 !important;
  background-size: 0.7rem 0.7rem !important;
  background-position: center !important;
}
.public-holiday-date-field-row--editing .form-control {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.1rem rgba(13, 110, 253, 0.2);
}
.public-holiday-date-add-btn {
  min-height: 2.25rem;
  white-space: nowrap;
}
.border-bottom {
  border-bottom: 1px solid #dee2e6;
}
.pending-tag {
  background-color: #ffeeba;
  color: #856404;
  font-size: 0.875rem;
}
.delete-item-btn {
  background-color: #c91e1e;
  color: white;
  border: none;
  transition: background-color 0.2s ease;
}
.delete-item-btn:hover {
  background-color: #5a6268;
}
.user-remove-btn {
  background: none;
  border: none;
  color: #dc3545; /* Bootstrap danger color */
  padding: 0.25rem 0.5rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease-in-out;
}
.user-remove-btn:hover {
  opacity: 1;
}
.beacon-item {
  transition: background-color 0.2s;
}
.beacon-item:hover {
  background-color: #f9f9f9 !important;
}
.text-small {
  font-size: 0.875rem;
}
.fw-medium {
  font-weight: 500;
}

/* Editor Navigation - Tab + Pills Pattern */
.editor-navigation {
  margin-top: 0.25rem;
  container-type: inline-size;
  container-name: editor-nav;
}

/* Primary Tabs */
.primary-tabs {
  display: flex;
  gap: 2px;
  padding: 3px;
  background: #f1f5f9;
  border-radius: 8px;
  margin-bottom: 8px;
}
.primary-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 6px;
  border: none;
  background: transparent;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 500;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 0;
  overflow: hidden;
}
.primary-tab i {
  font-size: 1rem;
  flex-shrink: 0;
}
.primary-tab span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.primary-tab:hover {
  background: rgba(255, 255, 255, 0.6);
  color: #475569;
}
.primary-tab.active {
  background: white;
  color: #2791cc;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.primary-tab.active i {
  color: #2791cc;
}

/* Hide icons when container is narrow (< 420px) - before text gets cut */
@container editor-nav (max-width: 420px) {
.primary-tab i {
    display: none;
}
.primary-tab {
    padding: 6px 8px;
}
}

/* Fallback for browsers without container queries - use media query */
@media (max-width: 480px) {
.primary-tab i {
    display: none;
}
.primary-tab {
    padding: 6px 8px;
}
}

/* Secondary Pills - Scrollable */
.secondary-pills {
  display: flex;
  gap: 8px;
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  margin: 0 -2px;
  padding-left: 2px;
  padding-right: 2px;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.secondary-pills::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Opera */
}
.pill-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border: 1px solid #e2e8f0;
  background: white;
  border-radius: 18px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.pill-btn i {
  font-size: 0.9rem;
  flex-shrink: 0;
}
.pill-btn:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #475569;
}
.pill-btn.active {
  background: #2791cc !important;
  border-color: #2791cc !important;
  color: white !important;
  box-shadow: 0 2px 4px rgba(39, 145, 204, 0.3);
}
.pill-btn.active i {
  color: white !important;
}
.pill-btn.active span {
  color: white !important;
}

/* Legacy support - keep for other btn-groups in the component */
.section-toggle-group {
  display: inline-flex;
  flex-wrap: nowrap;
  max-width: 100%;
  width: auto;
  justify-content: center;
}
.section-toggle-group .btn {
  flex: 0 1 auto;
  min-width: fit-content;
  white-space: nowrap;
}
.btn-group {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}

/* Prevent horizontal overflow */
.font-poppins {
  overflow-x: hidden;
  max-width: 100%;
}
.btn-group .btn {
  flex: 1;
  border-radius: 0;
  border: 1px solid #dee2e6;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.2s ease;
  background-color: white;
  color: #6c757d;
}
.btn-group .btn:first-child {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.btn-group .btn:last-child {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}
.btn-group .btn:not(:last-child) {
  border-right: none;
}
.btn-group .btn:hover {
  background-color: #f8f9fa;
  border-color: #adb5bd;
}
.btn-group .btn.btn-primary,
.btn-group .btn.btn-primary:disabled,
.btn-group .btn.btn-primary[disabled] {
  background-color: #2791cc !important;
  border-color: #2791cc !important;
  color: white !important;
  opacity: 1;
}
.btn-group .btn.btn-primary:hover {
  background-color: #0069d9;
  border-color: #0069d9;
}
.btn-group .btn.btn-outline-primary {
  background-color: white;
  color: #6c757d;
  border-color: #dee2e6;
}
.btn-group .btn.btn-outline-primary:hover {
  background-color: #f8f9fa;
  color: #495057;
}

/* Font dropdown styling */
.font-dropdown {
  border: 1px solid #dee2e6 !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}
.font-option {
  transition: background-color 0.2s ease;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.font-option:hover {
  background-color: #f8f9fa !important;
}
.font-option.bg-primary {
  background-color: #2791cc !important;
}
.font-option.bg-primary:hover {
  background-color: #0069d9 !important;
}
.cursor-pointer {
  cursor: pointer;
}

/* Font preview styling */
.font-preview {
  font-size: 14px;
  font-weight: bold;
  color: #2791cc;
  background-color: #f8f9fa;
  border-radius: 4px;
  padding: 2px 6px;
  border: 1px solid #dee2e6;
}

/* Color preview styling */
.color-preview {
  width: 30px;
  height: 30px;
  border-radius: 4px;
  border: 2px solid #dee2e6;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.color-preview:hover {
  border-color: #2791cc;
}
.color-item {
  margin-bottom: 0.5rem;
}
.color-item .form-label {
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* Ensure font options are clickable on mobile */
@media (max-width: 768px) {
.font-option {
    min-height: 44px; /* Minimum touch target size */
    padding: 12px 16px !important;
}
}

/* Opening Hours Styles */
.category-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
}
.category-tab {
  padding: 6px 12px;
  border: 1px solid #dee2e6;
  border-radius: 16px;
  background: white;
  color: #6c757d;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.category-tab:hover {
  border-color: #007bff;
  color: #007bff;
}
.category-tab.active {
  background: #007bff;
  color: #000000;
  border-color: #007bff;
}
.no-categories-message {
  color: #6c757d;
  font-size: 0.875rem;
  font-style: italic;
  padding: 8px 12px;
  text-align: center;
  width: 100%;
  border: 1px dashed #dee2e6;
  border-radius: 16px;
  background: #f8f9fa;
}
.category-action-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #dee2e6 !important;
  background: white !important;
  color: #6c757d !important;
  transition: all 0.2s ease;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
}
.category-action-btn:hover {
  border-color: #007bff !important;
  color: #007bff !important;
  background: #f8f9fa !important;
}
.category-action-btn.btn-outline-danger:hover {
  border-color: #dc3545 !important;
  color: #dc3545 !important;
  background: #f8f9fa !important;
}
.category-action-btn.btn-sm {
  padding: 0 !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
.category-action-btn.btn-outline-danger {
  border-color: #dee2e6 !important;
  color: #6c757d !important;
  background: white !important;
}
.category-action-btn i {
  font-size: 0.875rem;
}
.category-title-field {
  flex: 1;
  max-width: 300px;
}
.category-title-field .form-control {
  font-size: 0.875rem;
  padding: 8px 12px;
  border-radius: 6px;
}
.days-hours-editor {
  border-top: 1px solid #dee2e6;
  padding-top: 12px;
  overflow-x: auto;
  width: 100%;
}
.day-row {
  display: flex;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid #f8f9fa;
  min-width: 0;
  flex-wrap: nowrap;
}
.day-row:last-child {
  border-bottom: none;
}
.day-label {
  flex: 0 0 70px;
  padding-right: 12px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
}
.day-toggle {
  flex: 0 0 80px;
  display: flex;
  justify-content: center;
  min-width: 80px;
}
.day-times {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
}
.day-times .d-flex {
  width: 100%;
  gap: 6px;
}
.day-times .form-control {
  flex: 1;
  min-width: 80px;
  max-width: none;
  font-size: 0.875rem;
  padding: 6px 8px;
}
.day-times .px-2 {
  flex-shrink: 0;
}
.day-toggle .form-check-input {
  width: 3rem;
  height: 1.5rem;
  margin: 0;
}

/* Sidebar field active state styling */
.sidebar-field-active :deep(.v-field__outline__start),
.sidebar-field-active :deep(.v-field__outline__notch),
.sidebar-field-active :deep(.v-field__outline__end) {
  border-color: #28a745 !important;
  border-width: 2px !important;
}
.sidebar-field-active :deep(.v-field__outline__notch)::before,
.sidebar-field-active :deep(.v-field__outline__notch)::after {
  border-color: #28a745 !important;
  border-width: 2px !important;
}
.sidebar-field-active :deep(.v-label) {
  color: #28a745 !important;
  font-weight: 600 !important;
}
.sidebar-field-active :deep(.v-field__input) {
  font-weight: 600 !important;
}

/* Ensure the green border shows on focus as well */
.sidebar-field-active :deep(.v-field--focused .v-field__outline__start),
.sidebar-field-active :deep(.v-field--focused .v-field__outline__notch),
.sidebar-field-active :deep(.v-field--focused .v-field__outline__end) {
  border-color: #28a745 !important;
  border-width: 2px !important;
}

/* Category toggle switches styling */
.category-item .form-check-input {
  cursor: pointer;
  transition: all 0.2s ease;
}
.category-item .form-check-input:checked {
  background-color: #2791cc;
  border-color: #2791cc;
}
.category-item .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(39, 145, 204, 0.25);
}
.category-item .form-check-label {
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: 500;
  user-select: none;
}

/* Category item layout improvements */
.category-item {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.category-item .ms-auto {
  margin-right: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
}

/* Remove padding from action buttons container */
.category-item .ms-auto {
  padding: 0 !important;
}

/* Ensure action buttons are positioned at the very right */
.category-item .ms-auto {
  position: relative;
  right: 0;
}

/* Ensure proper spacing for toggle switches */
.category-item .d-flex.flex-column {
  min-height: 50px;
  justify-content: center;
}

/* Toggle container spacing */
.category-item .d-flex.align-items-center {
  gap: 12px;
}

/* Opening Hours Icon Uploader Styles */
.category-icon-uploader {
  display: flex;
  align-items: center;
}
.category-icon-uploader .icon-uploader {
  border-radius: 4px;
  background-color: #f8f9fa;
  border: 2px dashed #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}
.category-icon-uploader .icon-uploader:hover {
  border-color: #0c8ce9;
  background-color: #f0f7fd;
}
.category-icon-uploader .icon-uploader.drag-active {
  border-color: #0c8ce9;
  border-width: 3px;
  background-color: #e6f7ff;
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(12, 140, 233, 0.3);
}
.category-icon-uploader .icon-placeholder {
  color: #0c8ce9;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.category-icon-uploader .icon-label {
  font-size: 8px;
  font-weight: 500;
  margin-top: 1px;
  line-height: 1;
}
.category-icon-uploader .icon-preview {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}
.upload-icon {
  font-size: 20px;
  margin-bottom: 4px;
}

/* ============================================ */
/* BILLING SECTION STYLES */
/* ============================================ */
.billing-content {
  padding: 5px 0;
}

/* ===================================== */
/* NEW INVOICE-STYLE BILLING LAYOUT */
/* ===================================== */
.billing-section {
  padding: 0;
  animation: fadeInUp 0.3s ease-out;
}
@keyframes fadeInUp {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.billing-invoice-layout {
  max-width: 100%;
  padding: 0;
}

/* ===================================== */
/* LOADING STATE - Skeleton Loader */
/* ===================================== */
.billing-loading-state {
  padding: 0.5rem 0;
}
.skeleton-hero {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: 0.75rem;
}
.skeleton-badge {
  width: 100px;
  height: 32px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 16px;
}
.skeleton-badge-sm {
  width: 70px;
}
.skeleton-button {
  width: 90px;
  height: 36px;
  background: linear-gradient(90deg, #e8f0fe 25%, #d4e4fc 50%, #e8f0fe 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
  margin-left: auto;
}
.skeleton-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 1.25rem;
  margin-bottom: 0.75rem;
}
.skeleton-card-sm {
  padding: 1rem;
}
.skeleton-line {
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}
.skeleton-line:last-child {
  margin-bottom: 0;
}
.skeleton-line-lg {
  width: 80%;
  height: 20px;
}
.skeleton-line-md {
  width: 60%;
}
.skeleton-line-sm {
  width: 40%;
}
.skeleton-text {
  font-size: 0.85rem;
}
@keyframes shimmer {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}

/* ===================================== */
/* ERROR STATE - Enhanced */
/* ===================================== */
.billing-error-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1.5rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.billing-error-state .error-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fee2e2;
  border-radius: 50%;
  margin-bottom: 1rem;
}
.billing-error-state .error-icon i {
  font-size: 2rem;
  color: #dc3545;
}
.billing-error-state .error-content h6 {
  margin: 0 0 0.5rem;
  font-weight: 600;
  color: #333;
}
.billing-error-state .error-content p {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  color: #6c757d;
}

/* Test Mode Banner (compact) */
.test-mode-banner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #fff3cd;
  color: #856404;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.8rem;
  margin-bottom: 1rem;
}
.test-mode-banner code {
  background: rgba(0, 0, 0, 0.1);
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  font-size: 0.75rem;
}

/* Custom Quote Notice */
.custom-quote-notice {
  display: flex;
  gap: 1rem;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.custom-quote-notice .notice-icon {
  font-size: 2rem;
  color: #856404;
}
.custom-quote-notice .notice-content {
  flex: 1;
}
.custom-quote-notice .notice-content p {
  margin-bottom: 0.5rem;
  color: #856404;
}

/* Status Header */
.billing-status-header {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  margin-bottom: 0.75rem;
  margin-top: 0;
}
.billing-status-header .status-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.billing-status-header .status-label {
  font-size: 0.85rem;
  color: #6c757d;
  font-weight: 500;
}
.billing-status-header .status-value {
  font-size: 0.95rem;
  font-weight: 700;
}
.billing-status-header .status-value-secondary {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
}
.billing-status-header .billing-owner-info {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #495057;
}
.billing-status-header .billing-owner-info i {
  font-size: 1rem;
  color: #667eea;
}
.billing-status-header .status-value.status-public,
.billing-status-header .status-value.status-active {
  color: #28a745;
}
.billing-status-header .status-value.status-private {
  color: #6c757d;
}
.billing-status-header .status-value.status-paused {
  color: #ffc107;
}

/* ===================================== */
/* REDESIGNED BILLING SECTION - 2024 */
/* ===================================== */

/* Status Bar */
.billing-status-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.45rem 0.75rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  margin-bottom: 0.75rem;
  gap: 0.5rem;
  min-width: 0;
  flex-wrap: nowrap;
  container-type: inline-size;
  container-name: billing-bar;
}
.status-badges {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
}
.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.28rem 0.55rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.badge-pill i {
  font-size: 0.8rem;
}
.badge-pill.badge-pro {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}
.badge-pill.badge-free {
  background: #f0f0f0;
  color: #6c757d;
}

/* Visibility toggle: Private | Public segmented control (billing header only) */
.billing-status-bar .visibility-toggle {
  display: flex;
  align-items: stretch;
  background: #f1f5f9;
  border-radius: 20px;
  padding: 3px;
  gap: 0;
  flex: 0 1 auto;
  min-width: 0;
}
.billing-status-bar .visibility-toggle.toggle-loading {
  opacity: 0.7;
  pointer-events: none;
}
.billing-status-bar .visibility-option {
  display: inline-flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 0.25rem;
  padding: 0.28rem 0.6rem !important;
  border: 1.5px solid transparent !important;
  border-radius: 16px !important;
  font-size: 0.75rem !important;
  font-weight: 600;
  color: #64748b !important;
  background: transparent !important;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
  line-height: 1;
  box-sizing: border-box;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}
.billing-status-bar .visibility-option i {
  font-size: 0.8rem;
}

/* Active selected state must remain fully opaque even though the button is :disabled */
.billing-status-bar .visibility-option:disabled {
  cursor: default;
  opacity: 1 !important;
  transform: none !important;
}

/* Suppress the ::before dot injected by the broader .visibility-option.active rule */
.billing-status-bar .visibility-option.active::before {
  display: none !important;
}
.billing-status-bar .visibility-option:not(.active):not(:disabled):hover {
  background: #e2e8f0;
  color: #334155;
}
.billing-status-bar .visibility-option.option-private.active {
  background: white !important;
  color: #1e293b !important;
  border-color: #1e293b !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}
.billing-status-bar .visibility-option.option-public.active {
  background: #16a34a !important;
  color: white !important;
  border-color: #16a34a !important;
  box-shadow: 0 1px 3px rgba(22, 163, 74, 0.25) !important;
}
.billing-status-bar .status-action {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 1 auto;
  min-width: 0;
}

/* Scale all three elements down proportionally when the bar is too narrow */
@container billing-bar (max-width: 290px) {
.badge-pill {
    font-size: 0.68rem;
    padding: 0.22rem 0.4rem;
    gap: 0.2rem;
}
.badge-pill i {
    font-size: 0.72rem;
}
.billing-status-bar .visibility-option {
    font-size: 0.68rem;
    padding: 0.22rem 0.45rem;
    gap: 0.2rem;
}
.billing-status-bar .visibility-option i {
    font-size: 0.72rem;
}
.btn-status-action {
    font-size: 0.68rem;
    padding: 0.25rem 0.45rem;
    gap: 0.2rem;
}
.live-indicator {
    font-size: 0.68rem;
    gap: 0.3rem;
}
}
.btn-status-action {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border: none;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.btn-status-action i {
  font-size: 1rem;
}
.btn-upgrade-action {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  color: white;
  box-shadow: 0 2px 6px rgba(40, 167, 69, 0.3);
}
.btn-upgrade-action:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.4);
}
.btn-golive-action {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
}
.btn-golive-action:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.btn-golive-free-action {
  background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);
  color: white;
  box-shadow: 0 2px 6px rgba(14, 165, 233, 0.3);
}
.btn-golive-free-action:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.4);
}


/* Free session usage bar */
.free-session-usage-bar {
  margin-bottom: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.free-session-usage-bar.usage-bar-warning {
  background: #fffbeb;
  border-color: #fbbf24;
}
.free-session-usage-bar.usage-bar-limit {
  background: #fff1f2;
  border-color: #f87171;
}
.usage-bar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.usage-bar-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.usage-bar-count {
  font-size: 0.85rem;
  font-weight: 700;
  color: #334155;
}
.usage-progress-track {
  height: 6px;
  background: #e2e8f0;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.usage-progress-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #22c55e 0%, #86efac 100%);
  transition: width 0.3s ease;
}
.usage-bar-warning .usage-progress-fill {
  background: linear-gradient(90deg, #f59e0b 0%, #fcd34d 100%);
}
.usage-bar-limit .usage-progress-fill {
  background: linear-gradient(90deg, #ef4444 0%, #f87171 100%);
}
.usage-bar-note {
  font-size: 0.78rem;
  color: #94a3b8;
  margin: 0;
}
.usage-bar-note a {
  color: #4f46e5;
  font-weight: 600;
  text-decoration: none;
}
.usage-bar-note a:hover {
  text-decoration: underline;
}
.usage-note-warning {
  color: #92400e;
}
.usage-note-limit {
  color: #b91c1c;
}
.btn-pause-action {
  background: transparent;
  color: #64748b;
  border: 1.5px solid #cbd5e1;
}
.btn-pause-action:hover:not(:disabled) {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #334155;
}
.section-note-upgrade {
  color: #4f46e5;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem;
  background: #d4edda;
  border-radius: 8px;
  color: #155724;
  font-weight: 600;
  font-size: 0.85rem;
}
.live-indicator .live-dot {
  width: 8px;
  height: 8px;
  background: #28a745;
  border-radius: 50%;
  animation: pulse 2s infinite;
}

/* Alert Banners */
.alert-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
.alert-banner i {
  font-size: 1.25rem;
  flex-shrink: 0;
}
.alert-content {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1;
}
.alert-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.alert-text strong {
  font-size: 0.9rem;
}
.alert-text span {
  font-size: 0.8rem;
  opacity: 0.85;
}
.alert-info {
  background: #cce5ff;
  color: #004085;
  border: 1px solid #b8daff;
}
.alert-danger {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.alert-warning {
  background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
  color: #856404;
  border: 1px solid #ffc107;
}
.btn-alert-action {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.4rem 0.75rem;
  border: none;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  background: white;
  color: inherit;
  transition: all 0.2s ease;
}
.btn-alert-action:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.btn-warning-action {
  background: #ffc107;
  color: #856404;
}

/* Subscription Info Bar */
.subscription-info-bar {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #f0f2f5 100%);
  border-radius: 10px;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
}
.sub-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.sub-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6c757d;
  font-weight: 600;
}
.sub-value {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
}

/* Pricing Card */
.pricing-card {
  background: white;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  margin-bottom: 1rem;
  border: 1px solid #e9ecef;
}
.pricing-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.pricing-header.header-pro {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}
.pricing-header-left {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.pricing-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
}
.pricing-title i {
  font-size: 1.1rem;
}
.pricing-subtitle {
  font-size: 0.8rem;
  opacity: 0.8;
}
.pricing-header-right {
  text-align: right;
}
.pricing-amount {
  font-size: 1.5rem;
  font-weight: 700;
}
.pricing-amount-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
}
.pricing-original {
  font-size: 0.9rem;
  text-decoration: line-through;
  opacity: 0.6;
  font-weight: 500;
}
.pricing-amount.promo-price {
  color: #4caf50;
}
.pricing-header.header-pro .pricing-amount.promo-price {
  color: #a5f3a5;
}
.pricing-period {
  font-size: 0.85rem;
  opacity: 0.8;
}

/* Pricing Details */
.pricing-details {
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #f0f0f0;
}
.detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.35rem 0;
}
.detail-row:not(:last-child) {
  border-bottom: 1px solid #f8f8f8;
}
.detail-label {
  font-size: 0.875rem;
  color: #495057;
}
.detail-count {
  font-size: 0.75rem;
  color: #6c757d;
  margin-left: 0.25rem;
}
.detail-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #333;
}
.detail-value.value-included {
  color: #28a745;
}

/* Add-ons Section */
.addons-section {
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #f0f0f0;
}
.section-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #667eea;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.section-note {
  font-weight: 400;
  color: #6c757d;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.7rem;
}
.addon-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0;
  transition: all 0.2s ease;
}
.addon-row.addon-disabled {
  opacity: 0.6;
}
.addon-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #333;
}
.addon-info i {
  color: #667eea;
  font-size: 1rem;
}
.addon-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.addon-price {
  font-size: 0.85rem;
  font-weight: 600;
  color: #667eea;
  min-width: 65px;
  text-align: right;
}

/* Promo Section */
.promo-section {
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #f0f0f0;
}
.promo-applied {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0.75rem;
  background: rgba(40, 167, 69, 0.08);
  border-radius: 8px;
  border-left: 3px solid #28a745;
}
.promo-tag {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #155724;
}
.promo-tag i {
  color: #28a745;
}
.promo-remove {
  background: none;
  border: none;
  padding: 0.2rem;
  cursor: pointer;
  color: #6c757d;
  transition: color 0.2s ease;
}
.promo-remove:hover {
  color: #dc3545;
}
.promo-discount {
  font-size: 0.9rem;
  font-weight: 700;
  color: #28a745;
}
.promo-input-row {
  display: flex;
  align-items: center;
}
.promo-field {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #f8f9fa;
  border: 1.5px solid #e9ecef;
  border-radius: 8px;
  padding: 0.35rem 0.65rem;
  transition: all 0.2s ease;
  max-width: 220px;
}
.promo-field:focus-within,
.promo-field.has-value {
  border-color: #667eea;
  background: white;
}
.promo-field i {
  color: #adb5bd;
  font-size: 1rem;
}
.promo-field:focus-within i,
.promo-field.has-value i {
  color: #667eea;
}
.promo-field input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #333;
  min-width: 80px;
}
.promo-field input:focus {
  outline: none;
}
.promo-field input::placeholder {
  color: #adb5bd;
  font-weight: 500;
  letter-spacing: 0;
}
.promo-submit {
  padding: 0.3rem 0.6rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 5px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.promo-submit:hover:not(:disabled) {
  transform: scale(1.02);
}
.promo-submit:disabled {
  opacity: 0.7;
}
.promo-feedback {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 500;
}
.promo-feedback.feedback-success {
  background: rgba(40, 167, 69, 0.1);
  color: #155724;
}
.promo-feedback.feedback-error {
  background: rgba(220, 53, 69, 0.1);
  color: #721c24;
}

/* Pricing Footer */
.pricing-footer {
  padding: 1rem 1.25rem;
  background: #f8f9fa;
}

/* Cycle Switch Row (for Pro users) */
.cycle-switch-row {
  margin-bottom: 0.75rem;
}
.cycle-switch {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  border-radius: 8px;
  border: 1px dashed;
}
.upgrade-switch {
  background: rgba(102, 126, 234, 0.06);
  border-color: rgba(102, 126, 234, 0.3);
}
.downgrade-switch {
  background: rgba(108, 117, 125, 0.06);
  border-color: rgba(108, 117, 125, 0.3);
}
.switch-info {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.switch-info > i {
  font-size: 1.25rem;
  color: #667eea;
}
.downgrade-switch .switch-info > i {
  color: #6c757d;
}
.switch-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.switch-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #333;
}
.switch-savings {
  font-size: 0.75rem;
  color: #28a745;
  font-weight: 500;
}
.switch-note {
  font-size: 0.7rem;
  color: #6c757d;
  font-style: italic;
}
.btn-switch {
  padding: 0.4rem 0.85rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid #667eea;
  background: white;
  color: #667eea;
}
.btn-switch:hover:not(:disabled) {
  background: #667eea;
  color: white;
}
.btn-switch-muted {
  border-color: #adb5bd;
  color: #6c757d;
}
.btn-switch-muted:hover:not(:disabled) {
  background: #6c757d;
  color: white;
}

/* Cycle Selector (for Free users) */
.cycle-selector {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.25rem;
  background: #e9ecef;
  border-radius: 10px;
  margin-bottom: 0.75rem;
}
.cycle-option {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-size: 0.9rem;
  font-weight: 600;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
}
.cycle-option.active {
  background: white;
  color: #333;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.cycle-badge {
  padding: 0.15rem 0.4rem;
  background: #28a745;
  color: white;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 700;
}

/* Total Row */
.pricing-footer .total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
}
.pricing-footer .total-label {
  font-size: 0.95rem;
  color: #495057;
  font-weight: 500;
}
.pricing-footer .total-amount {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
}

/* Tax Row */
.pricing-footer .tax-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0;
  border-top: 1px dashed #e0e0e0;
  margin-top: 0.25rem;
}
.pricing-footer .tax-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: #6c757d;
}
.pricing-footer .tax-label i {
  font-size: 0.95rem;
}
.pricing-footer .tax-amount {
  font-size: 0.95rem;
  font-weight: 600;
  color: #6c757d;
}

/* Grand Total Row (with tax) */
.pricing-footer .grand-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 0;
  margin-top: 0.25rem;
  border-top: 2px solid #667eea;
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.05) 0%,
    rgba(118, 75, 162, 0.05) 100%
  );
  margin-left: -1.25rem;
  margin-right: -1.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.pricing-footer .grand-total-label {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}
.pricing-footer .grand-total-amount {
  font-size: 1.6rem;
  font-weight: 800;
  color: #667eea;
}

/* Reverse Charge Notice */
.pricing-footer .reverse-charge-notice {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.6rem;
  margin-top: 0.5rem;
  background: #e3f2fd;
  border-radius: 6px;
  font-size: 0.8rem;
  color: #1565c0;
}

/* Tax TBD Notice (for users without billing setup) */
.pricing-footer .tax-tbd-notice {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.6rem;
  margin-top: 0.5rem;
  background: #fff8e1;
  border-radius: 6px;
  font-size: 0.8rem;
  color: #f57c00;
}
.pricing-footer .tax-tbd-notice i {
  font-size: 0.95rem;
}
.pricing-footer .reverse-charge-notice i {
  font-size: 0.95rem;
}
.pricing-footer .total-with-promo .original-price {
  font-size: 0.9rem;
  color: #6c757d;
  text-decoration: line-through;
  margin-right: 0.5rem;
  font-weight: 400;
}

/* Savings Badge */
.savings-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 0.75rem;
  background: rgba(40, 167, 69, 0.1);
  border-radius: 6px;
  color: #155724;
  font-size: 0.8rem;
  font-weight: 500;
  margin-top: 0.5rem;
}
.savings-badge i {
  font-size: 1rem;
}
.promo-savings-badge {
  background: rgba(40, 167, 69, 0.15);
}
.next-payment {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #dee2e6;
  font-size: 0.85rem;
  color: #6c757d;
}
.next-payment i {
  color: #667eea;
}

/* Payment Section */
.payment-section {
  margin-bottom: 1rem;
  position: relative;
}
.payment-section.is-loading {
  opacity: 0.7;
  pointer-events: none;
}
.payment-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  color: #6c757d;
  font-size: 0.875rem;
}
.payment-loading-overlay {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}
.payment-empty {
  text-align: center;
}
.btn-add-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px dashed #667eea;
  border-radius: 10px;
  background: rgba(102, 126, 234, 0.04);
  color: #667eea;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-add-card:hover:not(:disabled) {
  background: rgba(102, 126, 234, 0.1);
  border-style: solid;
}
.payment-hint {
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: #6c757d;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.payment-cards {
  background: #f8f9fa;
  border-radius: 10px;
  border: 1px solid #e9ecef;
  overflow: hidden;
}
.card-single {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
}
.card-info-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.card-info-row > i {
  font-size: 1.25rem;
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.35rem;
  border-radius: 6px;
}
.card-number {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  font-family: "SF Mono", "Menlo", monospace;
  letter-spacing: 0.5px;
}
.card-badge {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.2rem 0.45rem;
  background: #667eea;
  color: white;
  border-radius: 4px;
  font-weight: 600;
}
.card-edit-btn {
  background: none;
  border: none;
  color: #667eea;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
}
.card-edit-btn:hover {
  text-decoration: underline;
}
.cards-expanded {
  background: white;
}
.cards-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 1rem;
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border-bottom: 1px solid #e0e8ff;
}
.btn-add-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: none;
  border: none;
  color: #667eea;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.btn-add-link:hover {
  background: rgba(102, 126, 234, 0.1);
}
.btn-done {
  padding: 0.35rem 0.75rem;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
}
.cards-list {
  max-height: 200px;
  overflow-y: auto;
}
.card-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.2s ease;
}
.card-item:hover {
  background: #f8faff;
}
.card-item.is-default {
  background: rgba(102, 126, 234, 0.04);
  border-left: 3px solid #667eea;
}
.card-item:last-child {
  border-bottom: none;
}
.btn-make-default {
  padding: 0.2rem 0.5rem;
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  font-size: 0.7rem;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-make-default:hover {
  border-color: #667eea;
  color: #667eea;
}
.card-actions {
  display: flex;
  gap: 0.35rem;
}
.card-actions .btn-icon {
  padding: 0.3rem;
  background: transparent;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
}
.card-actions .btn-icon:hover {
  background: #f8f9fa;
  color: #495057;
}
.card-actions .btn-icon i {
  font-size: 0.9rem;
}
.card-actions .btn-icon-danger:hover {
  background: #fff5f5;
  color: #dc3545;
  border-color: #dc3545;
}

/* CTA Section */
.cta-section {
  margin-bottom: 1rem;
}
.btn-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.5rem;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
}
.btn-cta i {
  font-size: 1.2rem;
}
.btn-cta-upgrade {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.35);
}
.btn-cta-upgrade:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.45);
}
.btn-cta-keep {
  background: linear-gradient(135deg, #ffc107 0%, #ffca2c 100%);
  color: #664d00;
  box-shadow: 0 4px 12px rgba(255, 193, 7, 0.35);
}
.btn-cta-keep:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 193, 7, 0.45);
}
.btn-cta:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* Visibility Section */
.visibility-section {
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 12px;
  margin-bottom: 1rem;
}
.visibility-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.75rem;
}
.visibility-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
}
.visibility-subtitle {
  font-size: 0.75rem;
  color: #6c757d;
}
.visibility-options {
  display: flex;
  gap: 0.5rem;
}
.visibility-btn {
  flex: 1;
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.75rem;
  background: white;
  border: 2px solid #e9ecef;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
}
.visibility-btn i {
  font-size: 1.25rem;
  color: #6c757d;
  margin-top: 0.1rem;
}
.visibility-btn-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.visibility-btn-text span {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
}
.visibility-btn-text small {
  font-size: 0.7rem;
  color: #6c757d;
}
.visibility-btn.active {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.04);
}
.visibility-btn.active i {
  color: #667eea;
}
.visibility-btn:hover:not(.active):not(:disabled) {
  border-color: #adb5bd;
}
.visibility-note {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.75rem;
  font-size: 0.8rem;
  color: #6c757d;
}
.visibility-note i {
  font-size: 1rem;
}

/* Manage Section */
.manage-section {
  margin-bottom: 1rem;
}
.manage-divider {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  color: #adb5bd;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.manage-divider::before,
.manage-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e9ecef;
}
.btn-cancel-plan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  color: #6c757d;
  font-size: 0.85rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.btn-cancel-plan:hover:not(:disabled) {
  color: #dc3545;
}

/* Billing Footer */
.billing-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 0 0;
  border-top: 1px solid #e9ecef;
}
.billing-footer a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #6c757d;
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.2s ease;
}
.billing-footer a:hover {
  color: #667eea;
}
.footer-divider {
  color: #dee2e6;
}

/* Mobile Responsive */
@media (max-width: 480px) {
.billing-status-bar {
    gap: 0.5rem;
}
.status-badges {
    flex: 1 1 auto;
}
.status-action {
    flex: 0 0 auto;
}
.subscription-info-bar {
    gap: 1rem;
}
.pricing-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}
.pricing-header-right {
    text-align: left;
}
.cycle-selector {
    flex-direction: column;
}
.visibility-options {
    flex-direction: column;
}
.card-item {
    flex-wrap: wrap;
    gap: 0.5rem;
}
.card-actions {
    width: 100%;
    justify-content: flex-end;
    padding-top: 0.5rem;
    border-top: 1px solid #f0f0f0;
}
}

/* Dark Mode Support */
.v-theme--dark .billing-status-bar,
.v-theme--dark .pricing-card,
.v-theme--dark .payment-cards,
.v-theme--dark .visibility-section {
  background: #1e1e1e;
  border-color: #333;
}
.v-theme--dark .subscription-info-bar {
  background: linear-gradient(135deg, #2d2d2d 0%, #252525 100%);
}
.v-theme--dark .pricing-header {
  background: #2d2d2d;
  border-color: #333;
}
.v-theme--dark .pricing-header.header-pro {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.v-theme--dark .pricing-footer {
  background: #252525;
}
.v-theme--dark .detail-row,
.v-theme--dark .addon-row,
.v-theme--dark .promo-section,
.v-theme--dark .addons-section,
.v-theme--dark .pricing-details {
  border-color: #333;
}
.v-theme--dark .pricing-footer .tax-row {
  border-color: #444;
}
.v-theme--dark .pricing-footer .tax-label,
.v-theme--dark .pricing-footer .tax-amount {
  color: #9e9e9e;
}
.v-theme--dark .pricing-footer .grand-total-row {
  border-color: #667eea;
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.15) 0%,
    rgba(118, 75, 162, 0.15) 100%
  );
}
.v-theme--dark .pricing-footer .grand-total-label {
  color: #e0e0e0;
}
.v-theme--dark .pricing-footer .reverse-charge-notice {
  background: rgba(33, 150, 243, 0.15);
  color: #64b5f6;
}
.v-theme--dark .pricing-footer .tax-tbd-notice {
  background: rgba(255, 152, 0, 0.15);
  color: #ffb74d;
}
.v-theme--dark .detail-label,
.v-theme--dark .pricing-footer .total-label,
.v-theme--dark .sub-value,
.v-theme--dark .detail-value,
.v-theme--dark .card-number,
.v-theme--dark .addon-info span,
.v-theme--dark .switch-label,
.v-theme--dark .visibility-btn-text span,
.v-theme--dark .visibility-title {
  color: #e0e0e0;
}
.v-theme--dark .badge-pill.badge-free {
  background: #333;
  color: #adb5bd;
}
.v-theme--dark .billing-status-bar .visibility-toggle {
  background: #2a2a2a;
}
.v-theme--dark .billing-status-bar .visibility-option {
  color: #94a3b8;
}
.v-theme--dark .billing-status-bar .visibility-option:not(.active):not(:disabled):hover {
  background: #3a3a3a;
  color: #cbd5e1;
}
.v-theme--dark .billing-status-bar .visibility-option.option-private.active {
  background: #1e293b;
  color: #e2e8f0;
  border-color: #e2e8f0;
}
.v-theme--dark .promo-field {
  background: #2d2d2d;
  border-color: #444;
}
.v-theme--dark .promo-field input {
  color: #e0e0e0;
}
.v-theme--dark .visibility-btn {
  background: #2d2d2d;
  border-color: #444;
}
.v-theme--dark .visibility-btn.active {
  background: rgba(102, 126, 234, 0.15);
  border-color: #667eea;
}
.v-theme--dark .cards-header {
  background: linear-gradient(135deg, #2d2d2d 0%, #252525 100%);
  border-color: #444;
}
.v-theme--dark .card-item {
  border-color: #333;
}
.v-theme--dark .card-item.is-default {
  background: rgba(102, 126, 234, 0.1);
}
.v-theme--dark .manage-divider::before,
.v-theme--dark .manage-divider::after,
.v-theme--dark .billing-footer,
.v-theme--dark .next-payment {
  border-color: #444;
}

/* Invoice Container - Enhanced */
.invoice-container {
  background: white;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 0 1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-bottom: 1rem;
  transition: box-shadow 0.3s ease;
}
.invoice-container:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 0 1px rgba(0, 0, 0, 0.1);
}

/* Subscription view styling */
.invoice-container.subscription-view {
  border: 1px solid rgba(102, 126, 234, 0.15);
}

/* Checkout view styling */
.invoice-container.checkout-view {
  border: 1px solid #e9ecef;
}

/* Invoice Lines */
.invoice-lines {
  padding: 1rem 0;
}
.invoice-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 1.25rem;
  border-bottom: 1px solid #f0f0f0;
}

/* Area Line - larger text for Total Area (primary pricing metric) */
.invoice-line.area-line {
  padding: 0.5rem 1.25rem;
}
.invoice-line .area-label {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}
.invoice-line .area-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #333;
}

/* Inline count style for sessions/managers */
.invoice-line .line-count {
  font-size: 0.8rem;
  color: #6c757d;
  font-weight: normal;
}
.invoice-line:last-child {
  border-bottom: none;
}
.invoice-line .line-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.9rem;
  color: #333;
}
.invoice-line .line-value {
  font-size: 0.95rem;
  font-weight: 600;
  color: #333;
  text-align: right;
}

/* Invoice Divider */
.invoice-divider {
  height: 1px;
  background: #e9ecef;
  margin: 0.5rem 0;
}

/* Invoice Section Title */
.invoice-section-title {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6c757d;
  margin: 0.75rem 0 0.5rem;
  font-weight: 600;
}

/* Invoice Section Header (for ADD-ONS, etc.) */
.invoice-section-header {
  padding: 0 1.25rem 0.25rem;
  margin-top: 0.5rem;
  border-top: 1px dashed #e0e0e0;
}
.invoice-section-header .section-title {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #667eea;
  font-weight: 700;
}

/* Add-on Line - uses same base styling as invoice-line */
.addon-line .addon-toggle-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.addon-line .line-label {
  flex-direction: row;
  align-items: center;
  gap: 0.25rem;
}
.addon-line .line-label i {
  color: #667eea;
}

/* Promo Line - Enhanced Promo Code Input */
.promo-line {
  padding: 0.5rem 1.25rem !important;
}
.promo-input-group {
  flex: 1;
  transition: all 0.2s ease;
}
.promo-input-wrapper {
  display: flex;
  align-items: center;
  gap: 0;
  background: #f8f9fa;
  border: 1.5px solid #e9ecef;
  border-radius: 8px;
  padding: 0.25rem 0.5rem;
  transition: all 0.2s ease;
  max-width: 240px;
}
.promo-input-wrapper:focus-within {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
  background: white;
}
.promo-input-group.has-input .promo-input-wrapper {
  background: white;
  border-color: #667eea;
}
.promo-icon {
  color: #adb5bd;
  font-size: 1.1rem;
  margin-right: 0.5rem;
  transition: color 0.2s ease;
}
.promo-input-wrapper:focus-within .promo-icon,
.promo-input-group.has-input .promo-icon {
  color: #667eea;
}
.promo-input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 0.4rem 0;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #333;
  min-width: 0;
}
.promo-input:focus {
  outline: none;
}
.promo-input::placeholder {
  color: #adb5bd;
  font-weight: 500;
  letter-spacing: 0;
}
.promo-apply-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 55px;
}
.promo-apply-btn:hover:not(:disabled) {
  transform: scale(1.02);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}
.promo-apply-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.promo-apply-btn .spinner-border-sm {
  width: 12px;
  height: 12px;
  border-width: 2px;
}

/* Promo Feedback Enhanced */
.promo-feedback-enhanced {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  margin: 0.25rem 1.25rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 500;
  animation: slideInFeedback 0.3s ease-out;
}
@keyframes slideInFeedback {
from {
    opacity: 0;
    transform: translateY(-5px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.promo-feedback-enhanced.is-success {
  background: rgba(40, 167, 69, 0.1);
  color: #155724;
  border-left: 3px solid #28a745;
}
.promo-feedback-enhanced.is-success i {
  color: #28a745;
}
.promo-feedback-enhanced.is-error {
  background: rgba(220, 53, 69, 0.1);
  color: #721c24;
  border-left: 3px solid #dc3545;
}
.promo-feedback-enhanced.is-error i {
  color: #dc3545;
}

/* Legacy promo feedback styles for backwards compatibility */
.promo-feedback {
  padding: 0.25rem 1.25rem;
  font-size: 0.8rem;
}
.promo-feedback .feedback-success {
  color: #28a745;
}
.promo-feedback .feedback-error {
  color: #dc3545;
}

/* Legacy promo-input-inline for backwards compatibility */
.promo-input-inline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}
.promo-input-inline i {
  color: #6c757d;
}
.promo-input-inline input {
  flex: 1;
  max-width: 140px;
  padding: 0.35rem 0.5rem;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  font-size: 0.85rem;
  text-transform: uppercase;
}
.promo-input-inline input:focus {
  outline: none;
  border-color: #667eea;
}
.promo-input-inline button {
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
}

/* Promo Pricing Preview */
.promo-pricing-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  font-size: 0.85rem;
}
.promo-pricing-preview .original-price {
  text-decoration: line-through;
  color: #6c757d;
}
.promo-pricing-preview .arrow {
  color: #28a745;
  font-weight: 600;
}
.promo-pricing-preview .final-price {
  color: #28a745;
  font-weight: 700;
}
.v-theme--dark .promo-pricing-preview .original-price {
  color: #9ca3af;
}

/* Promo Applied Total Styling */
.total-value.promo-applied {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.total-value.promo-applied .original-total {
  font-size: 1rem;
  font-weight: 400;
  text-decoration: line-through;
  color: #6c757d;
}
.v-theme--dark .total-value.promo-applied .original-total {
  color: #9ca3af;
}

/* Promo Savings Note */
.promo-savings {
  background: rgba(40, 167, 69, 0.12);
  border: 1px solid rgba(40, 167, 69, 0.3);
}
.promo-savings i {
  color: #28a745;
}

/* Promo Applied Content with Remove Button */
.promo-applied-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.promo-remove-btn {
  padding: 0.125rem 0.25rem;
  color: #dc3545;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.promo-remove-btn:hover {
  opacity: 1;
  color: #dc3545;
}
.promo-remove-btn i {
  font-size: 1rem;
}

/* Checkout Promo Applied Line */
.checkout-promo {
  background: rgba(40, 167, 69, 0.08);
  border-left: 3px solid #28a745;
}
.checkout-promo .line-label {
  color: #155724;
  font-weight: 600;
}

/* Billing Cycle Selector (pill-shaped toggle) - Enhanced */
.billing-cycle-selector {
  display: inline-flex;
  background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
  border-radius: 24px;
  padding: 4px;
  margin-bottom: 0.875rem;
  gap: 3px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
}
.billing-cycle-selector .cycle-btn {
  padding: 0.4rem 1rem;
  border: none;
  background: transparent;
  font-size: 0.8rem;
  font-weight: 600;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.25s ease;
  border-radius: 20px;
  position: relative;
}
.billing-cycle-selector .cycle-btn.active {
  background: white;
  color: #667eea;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(102, 126, 234, 0.1);
  transform: scale(1.02);
}
.billing-cycle-selector .cycle-btn:hover:not(.active) {
  color: #495057;
  background: rgba(255, 255, 255, 0.5);
}
.billing-cycle-selector .discount-badge {
  position: absolute;
  top: -6px;
  right: -2px;
  background: #28a745;
  color: white;
  font-size: 0.55rem;
  padding: 0.1rem 0.25rem;
  border-radius: 6px;
  font-weight: 700;
}

/* Invoice Total - Enhanced */
.invoice-total {
  background: linear-gradient(135deg, #f8f9fa 0%, #f0f2f5 100%);
  padding: 1.125rem 1.25rem;
  border-top: 2px solid #e9ecef;
  text-align: center;
}
.invoice-total .total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
}
.invoice-total .total-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: #495057;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.invoice-total .total-value {
  font-size: 1.65rem;
  font-weight: 800;
  color: #667eea;
  letter-spacing: -0.5px;
}
.invoice-total .savings-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.625rem;
  font-size: 0.8rem;
  color: #28a745;
  font-weight: 500;
}

/* ===================================== */
/* SUBSCRIPTION VIEW STYLES */
/* ===================================== */

/* Subscription Header - Enhanced */
.subscription-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 1.125rem 1.25rem;
  border-radius: 12px 12px 0 0;
  margin: -1px -1px 0 -1px;
  position: relative;
  overflow: hidden;
}
.subscription-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1) 0%,
    transparent 50%,
    rgba(0, 0, 0, 0.05) 100%
  );
  pointer-events: none;
}
.subscription-header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.subscription-header-title {
  color: white;
  font-weight: 700;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  letter-spacing: 0.25px;
}
.subscription-header-title i {
  opacity: 0.9;
}
.subscription-price-main {
  color: white;
  font-size: 1.6rem;
  font-weight: 800;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.subscription-price-main .price-period {
  font-size: 0.8rem;
  font-weight: 500;
  opacity: 0.8;
}

/* Subscription Total */
.subscription-total {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}
.subscription-total .total-label {
  color: #495057;
}
.subscription-total .total-value {
  color: #667eea;
}

/* Billing Cycle Option (generic styles) */
.billing-cycle-option {
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}
.billing-cycle-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.billing-cycle-left {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.billing-cycle-label {
  font-weight: 600;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
}
.billing-cycle-savings {
  font-size: 0.8rem;
  font-weight: 500;
}
.billing-cycle-note {
  font-size: 0.75rem;
  color: #6c757d;
  font-style: italic;
}
.billing-cycle-btn {
  white-space: nowrap;
  font-weight: 600;
}

/* Upgrade to Yearly Option */
.upgrade-yearly-option {
  background: rgba(102, 126, 234, 0.08);
  border: 1px dashed rgba(102, 126, 234, 0.3);
}
.upgrade-yearly-option .billing-cycle-label {
  color: #667eea;
}

/* Switch to Monthly Option */
.switch-monthly-option {
  background: rgba(108, 117, 125, 0.08);
  border: 1px dashed rgba(108, 117, 125, 0.3);
}
.switch-monthly-option .billing-cycle-label {
  color: #6c757d;
}

/* Next Billing Info */
.next-billing-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #dee2e6;
  font-size: 0.85rem;
  color: #6c757d;
}
.next-billing-info i {
  color: #667eea;
}

/* Promo Applied Line */
.promo-applied-line {
  background: rgba(40, 167, 69, 0.05);
  border-left: 3px solid #28a745;
}
.promo-applied-line .line-label {
  color: #155724;
  font-weight: 500;
}

/* Checkout View Styles */
.checkout-view .invoice-section-header .section-subtitle {
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: 400;
  margin-left: 0.5rem;
}
.checkout-total .total-label {
  display: flex;
  align-items: center;
}
.checkout-total .total-label i {
  color: #667eea;
}
.checkout-savings {
  background: rgba(40, 167, 69, 0.1);
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  justify-content: center;
}

/* Addon Preview (disabled state for checkout) - Legacy */
.addon-preview {
  opacity: 0.6;
}
.addon-preview .v-switch {
  pointer-events: none;
}

/* Addon Preview Enhanced (Aspirational styling for Free Plan) */
.addon-preview-enhanced {
  position: relative;
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.03) 0%,
    rgba(118, 75, 162, 0.03) 100%
  );
  border-left: 2px solid rgba(102, 126, 234, 0.2);
  transition: all 0.2s ease;
}
.addon-preview-enhanced:hover {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.06) 0%,
    rgba(118, 75, 162, 0.06) 100%
  );
  border-left-color: rgba(102, 126, 234, 0.4);
}
.addon-preview-enhanced .addon-label-preview {
  color: #495057;
}
.addon-preview-enhanced .addon-label-preview i {
  color: #667eea !important;
  opacity: 0.7;
}
.addon-preview-enhanced .addon-price-preview {
  color: #667eea;
  font-weight: 500;
  opacity: 0.8;
}
.addon-preview-enhanced .v-switch {
  opacity: 0.5;
  pointer-events: none;
}

/* Addon line when active (Pro Plan) */
.addon-line.addon-active {
  background: rgba(40, 167, 69, 0.05);
  border-left: 2px solid #28a745;
}
.addon-line.addon-active .line-label i {
  color: #28a745 !important;
}

/* Dark Theme Overrides */
.v-theme--dark .subscription-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.v-theme--dark .subscription-total {
  background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
}
.v-theme--dark .subscription-total .total-label {
  color: #b0b0b0;
}
.v-theme--dark .upgrade-yearly-option {
  background: rgba(102, 126, 234, 0.15);
  border-color: rgba(102, 126, 234, 0.4);
}
.v-theme--dark .switch-monthly-option {
  background: rgba(108, 117, 125, 0.15);
  border-color: rgba(108, 117, 125, 0.4);
}
.v-theme--dark .billing-cycle-note {
  color: #9ca3af;
}
.v-theme--dark .next-billing-info {
  border-top-color: #444;
  color: #9ca3af;
}
.v-theme--dark .promo-applied-line {
  background: rgba(40, 167, 69, 0.1);
}
.v-theme--dark .promo-applied-line .line-label {
  color: #28a745;
}
.v-theme--dark .checkout-savings {
  background: rgba(40, 167, 69, 0.15);
}

/* Keep Pro Plan Button */
.btn-keep-pro {
  font-weight: 600;
  border: none;
  box-shadow: 0 2px 8px rgba(255, 193, 7, 0.3);
  transition: all 0.2s ease;
}
.btn-keep-pro:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 193, 7, 0.4);
}
.btn-keep-pro:active:not(:disabled) {
  transform: translateY(0);
}

/* Payment Cards Section - Enhanced */
.payment-cards-section {
  margin-bottom: 1rem;
  position: relative;
  transition: all 0.3s ease;
}
.payment-cards-section.is-loading {
  opacity: 0.7;
  pointer-events: none;
}
.payment-cards-section .payment-methods-loading-overlay {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  z-index: 10;
}
.payment-cards-section .no-cards {
  padding: 0;
}
.payment-cards-section .no-cards .btn {
  border-radius: 10px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  transition: all 0.2s ease;
  border: 2px dashed #667eea;
  color: #667eea;
  background: rgba(102, 126, 234, 0.05);
}
.payment-cards-section .no-cards .btn:hover {
  background: rgba(102, 126, 234, 0.1);
  border-style: solid;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}
.payment-cards-section .cards-container {
  background: #f8f9fa;
  border-radius: 10px;
  border: 1px solid #e9ecef;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.payment-cards-section .cards-container:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Single Card Row (Collapsed State) */
.payment-cards-section .single-card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1rem;
  transition: background 0.2s ease;
}
.payment-cards-section .single-card-row:hover {
  background: rgba(102, 126, 234, 0.03);
}
.payment-cards-section .card-display {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex: 1;
}
.payment-cards-section .card-icon {
  font-size: 1.35rem;
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.4rem;
  border-radius: 6px;
}
.payment-cards-section .card-info {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  font-family: "SF Mono", "Menlo", monospace;
  letter-spacing: 0.5px;
}
.payment-cards-section .default-badge {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.75px;
  padding: 0.2rem 0.5rem;
  background: #667eea;
  color: white;
  border-radius: 4px;
  font-weight: 600;
  margin-left: 0.5rem;
}
.payment-cards-section .edit-btn {
  font-size: 0.85rem;
  color: #667eea;
  text-decoration: none;
  padding: 0.25rem 0.5rem;
}
.payment-cards-section .edit-btn:hover {
  text-decoration: underline;
}

/* Expanded Cards View - Enhanced with animation */
.payment-cards-section .expanded-cards-view {
  background: #fff;
  animation: expandIn 0.25s ease-out;
}
@keyframes expandIn {
from {
    opacity: 0;
    transform: scaleY(0.95);
    transform-origin: top;
}
to {
    opacity: 1;
    transform: scaleY(1);
}
}
.payment-cards-section .expanded-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border-bottom: 1px solid #e0e8ff;
}
.payment-cards-section .add-card-link {
  color: #667eea;
  text-decoration: none;
  padding: 0.35rem 0.75rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.85rem;
  transition: all 0.2s ease;
}
.payment-cards-section .add-card-link:hover {
  background: rgba(102, 126, 234, 0.1);
  text-decoration: none;
}
.payment-cards-section .cards-list {
  max-height: 300px;
  overflow-y: auto;
}
.payment-cards-section .card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #eef2ff;
  background: white;
  transition: all 0.2s ease;
}
.payment-cards-section .card-row:hover {
  background: #f8faff;
}
.payment-cards-section .card-row.is-default {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.05) 0%,
    rgba(118, 75, 162, 0.05) 100%
  );
  border-left: 3px solid #667eea;
}
.payment-cards-section .card-row:last-child {
  border-bottom: none;
}
.payment-cards-section .card-row-actions {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.payment-cards-section .make-default-btn {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
}

/* Icon buttons */
.payment-cards-section .btn-icon {
  padding: 0.3rem;
  background: transparent;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  color: #6c757d;
  line-height: 1;
  transition: all 0.2s ease;
}
.payment-cards-section .btn-icon:hover {
  background: #f8f9fa;
  color: #495057;
  border-color: #adb5bd;
}
.payment-cards-section .btn-icon i {
  font-size: 0.9rem;
}
.payment-cards-section .btn-icon-danger:hover {
  background: #fff5f5;
  color: #dc3545;
  border-color: #dc3545;
}

/* Action Section */
.action-section {
  margin-bottom: 1.5rem;
}
.slide-to-action .action-button {
  padding: 1rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  transition: all 0.3s ease;
}
.slide-to-action .action-button:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.slide-to-action .action-button:disabled {
  opacity: 0.7;
}
.slide-to-action .action-note {
  text-align: center;
  font-size: 0.75rem;
  color: #6c757d;
  margin-top: 0.5rem;
}
.active-status-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  background: #d4edda;
  color: #155724;
  border-radius: 12px;
  font-weight: 600;
}
.active-status-box i {
  font-size: 1.25rem;
}

/* Make Private Section */
.make-private-section {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e9ecef;
}

/* Help Links Row */
.help-links-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 0;
  border-top: 1px solid #e9ecef;
}
.help-links-row a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #6c757d;
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s ease;
}
.help-links-row a:hover {
  color: #667eea;
}
.help-links-row .link-divider {
  color: #dee2e6;
}

/* ===================================== */
/* BILLING MOBILE RESPONSIVENESS */
/* ===================================== */
@media (max-width: 480px) {
  /* Hero section adjustments */
.billing-hero-section .plan-status-row {
    flex-wrap: wrap;
    gap: 0.5rem;
}
.billing-hero-section .plan-status-badges {
    width: 100%;
    justify-content: flex-start;
}
.billing-hero-section .plan-status-actions {
    width: 100%;
    justify-content: flex-end;
    margin-top: 0.25rem;
}
.billing-hero-section .status-divider {
    display: none;
}

  /* Pro details card grid */
.pro-details-card .detail-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

  /* Invoice container */
.invoice-container {
    border-radius: 10px;
}
.invoice-line {
    padding: 0.5rem 1rem;
    flex-wrap: wrap;
    gap: 0.25rem;
}
.invoice-line .line-label {
    font-size: 0.85rem;
}
.invoice-line .line-value {
    font-size: 0.85rem;
}

  /* Promo input responsive */
.promo-input-wrapper {
    max-width: 100%;
}
.promo-input {
    font-size: 0.75rem;
}

  /* Billing cycle selector */
.billing-cycle-selector {
    width: 100%;
    justify-content: center;
}
.billing-cycle-selector .cycle-btn {
    flex: 1;
    text-align: center;
}

  /* Invoice total */
.invoice-total {
    padding: 0.875rem 1rem;
}
.invoice-total .total-value {
    font-size: 1.25rem;
}

  /* Payment cards */
.payment-cards-section .card-info {
    font-size: 0.8rem;
}
.payment-cards-section .card-row {
    flex-wrap: wrap;
    gap: 0.5rem;
}
.payment-cards-section .card-row-actions {
    width: 100%;
    justify-content: flex-end;
    padding-top: 0.25rem;
    border-top: 1px solid #f0f2f5;
}

  /* Visibility controls */
.visibility-control {
    padding: 0.75rem;
}
.visibility-toggle-row {
    gap: 0.5rem;
}
.visibility-option {
    padding: 0.625rem;
}
.visibility-option-compact .option-header span {
    font-size: 0.8rem;
}
.visibility-option-compact small {
    font-size: 0.65rem;
    margin-left: 1.4rem;
}

  /* Help links */
.help-links-row {
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}
.help-links-row a {
    font-size: 0.8rem;
}

  /* Upgrade button */
.upgrade-buttons-section .btn {
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
}

  /* Subscription header */
.subscription-header {
    padding: 0.875rem 1rem;
}
.subscription-price-main {
    font-size: 1.25rem;
}
.subscription-header-title {
    font-size: 0.85rem;
}
}

/* Tablet adjustments */
@media (max-width: 768px) and (min-width: 481px) {
.pro-details-card .detail-grid {
    grid-template-columns: repeat(3, 1fr);
}
.visibility-toggle-row {
    gap: 0.625rem;
}
}

/* ===================================== */
/* END INVOICE-STYLE BILLING LAYOUT */
/* ===================================== */

/* ===================================== */
/* BILLING HERO SECTION (Conversion Optimized) */
/* ===================================== */
.billing-hero-section {
  margin-bottom: 0.75rem;
  container-type: inline-size;
  container-name: billing-hero;
}

/* Plan Status Card - Plain with Shadow */
.plan-status-card {
  background: white;
  border-radius: 12px;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  overflow: hidden;
  max-width: 100%;
}
.plan-status-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Single Line Layout */
.plan-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: nowrap;
  white-space: nowrap;
  min-width: 0;
  width: 100%;
}

/* Left side: Badges container */
.plan-status-badges {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap;
  flex-shrink: 1;
  min-width: 0;
}

/* Right side: Action buttons container */
.plan-status-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  margin-left: auto;
}
.status-divider {
  flex: 1 1 auto;
  min-width: 0.25rem;
  height: 1px;
  background: #e9ecef;
  margin: 0 0.25rem;
  flex-shrink: 1;
  max-width: 1rem;
}

/* Hide divider when container is narrow - dynamic based on content */
@container billing-hero (max-width: 500px) {
.status-divider {
    display: none;
}
.plan-status-row {
    gap: 0.4rem;
}
}

/* Ensure buttons don't wrap and respect container bounds */
.btn-upgrade,
.btn-make-public {
  flex-shrink: 1;
  white-space: nowrap;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  font-size: 0.85rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plan-badge,
.visibility-pill {
  flex-shrink: 0;
  white-space: nowrap;
}

/* Fallback for browsers without container queries */
@media (max-width: 500px) {
.status-divider {
    display: none;
}
.plan-status-row {
    gap: 0.4rem;
}
}
.plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.plan-badge i {
  font-size: 0.9rem;
}
.plan-badge.badge-pro {
  background: #f0f4ff;
  color: #667eea;
}
.plan-badge.badge-free {
  background: #e9ecef;
  color: #6c757d;
}
.visibility-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.4rem 0.65rem;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.visibility-pill i {
  font-size: 0.85rem;
}
.visibility-pill.pill-public {
  background: #d4edda;
  color: #155724;
}
.visibility-pill.pill-private {
  background: #e9ecef;
  color: #6c757d;
}

/* Live Status Inline */
.live-status-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.75rem;
  background: #d4edda;
  border-radius: 12px;
  color: #155724;
  font-weight: 600;
  font-size: 0.85rem;
  white-space: nowrap;
}
.live-status-inline .live-dot {
  width: 8px;
  height: 8px;
  background: #28a745;
  border-radius: 50%;
  animation: pulse 2s infinite;
}
.btn-upgrade {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  border: none;
  color: white;
  padding: 0.5rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 700;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
  transition: all 0.3s ease;
  white-space: nowrap;
}

/* Blue primary style for upgrade button in Info View */
.btn-primary.btn-upgrade {
  background: #2791cc !important;
  border-color: #2791cc !important;
  box-shadow: 0 2px 8px rgba(39, 145, 204, 0.3);
}
.btn-primary.btn-upgrade:hover:not(:disabled) {
  background: #0069d9 !important;
  border-color: #0069d9 !important;
  box-shadow: 0 4px 12px rgba(0, 105, 217, 0.4);
  transform: translateY(-1px);
}
.btn-upgrade:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.4);
  background: linear-gradient(135deg, #218838 0%, #1aa179 100%);
  color: white;
}
.btn-upgrade .period {
  font-weight: 400;
  opacity: 0.9;
}
.btn.btn-make-public {
  background: #f8f9ff !important;
  border: 1px solid #c7d2fe !important;
  color: #667eea !important;
  padding: 0.5rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
  transition: all 0.3s ease;
  white-space: nowrap;
}
.btn.btn-make-public i {
  color: #667eea !important;
}
.btn.btn-make-public:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  background: #667eea !important;
  color: white !important;
  border-color: #5568d3 !important;
}
.btn.btn-make-public:hover:not(:disabled) i {
  color: white !important;
}

/* Pro Details Card - Enhanced */
.pro-details-card {
  background: linear-gradient(135deg, #f8f9fa 0%, #f0f2f5 100%);
  border-radius: 10px;
  padding: 0.875rem 1rem;
  margin-top: 0.75rem;
  position: relative;
  border: 1px solid #e9ecef;
}
.pro-details-card.has-cancellation-warning {
  background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
  border: 1px solid #ffc107;
  animation: warningPulse 3s ease-in-out infinite;
}
@keyframes warningPulse {
0%,
  100% {
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
}
50% {
    box-shadow: 0 0 0 4px rgba(255, 193, 7, 0.15);
}
}
.pro-details-warning-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px dashed rgba(133, 100, 4, 0.3);
}
.pro-details-warning-bottom .warning-text-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #856404;
  flex: 1;
}
.pro-details-warning-bottom .warning-text-group i {
  font-size: 1.1rem;
  flex-shrink: 0;
  animation: pulse 2s infinite;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 0.75rem;
}
.detail-grid .detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.detail-grid .detail-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.7;
}
.detail-grid .detail-label.ends-on-label {
  color: #856404;
  opacity: 1;
  font-weight: 600;
}
.detail-grid .detail-value {
  font-size: 0.85rem;
  font-weight: 600;
}
.detail-grid .detail-value.ends-on-value {
  color: #856404;
}

/* ===================================== */
/* WARNING BANNERS (Unified Styles) */
/* ===================================== */

/* Trial Notice */
.trial-notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #cce5ff;
  border-radius: 8px;
  color: #004085;
  font-size: 0.85rem;
  margin-bottom: 0.75rem;
}
.trial-notice i {
  font-size: 1.1rem;
}

/* Cancellation Warning */
.cancellation-warning {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 8px;
  margin-bottom: 0.75rem;
}
.cancellation-warning .warning-content {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.cancellation-warning .warning-content > i {
  font-size: 1.5rem;
  color: #856404;
  flex-shrink: 0;
}
.cancellation-warning .warning-text {
  flex: 1;
}
.cancellation-warning .warning-text strong {
  display: block;
  color: #856404;
  margin-bottom: 0.25rem;
}
.cancellation-warning .warning-text p {
  margin: 0;
  font-size: 0.85rem;
  color: #856404;
}

/* Compact Cancellation Notice (integrated in status card) */
.cancellation-notice-compact {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  margin-top: 0.5rem;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 6px;
  font-size: 0.8rem;
  color: #856404;
}
.cancellation-notice-compact i {
  font-size: 1rem;
  flex-shrink: 0;
}
.cancellation-notice-compact .notice-text {
  flex: 1;
  line-height: 1.4;
}

/* Past Due Warning */
.past-due-warning {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 8px;
  margin-bottom: 0.75rem;
}
.past-due-warning .warning-content {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.past-due-warning .warning-content > i {
  font-size: 1.5rem;
  color: #721c24;
  flex-shrink: 0;
}
.past-due-warning .warning-text {
  flex: 1;
}
.past-due-warning .warning-text strong {
  display: block;
  color: #721c24;
  margin-bottom: 0.25rem;
}
.past-due-warning .warning-text p {
  margin: 0;
  font-size: 0.85rem;
  color: #721c24;
}

/* Canceled Notice */
.canceled-notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #e9ecef;
  border-radius: 8px;
  color: #6c757d;
  font-size: 0.85rem;
  margin-bottom: 0.75rem;
}
.canceled-notice i {
  font-size: 1.1rem;
}

/* Subscription Details Row */
.subscription-details-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  margin-top: 0.5rem;
}
.subscription-details-row .detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.subscription-details-row .detail-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6c757d;
}
.subscription-details-row .detail-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: #333;
}

/* Billing Owner Row */
.billing-owner-row {
  padding-top: 0.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  margin-top: 0.5rem;
}

/* ===================================== */
/* UPGRADE BUTTONS SECTION - Enhanced */
/* ===================================== */
.upgrade-buttons-section {
  margin-bottom: 1rem;
}
.upgrade-buttons-section .btn {
  font-weight: 700;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  border-radius: 12px;
  transition: all 0.3s ease;
}
.upgrade-buttons-section .btn-upgrade-total {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  border: none;
  box-shadow: 0 4px 15px rgba(40, 167, 69, 0.35);
  position: relative;
  overflow: hidden;
}
.upgrade-buttons-section .btn-upgrade-total::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left 0.5s ease;
}
.upgrade-buttons-section .btn-upgrade-total:hover:not(:disabled)::before {
  left: 100%;
}
.upgrade-buttons-section .btn-upgrade-total:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(40, 167, 69, 0.45);
}
.upgrade-buttons-section .btn-upgrade-total:active:not(:disabled) {
  transform: translateY(0);
}
.upgrade-buttons-section .btn-keep-pro {
  box-shadow: 0 4px 15px rgba(255, 193, 7, 0.35);
}
.upgrade-buttons-section .btn-keep-pro:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 193, 7, 0.45);
}

/* ===================================== */
/* SECONDARY ACTIONS SECTION */
/* ===================================== */
.secondary-actions-section {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e9ecef;
}

/* Visibility Control - Enhanced */
.visibility-control {
  margin-bottom: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #f0f2f5 100%);
  border-radius: 12px;
  border: 1px solid #e9ecef;
}
.visibility-control .control-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.75rem;
}
.visibility-control .control-label {
  font-size: 0.9rem;
  font-weight: 700;
  color: #333;
}
.visibility-control .control-hint {
  font-size: 0.75rem;
  color: #6c757d;
  font-style: italic;
}
.visibility-toggle-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.visibility-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.875rem;
  border: 2px solid #e0e3e6;
  border-radius: 12px;
  background: white;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.visibility-option:hover:not(.active):not(:disabled) {
  border-color: #667eea;
  background: #f8f9ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.15);
}
.visibility-option.active {
  border-color: #667eea;
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}
.visibility-option.active::before {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  background: #667eea;
  border-radius: 50%;
}
.visibility-option:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.visibility-option i {
  font-size: 1.35rem;
  color: #6c757d;
  margin-bottom: 0.25rem;
}
.visibility-option.active i {
  color: #667eea;
}
.visibility-option span {
  font-size: 0.85rem;
  font-weight: 600;
  color: #333;
}
.visibility-option small {
  font-size: 0.7rem;
  color: #6c757d;
  text-align: center;
}

/* Compact Visibility Option (icon and title on same line) */
.visibility-option-compact {
  flex-direction: column;
  align-items: flex-start;
  padding: 0.6rem 0.75rem;
}
.visibility-option-compact .option-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.visibility-option-compact .option-header i {
  font-size: 1.1rem;
  margin-bottom: 0;
}
.visibility-option-compact .option-header span {
  font-size: 0.85rem;
}
.visibility-option-compact small {
  font-size: 0.7rem;
  text-align: left;
  margin-left: 1.6rem;
}
.visibility-note {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #667eea;
}
.visibility-note i {
  font-size: 0.85rem;
}

/* Manage Plan Section */
.manage-plan-section {
  margin-top: 1rem;
}
.manage-plan-divider {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
}
.manage-plan-divider::before,
.manage-plan-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e9ecef;
}
.manage-plan-divider span {
  padding: 0 0.75rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #adb5bd;
  font-weight: 600;
}
.manage-plan-actions {
  display: flex;
  justify-content: center;
}
.cancel-plan-btn {
  font-size: 0.8rem !important;
  color: #6c757d !important;
  text-decoration: none !important;
}
.cancel-plan-btn:hover {
  color: #dc3545 !important;
}

/* Free Plan Info */
.free-plan-info {
  text-align: center;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 8px;
}
.free-limits {
  margin: 0;
  font-size: 0.8rem;
  color: #6c757d;
}
.free-limits strong {
  color: #495057;
}

/* Mini badges for Info section */
.mini-badge.plan-pro {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}
.mini-badge.plan-free {
  background: #6c757d;
  color: white;
}

/* Cancel Subscription Dialog */
.cancel-subscription-dialog {
  border-radius: 12px !important;
}
.cancel-subscription-dialog .reason-options {
  margin-top: 0.5rem;
}
.cancel-subscription-dialog .cancel-warning-box {
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 8px;
  padding: 1rem;
}
.cancel-subscription-dialog .cancel-warning-box .warning-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  color: #856404;
  margin-bottom: 0.75rem;
}
.cancel-subscription-dialog .cancel-warning-box .warning-header i {
  font-size: 1.25rem;
}
.cancel-subscription-dialog .cancel-warning-box p {
  color: #856404;
  margin: 0;
  font-size: 0.9rem;
}
.cancel-subscription-dialog .cancel-consequences {
  margin: 0.5rem 0 0 1.25rem;
  padding: 0;
  color: #856404;
  font-size: 0.9rem;
}
.cancel-subscription-dialog .cancel-consequences li {
  margin-bottom: 0.25rem;
}

/* Make Public Confirmation Dialog */
.make-public-confirm-dialog {
  border-radius: 12px !important;
}
.make-public-confirm-dialog .make-public-info {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.make-public-confirm-dialog .info-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 8px;
}
.make-public-confirm-dialog .info-item i {
  font-size: 1.25rem;
  flex-shrink: 0;
  line-height: 1;
  align-self: center;
}
.make-public-confirm-dialog .info-item span {
  font-size: 0.9rem;
  color: #495057 !important;
  -webkit-text-fill-color: #495057 !important;
  line-height: 1.4;
  flex: 1;
  align-self: center;
  display: inline !important;
}

/* Mobile fixes for Make Public dialog */
@media (max-width: 600px) {
.make-public-confirm-dialog {
    margin: 0.5rem !important;
}
.make-public-confirm-dialog .v-card-title {
    padding: 1rem !important;
}
.make-public-confirm-dialog .v-card-text {
    padding: 1rem !important;
}
.make-public-confirm-dialog .v-card-actions {
    padding: 1rem !important;
}
.make-public-confirm-dialog .text-h6 {
    font-size: 1rem !important;
    color: #212529 !important;
}
.make-public-confirm-dialog .text-body-1 {
    font-size: 0.95rem !important;
    color: #212529 !important;
}
.make-public-confirm-dialog .text-body-1 strong {
    color: #212529 !important;
}
.make-public-confirm-dialog .info-item {
    padding: 0.75rem;
}
.make-public-confirm-dialog .info-item span {
    font-size: 0.85rem !important;
    color: #212529 !important;
    -webkit-text-fill-color: #212529 !important;
    display: inline !important;
}
.make-public-confirm-dialog .info-item i {
    font-size: 1.1rem;
}
}

/* Upgrade Confirmation Dialog */
.upgrade-confirm-dialog {
  border-radius: 12px !important;
}
.upgrade-confirm-dialog .upgrade-benefits {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.upgrade-confirm-dialog .benefit-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 8px;
}
.upgrade-confirm-dialog .benefit-item i {
  font-size: 1.25rem;
  flex-shrink: 0;
  line-height: 1;
  align-self: center;
}
.upgrade-confirm-dialog .benefit-item span:not(.benefit-desc) {
  font-size: 0.9rem;
  color: #495057 !important;
  -webkit-text-fill-color: #495057 !important;
  line-height: 1.4;
  flex: 1;
  align-self: center;
  display: inline !important;
}
.upgrade-confirm-dialog .benefit-item span strong {
  color: #212529 !important;
  -webkit-text-fill-color: #212529 !important;
  display: inline !important;
}
.upgrade-confirm-dialog .benefit-desc {
  color: #495057 !important;
  -webkit-text-fill-color: #495057 !important;
  display: inline !important;
}
.upgrade-confirm-dialog .upgrade-pricing {
  background-color: #f5f5f5;
  border-radius: 8px;
}
.upgrade-confirm-dialog .text-h6,
.upgrade-confirm-dialog .text-body-1,
.upgrade-confirm-dialog .text-body-2 {
  color: #212529 !important;
}
.upgrade-confirm-dialog .text-body-1 strong {
  color: #212529 !important;
}
.upgrade-confirm-dialog .info-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 8px;
}
.upgrade-confirm-dialog .info-item i {
  font-size: 1.25rem;
  flex-shrink: 0;
  line-height: 1;
  align-self: center;
}
.upgrade-confirm-dialog .info-item span {
  font-size: 0.9rem;
  color: #495057 !important;
  -webkit-text-fill-color: #495057 !important;
  line-height: 1.4;
  flex: 1;
  align-self: center;
  display: inline !important;
}

/* Mobile fixes for Upgrade dialog - Force text visibility */
.v-dialog .upgrade-confirm-dialog .benefit-item span,
.v-dialog .upgrade-confirm-dialog .benefit-item span *:not(.benefit-desc),
.v-dialog .upgrade-confirm-dialog .info-item span,
.v-dialog .upgrade-confirm-dialog .info-item span *,
.v-dialog .upgrade-confirm-dialog .text-h6,
.v-dialog .upgrade-confirm-dialog .text-body-1,
.v-dialog .upgrade-confirm-dialog .text-body-1 *,
.v-dialog .upgrade-confirm-dialog .text-body-2,
.v-dialog .upgrade-confirm-dialog p,
.v-dialog .upgrade-confirm-dialog p * {
  color: #212529 !important;
  -webkit-text-fill-color: #212529 !important;
  display: inline !important;
}
.v-dialog .upgrade-confirm-dialog .benefit-item span strong,
.v-dialog .upgrade-confirm-dialog .info-item span strong {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  font-weight: 600;
  display: inline !important;
}

/* Make Public Dialog - Force display for mobile */
.v-dialog .make-public-confirm-dialog .info-item span,
.v-dialog .make-public-confirm-dialog .info-item span *,
.v-dialog .make-public-confirm-dialog .text-h6,
.v-dialog .make-public-confirm-dialog .text-body-1,
.v-dialog .make-public-confirm-dialog .text-body-1 *,
.v-dialog .make-public-confirm-dialog p,
.v-dialog .make-public-confirm-dialog p * {
  color: #212529 !important;
  -webkit-text-fill-color: #212529 !important;
  display: inline !important;
}
@media (max-width: 600px) {
.upgrade-confirm-dialog {
    margin: 0.5rem !important;
}
.upgrade-confirm-dialog .v-card-title,
  .upgrade-confirm-dialog .v-card-text,
  .upgrade-confirm-dialog .v-card-actions {
    padding: 1rem !important;
}
.v-dialog .upgrade-confirm-dialog .text-h6 {
    font-size: 1rem !important;
    color: #212529 !important;
    -webkit-text-fill-color: #212529 !important;
}
.v-dialog .upgrade-confirm-dialog .text-body-1,
  .v-dialog .upgrade-confirm-dialog .text-body-1 strong,
  .v-dialog .upgrade-confirm-dialog p,
  .v-dialog .upgrade-confirm-dialog p strong {
    font-size: 0.95rem !important;
    color: #212529 !important;
    -webkit-text-fill-color: #212529 !important;
}
.v-dialog .upgrade-confirm-dialog .text-body-2 {
    font-size: 0.85rem !important;
    color: #212529 !important;
    -webkit-text-fill-color: #212529 !important;
}
.upgrade-confirm-dialog .benefit-item {
    padding: 0.75rem;
}

  /* Hide benefit descriptions on mobile - show only titles */
.upgrade-confirm-dialog .benefit-desc,
  .v-dialog .upgrade-confirm-dialog .benefit-desc,
  .v-dialog .upgrade-confirm-dialog .benefit-item span .benefit-desc {
    display: none !important;
}
.v-dialog .upgrade-confirm-dialog .benefit-item span:not(.benefit-desc),
  .v-dialog .upgrade-confirm-dialog .benefit-item span strong {
    font-size: 0.85rem !important;
    color: #212529 !important;
    -webkit-text-fill-color: #212529 !important;
    display: inline !important;
}
.upgrade-confirm-dialog .benefit-item i {
    font-size: 1.1rem;
}
.v-dialog .upgrade-confirm-dialog .info-item span {
    font-size: 0.85rem !important;
    color: #212529 !important;
    -webkit-text-fill-color: #212529 !important;
    display: inline !important;
}
.upgrade-confirm-dialog .info-item i {
    font-size: 1.1rem;
}
}

/* ===================================== */
/* MAP STATUS INDICATOR (Info Section) */
/* ===================================== */
.map-status-indicator {
  padding: 0;
  margin-bottom: 1rem;
}

/* Info section now uses the same plan-status-card structure as Billing section */
/* All styles are inherited from .plan-status-card, .plan-status-row, etc. */

/* ===================================== */
/* END NEW SUBSCRIPTION STATUS STYLES */
/* ===================================== */
.billing-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
.billing-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.billing-card-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 0.5rem 0.75rem;
  font-weight: 600;
}
.billing-card-header h5 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
}
.billing-card-body {
  padding: 0.75rem;
}

/* Status Badges */
.status-badge {
  display: inline-block;
  padding: 0.35rem 1rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.status-badge.status-private {
  background: #f0f0f0;
  color: #666;
}
.status-badge.status-public {
  background: #d4edda;
  color: #155724;
}
.status-badge.status-paused {
  background: #fff3cd;
  color: #856404;
}
.subscription-status-badge {
  display: inline-block;
  padding: 0.35rem 1rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
}
.subscription-status-badge.status-trial {
  background: #d1ecf1;
  color: #0c5460;
}
.subscription-status-badge.status-active {
  background: #d4edda;
  color: #155724;
}
.subscription-status-badge.status-past_due {
  background: #f8d7da;
  color: #721c24;
}
.subscription-status-badge.status-canceled {
  background: #f0f0f0;
  color: #666;
}
.subscription-status-badge.status-paused {
  background: #fff3cd;
  color: #856404;
}
.status-label {
  font-weight: 600;
  color: #333;
}
.status-explanation {
  margin-top: 1rem;
}
.status-actions {
  margin-top: 1rem;
}

/* Plan Info Boxes */
.plan-info-box {
  background: #f8f9fa;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}
.plan-label {
  font-size: 0.875rem;
  color: #6c757d;
  margin-bottom: 0.5rem;
  display: block;
  font-weight: 500;
}
.plan-value {
  font-size: 1.25rem;
  font-weight: 600;
  color: #212529;
}

/* Area Pricing Breakdown */
.area-pricing-breakdown {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 1.25rem;
}
.pricing-explanation {
  display: flex;
  align-items: center;
  color: #495057;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e9ecef;
}
.pricing-explanation i {
  color: #667eea;
  font-size: 1.25rem;
}
.pricing-bands {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pricing-band-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.pricing-band-item:hover {
  border-color: #667eea;
  box-shadow: 0 2px 4px rgba(102, 126, 234, 0.1);
}
.band-info {
  flex: 1;
}
.band-range {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}
.band-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}
.range-text {
  font-size: 0.875rem;
  color: #6c757d;
}
.band-calculation {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}
.area-used {
  color: #495057;
  font-weight: 500;
}
.multiply {
  color: #6c757d;
  font-weight: 400;
}
.price-per-sqm {
  color: #667eea;
  font-weight: 600;
}
.band-price {
  font-size: 1rem;
  font-weight: 600;
  color: #212529;
  white-space: nowrap;
  margin-left: 1rem;
}
.pricing-band-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.1) 0%,
    rgba(118, 75, 162, 0.1) 100%
  );
  border: 2px solid #667eea;
  border-radius: 6px;
  margin-top: 0.5rem;
}
.pricing-band-total .band-price {
  font-size: 1.25rem;
  color: #667eea;
}
.pricing-note {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 6px;
  color: #856404;
}
.pricing-note i {
  color: #f39c12;
  font-size: 1.1rem;
}
.tier-badge {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 0.35rem 1rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  display: inline-block;
}
.price-amount {
  color: #667eea;
  font-weight: 700;
  font-size: 1.5rem;
}

/* Total Cost Box */
.total-cost-box {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  margin-top: 1rem;
}
.total-label {
  font-size: 1rem;
  font-weight: 500;
}
.total-amount {
  font-size: 2rem;
  font-weight: 700;
}
.local-currency-display {
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.exchange-rate-info {
  opacity: 0.8;
  font-size: 0.75rem;
}

/* Pricing Breakdown */
.pricing-breakdown {
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
}
.breakdown-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #e9ecef;
}
.breakdown-item:last-child {
  border-bottom: none;
}
.breakdown-label {
  flex: 1;
  font-size: 0.95rem;
  color: #495057;
}
.breakdown-label small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8rem;
}
.breakdown-value {
  font-weight: 600;
  color: #212529;
  white-space: nowrap;
  margin-left: 1rem;
}
.breakdown-item.subtotal-item {
  background: #f8f9fa;
  font-weight: 600;
}
.breakdown-item.discount-item {
  background: #d4edda;
}
.breakdown-item.total-item {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  font-size: 1.1rem;
}
.breakdown-item.total-item .breakdown-label,
.breakdown-item.total-item .breakdown-value {
  color: white;
}

/* Subscription Details */
.sub-label {
  font-size: 0.875rem;
  color: #6c757d;
  margin-bottom: 0.25rem;
  display: block;
  font-weight: 500;
}
.sub-value {
  font-size: 1rem;
  color: #212529;
  font-weight: 500;
}
.subscription-actions {
  padding-top: 1rem;
  border-top: 1px solid #e9ecef;
}

/* Usage Metrics */
.usage-metric-box {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 0.75rem;
  height: 100%;
}
.metric-header {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #495057;
  margin-bottom: 0;
  font-size: 0.95rem;
  justify-content: space-between;
}
.metric-content {
  margin-top: 0.25rem;
}
.metric-value {
  font-size: 2rem;
  font-weight: 700;
  color: #667eea;
  margin-bottom: 0;
}
.metric-breakdown {
  margin-bottom: 0.5rem;
}
.metric-cost {
  background: #fff3cd;
  color: #856404;
  padding: 0.5rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
}

/* Add-ons */
.addon-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.addon-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.addon-item:hover {
  background: #e9ecef;
}
.addon-info {
  flex: 1;
}
.addon-name {
  font-size: 1rem;
  font-weight: 600;
  color: #212529;
  margin-bottom: 0.25rem;
}
.addon-description {
  font-size: 0.875rem;
  color: #6c757d;
}
.addon-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.addon-price {
  font-size: 1rem;
  font-weight: 600;
  color: #667eea;
  white-space: nowrap;
}

/* Promo Code */
.promo-code-input-group {
  display: flex;
  gap: 0.5rem;
}
.promo-code-input-group input {
  flex: 1;
  text-transform: uppercase;
}

/* Payment Methods */
.payment-methods-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.payment-method-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem;
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.payment-method-item.is-default {
  border-color: #667eea;
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.05) 0%,
    rgba(118, 75, 162, 0.05) 100%
  );
}
.payment-method-item:hover {
  background: #e9ecef;
}
.payment-method-item.is-default:hover {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.1) 0%,
    rgba(118, 75, 162, 0.1) 100%
  );
}
.payment-method-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.card-icon {
  font-size: 2rem;
  color: #667eea;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 45px;
  background: white;
  border-radius: 6px;
  border: 1px solid #e9ecef;
}
.card-details {
  flex: 1;
}
.card-brand {
  font-size: 1rem;
  font-weight: 600;
  color: #212529;
  margin-bottom: 0.25rem;
}
.default-badge {
  display: inline-flex;
  align-items: center;
  background: #d4edda;
  color: #155724;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
}
.card-number {
  font-size: 0.95rem;
  color: #495057;
  font-family: "Courier New", monospace;
  margin-bottom: 0.25rem;
}
.card-expiry {
  font-size: 0.85rem;
  color: #6c757d;
}
.payment-method-actions {
  display: flex;
  gap: 0.5rem;
}

/* Help Links */
.help-links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.help-link {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  color: #667eea;
  text-decoration: none;
  transition: all 0.3s ease;
  font-weight: 500;
}
.help-link:hover {
  background: #e9ecef;
  color: #5568d3;
  text-decoration: none;
  transform: translateX(4px);
}

/* Responsive Styles */
@media (max-width: 768px) {
.billing-content {
    padding: 5px 0;
}
.billing-card-body {
    padding: 0.5rem;
}
.addon-item {
    flex-direction: column;
    align-items: flex-start;
}
.addon-controls {
    width: 100%;
    justify-content: space-between;
    margin-top: 1rem;
}
.price-amount {
    font-size: 1.25rem;
}
.total-amount {
    font-size: 1.5rem;
}
.metric-value {
    font-size: 1.5rem;
}

  /* Compact cancellation notice on mobile */
.cancellation-notice-compact {
    font-size: 0.75rem;
    padding: 0.6rem;
}
.cancellation-notice-compact i {
    font-size: 0.9rem;
}

  /* Visibility options on mobile */
.visibility-option-compact {
    padding: 0.5rem;
}
.visibility-option-compact .option-header i {
    font-size: 1rem;
}
.visibility-option-compact .option-header span {
    font-size: 0.8rem;
}
.visibility-option-compact small {
    font-size: 0.65rem;
}
}

/* Setup → Info: visitor QR (mirrors classic Sidebar.vue layout) */
.map-editor-qr__panel {
  width: 100%;
  padding: 16px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
}
.map-editor-qr__image {
  width: 200px;
  height: 200px;
  object-fit: contain;
}
.map-editor-qr__actions {
  width: 100%;
  gap: 12px;
}
.map-editor-qr__btn {
  min-width: 120px !important;
}

.schedule-section[data-v-f1209d2c] {
  margin-top: 0.5rem;
  font-family: "Poppins", sans-serif;
  color: #333 !important;
}

/* Force all text in ScheduleSection to be visible with dark colors */
.schedule-section[data-v-f1209d2c] * {
  color: inherit;
}
.schedule-section h3[data-v-f1209d2c],
.schedule-section h4[data-v-f1209d2c],
.schedule-section h5[data-v-f1209d2c],
.schedule-section h6[data-v-f1209d2c],
.schedule-section p[data-v-f1209d2c],
.schedule-section span[data-v-f1209d2c],
.schedule-section div[data-v-f1209d2c] {
  color: #333 !important;
}
.current-event-container[data-v-f1209d2c] {
  border-left: 3px solid #4caf50;
  padding-left: 0.5rem;
}
.next-event-container[data-v-f1209d2c] {
  border-left: 3px solid #ff9800;
  padding-left: 0.5rem;
}
.schedule-day[data-v-f1209d2c] {
  padding: 0.5rem;
  background-color: transparent;
  border-radius: 4px;
  border-left: 2px solid #eee;
  margin-left: 0.25rem;
  color: #333 !important;
}
.schedule-date[data-v-f1209d2c] {
  font-size: 0.9rem;
  color: #333;
  font-weight: 500;
}
.timeslot-container[data-v-f1209d2c] {
  margin-bottom: 0.25rem;
  transition: background-color 0.3s ease;
  scroll-margin-top: 15px; /* Add space when scrolled into view */
  scroll-margin-bottom: 15px;
}
.full-schedule-expanded[data-v-f1209d2c] {
  overflow-y: auto;
  max-height: 400px; /* Ensure there's a scrollable area */
  padding-right: 5px;
}

/* Date selector tabs */
.date-selector[data-v-f1209d2c] {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eee;
}
.date-tab[data-v-f1209d2c] {
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  background-color: #f5f5f5;
  font-size: 0.8rem;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  color: #333 !important; /* Ensure text is always dark */
}
.date-tab[data-v-f1209d2c]:hover {
  background-color: #e0e0e0;
}
.date-tab.active[data-v-f1209d2c] {
  background-color: #2791cc;
  color: #333 !important; /* Keep text dark even when active */
  font-weight: 600; /* Make text bold instead of changing color */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); /* Add subtle shadow for emphasis */
}

/* Highlight styling for selected timeslot */
.highlight-timeslot[data-v-f1209d2c] {
  background-color: rgba(39, 145, 204, 0.1);
  animation: pulse-highlight-f1209d2c 2s ease-in-out;
}
@keyframes pulse-highlight-f1209d2c {
0% {
    background-color: rgba(39, 145, 204, 0.1);
}
50% {
    background-color: rgba(39, 145, 204, 0.3);
}
100% {
    background-color: rgba(39, 145, 204, 0.1);
}
}
.place-card[data-v-43a3e7b0] {
  padding: 16px;
  background: white;
  border-radius: 8px;
  border: 1px solid #eee;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: visible; /* Changed from hidden to allow tag to be visible */
}
.place-card[data-v-43a3e7b0]:hover {
  border-color: #ddd;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.place-card.selected[data-v-43a3e7b0] {
  border-color: #0c8ce9;
  box-shadow: 0 2px 8px rgba(12, 140, 233, 0.1);
  /* More aggressive overrides for schedule section when card is selected */
}
.place-card.selected[data-v-43a3e7b0] .schedule-info {
  color: #333 !important;
  /* Force all text to dark colors */
}
.place-card.selected[data-v-43a3e7b0] .schedule-info .schedule-day,
.place-card.selected[data-v-43a3e7b0] .schedule-info .schedule-date,
.place-card.selected[data-v-43a3e7b0] .schedule-info .timeslot-row {
  color: #333 !important;
}
.place-card.selected[data-v-43a3e7b0] .schedule-info .timeslot-content,
.place-card.selected[data-v-43a3e7b0] .schedule-info .timeslot-content * {
  color: #333 !important;
}
.place-card.selected[data-v-43a3e7b0] .schedule-info .text-caption,
.place-card.selected[data-v-43a3e7b0] .schedule-info .timeslot-description {
  color: #666 !important;
}
.place-card.selected[data-v-43a3e7b0] .schedule-info .font-weight-medium {
  color: #333 !important;
}
.place-card.selected[data-v-43a3e7b0] .schedule-info .toggle-description-btn {
  color: #0c8ce9 !important;
}
.place-card.selected[data-v-43a3e7b0] .schedule-info h1,
.place-card.selected[data-v-43a3e7b0] .schedule-info h2,
.place-card.selected[data-v-43a3e7b0] .schedule-info h3,
.place-card.selected[data-v-43a3e7b0] .schedule-info h4,
.place-card.selected[data-v-43a3e7b0] .schedule-info h5,
.place-card.selected[data-v-43a3e7b0] .schedule-info h6,
.place-card.selected[data-v-43a3e7b0] .schedule-info p,
.place-card.selected[data-v-43a3e7b0] .schedule-info span,
.place-card.selected[data-v-43a3e7b0] .schedule-info div {
  color: #333 !important;
}
.card-title[data-v-43a3e7b0] {
  color: #212529 !important; /* Force dark text color */
}
.placeholder-text[data-v-43a3e7b0] {
  color: #9e9e9e !important; /* Grey color for placeholder text */
  font-style: italic;
}
.basic-info[data-v-43a3e7b0] {
  width: 100%;
  color: inherit; /* Inherit text color */
}
.header-content[data-v-43a3e7b0] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  position: relative;
}
.title-section[data-v-43a3e7b0] {
  display: flex;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
}
.right-content[data-v-43a3e7b0] {
  flex-shrink: 0;
  position: relative;
  top: 5px; /* 5px margin from the top */
  height: calc(100% - 5px);
  display: flex;
  align-items: flex-start;
  margin-right: 0px; /* Negative margin equal to the card padding */
}
.icon-wrapper[data-v-43a3e7b0] {
  flex-shrink: 0;
  height: 100%;
  display: flex;
  align-items: center;
}
.contained-image[data-v-43a3e7b0] {
  object-fit: contain;
  height: 100%;
  width: auto;
  max-height: 50px;
  max-width: 75px; /* Maintain approximate 3:2 aspect ratio limit */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 8px;
  border: 1px solid #e4e4e7;
}

/* Bigger icon when selected on mobile */
.place-card.selected .contained-image[data-v-43a3e7b0] {
  max-height: var(--v63fdd86a);
  max-width: var(--v20f07c61);
}
.title-content[data-v-43a3e7b0] {
  flex: 1;
  min-width: 0; /* Allows text to truncate if needed */
}
.title-row[data-v-43a3e7b0] {
  display: flex;
  align-items: center;
}
.title-row h5[data-v-43a3e7b0] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-right: 12px; /* Add 12px spacing between title and edit icon */
}
.subtitle-row[data-v-43a3e7b0] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.subtitle-row h6[data-v-43a3e7b0] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.edit-icon[data-v-43a3e7b0] {
  color: #1867c0;
  font-size: 0.9rem;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.edit-icon[data-v-43a3e7b0]:hover {
  color: #0c4d94;
  transform: scale(1.15);
}
.info-row[data-v-43a3e7b0] {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
  color: #666;
}
.info-row svg[data-v-43a3e7b0] {
  width: 16px;
  color: #888;
}
.photos-gallery[data-v-43a3e7b0] {
  display: flex;
  overflow-x: auto;
  padding: 4px 0;
}
.photos-gallery .gallery-image[data-v-43a3e7b0] {
  width: 100px;
  height: 80px;
  object-fit: cover;
  flex-shrink: 0;
}
.promotion-item[data-v-43a3e7b0] {
  padding: 8px;
  background: #f8f9fa;
  border-radius: 4px;
  margin-bottom: 8px;
}
.promotion-item h6[data-v-43a3e7b0] {
  color: #0c8ce9;
  margin-bottom: 4px;
}
.invitation-section[data-v-43a3e7b0] {
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #dee2e6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  padding: 12px;
  margin-bottom: 15px;
}
.invitation-section p[data-v-43a3e7b0] {
  margin-bottom: 8px;
  font-size: 0.9rem;
  color: black; /* Ensure text is black */
}
.btn-success[data-v-43a3e7b0] {
  background-color: #28a745;
  color: white;
  border: none;
  min-width: 70px;
}
.btn-outline-danger[data-v-43a3e7b0] {
  color: #dc3545;
  border-color: #dc3545;
  background-color: transparent;
  min-width: 70px;
}
.btn-outline-danger[data-v-43a3e7b0]:hover {
  background-color: #dc3545;
  color: white;
}
.description-text[data-v-43a3e7b0] {
  color: #212529; /* Ensure description text is visible with a dark color */
}
.description-preview[data-v-43a3e7b0] {
  max-height: 3em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.phone-link[data-v-43a3e7b0] {
  color: #0c8ce9;
  text-decoration: none;
}
.phone-link[data-v-43a3e7b0]:hover {
  text-decoration: underline;
}
.expanded-content[data-v-43a3e7b0] {
  margin-top: 10px;
  /* GPU-accelerated animation using transform and opacity */
  animation: expandIn-43a3e7b0 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  /* Hint to browser for better performance */
  will-change: transform, opacity;
}
@keyframes expandIn-43a3e7b0 {
from {
    opacity: 0;
    transform: translateY(-8px) scaleY(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scaleY(1);
}
}
/* Horizontal layout: image left, content right */
.description-text-expanded[data-v-43a3e7b0] {
  color: #262626;
  font-family: "Roboto", sans-serif;
  margin: 0 0 12px 0;
  line-height: 1.5;
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.details-section-expanded[data-v-43a3e7b0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.promotions-section-expanded[data-v-43a3e7b0] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e5e7eb;
}
.promotions-title[data-v-43a3e7b0] {
  font-size: 14px;
  font-weight: 600;
  color: #262626;
  margin-bottom: 8px;
}
.detail-row[data-v-43a3e7b0] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.icon-container-detail[data-v-43a3e7b0] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--v2298db06);
  margin-top: 2px;
}
.detail-icon-svg[data-v-43a3e7b0] {
  width: 16px;
  height: 16px;
}
.detail-text[data-v-43a3e7b0] {
  flex: 1;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  margin: 0;
  font-size: 13px;
  color: #333;
  line-height: 1.4;
}
.opening-hours-container[data-v-43a3e7b0] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.opening-hours-header-row[data-v-43a3e7b0] {
  margin-bottom: 2px;
}
.opening-hours-title[data-v-43a3e7b0] {
  font-weight: 600 !important;
  font-size: 13px !important;
}
.opening-hours-groups[data-v-43a3e7b0] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 24px;
}
.hours-group[data-v-43a3e7b0] {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: baseline;
  font-size: 12px;
}
.hours-days[data-v-43a3e7b0] {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 12px;
  min-width: 70px;
  flex-shrink: 0;
}
.hours-times[data-v-43a3e7b0] {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 12px;
  flex: 1;
  line-height: 1.4;
}
.management-tag[data-v-43a3e7b0] {
  background-color: #0c8ce9;
  color: white;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  padding: 4px 0;
  border-radius: 4px 4px 0 0;
  margin: -16px -16px 12px -16px;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: sticky;
  top: 0;
  z-index: 10;
}
@media (max-width: 767px) {
.place-card[data-v-43a3e7b0] {
    /* Add some extra top padding to ensure management tag is fully visible */
    padding-top: 20px;
}
.management-tag[data-v-43a3e7b0] {
    position: sticky;
    top: 0;
    z-index: 10;
    /* Make tag more visible */
    font-weight: 700;
    padding: 6px 0;
    margin: -20px -16px 16px -16px; /* Match the increased top padding */
    font-size: 13px; /* Slightly larger text */
    letter-spacing: 1.5px; /* More spacing between letters */
}
.management-tag-text[data-v-43a3e7b0] {
    display: inline-block !important;
}
}
/* Add margin-top to basic-info when management tag is present */
.management-tag + .basic-info[data-v-43a3e7b0] {
  margin-top: 8px;
}

/* Schedule styling */
.schedule-info[data-v-43a3e7b0] {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 8px;
  /* Global ensure schedule colors */
  /* Ensure schedule section text remains visible */
}
.schedule-info[data-v-43a3e7b0] * {
  color: inherit;
}
.schedule-info[data-v-43a3e7b0] .timeslot-row,
.schedule-info[data-v-43a3e7b0] .timeslot-content,
.schedule-info[data-v-43a3e7b0] .schedule-day,
.schedule-info[data-v-43a3e7b0] .schedule-date {
  color: #333 !important;
}
.schedule-info[data-v-43a3e7b0] .timeslot-content * {
  color: #333 !important;
}
.schedule-info[data-v-43a3e7b0] .timeslot-description,
.schedule-info[data-v-43a3e7b0] .text-caption {
  color: #666 !important;
}
.schedule-info[data-v-43a3e7b0] .toggle-description-btn {
  color: #0c8ce9 !important;
}.place-card-table-row[data-v-1e92b180] {
  background: white;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: visible;
  border-bottom: 1px solid #e5e5e5;
  min-height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.place-card-table-row[data-v-1e92b180]:hover {
  background-color: #f9fafb;
}
.place-card-table-row.selected[data-v-1e92b180] {
  background-color: var(--primary-50, var(--default-50)) !important;
  border: 1px solid var(--primary-200, var(--default-200)) !important;
  border-radius: 8px;
  box-sizing: border-box;
  margin: 2px 0;
  z-index: 1;
  position: relative;
}
.place-card-table-row[data-v-1e92b180]:not(.selected) {
  border: 1px solid transparent;
  border-radius: 0;
  background-color: white;
  box-sizing: border-box;
  margin: 2px 0;
}
.place-card-table-row.managing[data-v-1e92b180]:not(.selected) {
  border: 1px solid var(--primary-700, var(--default-700)) !important;
  border-radius: 8px;
  box-sizing: border-box;
  margin: 2px 0;
}
.text-neutral-700[data-v-1e92b180] {
  color: rgb(55, 65, 81);
  line-height: 1.2;
  font-size: 16px;
  margin: 0;
}
.place-name[data-v-1e92b180] {
  min-width: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  white-space: normal;
  line-height: 1.3;
  max-width: 100%;
}
.icon-container[data-v-1e92b180] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #e4e4e7;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.place-icon[data-v-1e92b180] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}

/* Bigger icon when selected on mobile */
.place-card-table-row.selected .icon-container[data-v-1e92b180] {
  width: var(--v0636fb9f);
  height: var(--v0636fb9f);
  border-radius: var(--cbf9855e);
}
.place-card-table-row.selected .place-icon[data-v-1e92b180] {
  border-radius: var(--cbf9855e);
}
.edit-icon-container[data-v-1e92b180] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.edit-icon[data-v-1e92b180] {
  color: var(--primary-600, var(--default-600));
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.edit-icon[data-v-1e92b180]:hover {
  color: var(--primary-700, var(--default-700));
  transform: scale(1.15);
}
.invitation-section[data-v-1e92b180] {
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #dee2e6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  padding: 12px;
  margin-bottom: 15px;
}
.invitation-section p[data-v-1e92b180] {
  margin-bottom: 8px;
  font-size: 0.9rem;
  color: black; /* Ensure text is black */
}
.btn-success[data-v-1e92b180] {
  background-color: #28a745;
  color: white;
  border: none;
  min-width: 70px;
}
.btn-outline-danger[data-v-1e92b180] {
  color: #dc3545;
  border-color: #dc3545;
  background-color: transparent;
  min-width: 70px;
}
.btn-outline-danger[data-v-1e92b180]:hover {
  background-color: #dc3545;
  color: white;
}
.management-tag[data-v-1e92b180] {
  background-color: var(--primary-600, var(--default-600));
  color: white;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  padding: 4px 0;
  border-radius: 8px 8px 0 0;
  margin: 0 0 12px 0;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 767px) {
.place-card-table-row[data-v-1e92b180] {
    /* Remove unnecessary top padding on mobile */
    padding-top: 0;
}
.management-tag[data-v-1e92b180] {
    position: sticky;
    top: 0;
    z-index: 10;
    /* Make tag more visible */
    font-weight: 700;
    padding: 6px 0;
    margin: -20px 0 16px 0; /* Remove negative horizontal margins to stay within row bounds */
    font-size: 13px; /* Slightly larger text */
    letter-spacing: 1.5px; /* More spacing between letters */
    border-radius: 8px 8px 0 0; /* Match the row's border-radius exactly */
    width: 100%;
    box-sizing: border-box;
}
.management-tag-text[data-v-1e92b180] {
    display: inline-block !important;
}
}
/* Additional centering styles for table row content */
.place-card-table-row .table-row-content[data-v-1e92b180] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.place-card-table-row .table-row-content .row-inner[data-v-1e92b180] {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  box-sizing: border-box !important;
}

/* Mobile expanded content styles */
.expanded-content-mobile[data-v-1e92b180] {
  width: 100%;
  padding: 12px 8px;
  /* GPU-accelerated animation using transform and opacity */
  animation: expandIn-1e92b180 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  /* Hint to browser for better performance */
  will-change: transform, opacity;
}
@keyframes expandIn-1e92b180 {
from {
    opacity: 0;
    transform: translateY(-8px) scaleY(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scaleY(1);
}
}
/* Horizontal layout: image left, content right */
.description-text-expanded[data-v-1e92b180] {
  color: #262626;
  font-family: "Roboto", sans-serif;
  margin: 0 0 12px 0;
  line-height: 1.5;
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.details-section-expanded[data-v-1e92b180] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.detail-row[data-v-1e92b180] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.icon-container-detail[data-v-1e92b180] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--v6a5171a3);
  margin-top: 2px;
}
.detail-icon-svg[data-v-1e92b180] {
  width: 16px;
  height: 16px;
}
.detail-text[data-v-1e92b180] {
  flex: 1;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  margin: 0;
  font-size: 13px;
  color: #333;
  line-height: 1.4;
}
.phone-link[data-v-1e92b180] {
  text-decoration: none;
}
.phone-link[data-v-1e92b180]:hover {
  text-decoration: underline;
}
.opening-hours-container[data-v-1e92b180] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.opening-hours-header-row[data-v-1e92b180] {
  margin-bottom: 2px;
}
.opening-hours-title[data-v-1e92b180] {
  font-weight: 600 !important;
  font-size: 13px !important;
}
.opening-hours-groups[data-v-1e92b180] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 24px;
}
.hours-group[data-v-1e92b180] {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: baseline;
  font-size: 12px;
}
.hours-days[data-v-1e92b180] {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 12px;
  min-width: 70px;
  flex-shrink: 0;
}
.hours-times[data-v-1e92b180] {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 12px;
  flex: 1;
  line-height: 1.4;
}
.directions-button-container-mobile[data-v-1e92b180] {
  margin-top: 12px;
  display: flex;
  justify-content: center;
  width: 100%;
}
.directions-btn-mobile[data-v-1e92b180] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 8px;
  border: 1px solid;
  background-color: var(--primary-color, #0284c7);
  color: white;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.1s ease;
  width: 100%;
  max-width: 200px;
}
.directions-btn-mobile[data-v-1e92b180]:hover:not(:disabled) {
  opacity: 0.9;
}
.directions-btn-mobile[data-v-1e92b180]:active:not(:disabled) {
  transform: scale(0.98);
}
.directions-btn-mobile[data-v-1e92b180]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.directions-btn-mobile .directions-icon[data-v-1e92b180] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.promotion-form {
  padding-top: 8px;
}
.color-preview {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid #ccc;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.color-preview:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.icon-uploader {
  border-radius: 4px;
  background-color: #f8f9fa;
  border: 2px dashed #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}
.icon-uploader:hover {
  border-color: #0c8ce9;
  background-color: #f0f7fd;
}
.icon-uploader.drag-active {
  border-color: #0c8ce9;
  border-width: 3px;
  background-color: #e6f7ff;
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(12, 140, 233, 0.3);
}
.icon-placeholder {
  color: #0c8ce9;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.icon-label {
  font-size: 10px;
  margin-top: 2px;
  font-weight: 500;
}
.icon-preview {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}
.store-dropdown {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: white;
  z-index: 1000;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
}
.store-dropdown-item {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
  cursor: pointer;
  padding: 8px 12px;
}
.store-dropdown-item:last-child {
  border-bottom: none;
}
.store-dropdown-item-selected {
  background-color: #e3f2fd !important;
  border-left: 3px solid #2196f3;
}

/* Ensure the select-location button matches text-field height and width */
.multiline-btn {
  height: 56px !important; /* match v-text-field default height */
  white-space: normal !important; /* allow wrapping */
  line-height: 1.2 !important;
  text-transform: none !important; /* prevent text capitalization */
}
.multiline-btn .v-btn__content {
  white-space: normal !important;
  text-align: center;
  text-transform: none !important; /* prevent text capitalization */
}

/* Clear button styling */
.clear-btn {
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
}
.clear-btn:hover {
  background-color: rgba(0, 0, 0, 0.04) !important;
}
.clear-btn .v-icon {
  color: #666 !important;
}
.clear-btn:hover .v-icon {
  color: #333 !important;
}

/* Ensure proper flex ratios */
.d-flex > div[style*="flex: 3"] {
  flex: 3 1 0% !important;
  min-width: 0;
}
.d-flex > div[style*="flex: 1"] {
  flex: 1 1 0% !important;
  min-width: 0;
}

/* Location button styling */
.multiline-btn.location-selected {
  border-color: #4caf50 !important;
  border-width: 2px !important;
}
.multiline-btn.location-error {
  border-color: #d32f2f !important;
  border-width: 1px !important;
}
.multiline-btn .v-btn__content {
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.location-btn-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
}
.location-btn-text {
  z-index: 1;
  font-size: clamp(
    10px,
    2.5vw,
    14px
  ) !important; /* responsive text that shrinks to fit */
  line-height: 1.2;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  width: 100%; /* full width for text */
  white-space: normal;
  text-transform: none !important; /* prevent text capitalization */
}
.location-corner-btn {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 20px;
  height: 20px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10; /* Higher z-index to float above everything */
  transition: all 0.2s ease;
  border: none;
  box-shadow: none;
  opacity: 1 !important;
  visibility: visible !important;
}
.location-corner-btn:hover {
  background-color: rgba(211, 47, 47, 0.1);
  transform: scale(1.1);
}
.location-corner-btn svg {
  color: #d32f2f !important; /* Red color by default */
  width: 12px !important;
  height: 12px !important;
  display: block !important;
}
.location-corner-btn:hover svg {
  color: #b71c1c !important; /* Darker red on hover */
}

.visibility-conditions-editor[data-v-beecfe2a] {
  border-radius: 8px;
  background-color: #f8f9fa;
}
.form-label[data-v-beecfe2a] {
  font-size: 14px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.87);
}
.conditional-fields-container[data-v-beecfe2a] {
  padding-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.condition-fields[data-v-beecfe2a] {
  display: flex;
  flex-direction: column;
}
.condition-preview[data-v-beecfe2a] {
  margin-top: 16px;
  background-color: #f5f5f5;
}

.config-section[data-v-45868d86] {
  padding: 16px 0;
}
.button-config[data-v-45868d86] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px;
  background-color: #fafafa;
}
.field-config[data-v-45868d86] {
  background-color: #fafafa;
}

.step-types-grid[data-v-b51da02d] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
}
.step-type-card[data-v-b51da02d] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: white;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.step-type-card[data-v-b51da02d]:hover {
  border-color: #1976d2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.step-type-icon[data-v-b51da02d] {
  width: 40px;
  height: 40px;
  background-color: #e3f2fd;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1976d2;
  font-size: 20px;
  flex-shrink: 0;
}
.step-type-content[data-v-b51da02d] {
  flex: 1;
}
.step-type-content h6[data-v-b51da02d] {
  margin: 0 0 4px 0;
  font-weight: 600;
  color: #333;
}
.step-type-content p[data-v-b51da02d] {
  margin: 0;
  color: #666;
  font-size: 12px;
  line-height: 1.4;
}

.action-dialog[data-v-9dc7f8ce] {
  border-radius: 16px !important;
}
.dialog-title[data-v-9dc7f8ce] {
  padding: 24px 24px 16px 24px;
  font-weight: 600;
  font-size: 1.25rem;
}
.dialog-content[data-v-9dc7f8ce] {
  padding: 0 24px 16px 24px;
}
.dialog-description[data-v-9dc7f8ce] {
  color: rgba(0, 0, 0, 0.7);
  font-size: 0.9rem;
  line-height: 1.5;
}
.dialog-html-body[data-v-9dc7f8ce] {
  line-height: 1.6;
}
.dialog-actions[data-v-9dc7f8ce] {
  padding: 16px 24px 24px 24px;
}
.option-content[data-v-9dc7f8ce] {
  width: 100%;
}
.option-description[data-v-9dc7f8ce] {
  font-size: 0.8rem;
  color: rgba(0, 0, 0, 0.6);
  margin-top: 4px;
}
.bullets-list .v-list-item[data-v-9dc7f8ce] {
  border-radius: 8px;
  margin-bottom: 4px;
}
.selected-bullet[data-v-9dc7f8ce] {
  background-color: rgba(25, 118, 210, 0.08);
}

/* Tone variations */
.tone-info .dialog-title[data-v-9dc7f8ce] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.tone-success .dialog-title[data-v-9dc7f8ce] {
  background-color: #e8f5e8;
  color: #2e7d32;
}
.tone-warning .dialog-title[data-v-9dc7f8ce] {
  background-color: #fff8e1;
  color: #f57c00;
}
.tone-danger .dialog-title[data-v-9dc7f8ce] {
  background-color: #ffebee;
  color: #d32f2f;
}
.tone-neutral .dialog-title[data-v-9dc7f8ce] {
  background-color: #f5f5f5;
  color: #333;
}

/* Ensure dialog buttons are visible */
.dialog-button[data-v-9dc7f8ce] {
  opacity: 1 !important;
  visibility: visible !important;
  min-width: 80px !important;
  font-weight: 500 !important;
}
.dialog-button .v-btn__content[data-v-9dc7f8ce] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Force button colors for better visibility */
.dialog-button.v-btn--variant-elevated[data-v-9dc7f8ce] {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}
.dialog-button.v-btn--variant-outlined[data-v-9dc7f8ce] {
  border-width: 2px !important;
}

/* Text Field Styling */
.dialog-text-fields[data-v-9dc7f8ce] {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 16px;
}
.text-field-container[data-v-9dc7f8ce] {
  position: relative;
}
.field-label[data-v-9dc7f8ce] {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.7);
  font-size: 0.875rem;
}
.text-field-input[data-v-9dc7f8ce] {
  background: white;
}
.text-field-input .v-field__input[data-v-9dc7f8ce] {
  min-height: 40px;
  padding: 8px 12px;
}
.field-help-text[data-v-9dc7f8ce] {
  line-height: 1.4;
  margin-top: 4px;
}

.dialog-editor[data-v-0c7a3c28] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  padding-left: 40px;
  padding-right: 40px;
}
.builder-form[data-v-0c7a3c28] {
  height: 100%;
  overflow-y: auto;
}
.option-editor[data-v-0c7a3c28],
.button-editor[data-v-0c7a3c28] {
  transition: all 0.2s ease;
}
.option-editor[data-v-0c7a3c28]:hover,
.button-editor[data-v-0c7a3c28]:hover {
  transform: translateY(-1px);
}
.cursor-pointer[data-v-0c7a3c28] {
  cursor: pointer;
}
code[data-v-0c7a3c28] {
  background: rgba(0, 0, 0, 0.05);
  padding: 2px 4px;
  border-radius: 4px;
  font-family: "Courier New", monospace;
}
.gap-2[data-v-0c7a3c28] {
  gap: 8px;
}

/* Custom checkbox styling */
.custom-checkbox[data-v-0c7a3c28] {
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #666 !important;
  border-radius: 3px !important;
  background-color: white !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  position: relative !important;
  margin: 0 !important;
}
.custom-checkbox[data-v-0c7a3c28]:checked {
  background-color: #1976d2 !important;
  border-color: #1976d2 !important;
}
.custom-checkbox[data-v-0c7a3c28]:checked::after {
  content: "✓" !important;
  position: absolute !important;
  top: -2px !important;
  left: 2px !important;
  color: white !important;
  font-size: 12px !important;
  font-weight: bold !important;
}
.custom-checkbox[data-v-0c7a3c28]:hover {
  border-color: #1976d2 !important;
}

/* Ensure action buttons are visible */
.action-button[data-v-0c7a3c28] {
  opacity: 1 !important;
  visibility: visible !important;
  border: 1px solid !important;
}
.action-button .v-icon[data-v-0c7a3c28] {
  opacity: 1 !important;
  visibility: visible !important;
  color: inherit !important;
}

/* Force button visibility */
.v-btn.action-button[data-v-0c7a3c28] {
  background-color: white !important;
  color: inherit !important;
}
.v-btn.action-button[data-v-0c7a3c28]:hover {
  background-color: rgba(0, 0, 0, 0.05) !important;
}

.review-widget-builder[data-v-daa87959] {
  width: 100%;
}

/* Section styling */
.section-container[data-v-daa87959] {
  margin-bottom: 24px;
}
.section-title[data-v-daa87959] {
  font-size: 18px;
  font-weight: 600;
  color: #18181b;
  margin-bottom: 16px;
}
.section-header[data-v-daa87959] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.section-header .section-title[data-v-daa87959] {
  margin-bottom: 0;
}
.section-content[data-v-daa87959] {
  padding: 0;
}
.section-separator[data-v-daa87959] {
  height: 1px;
  background-color: #e4e4e7;
  margin: 24px 0;
}
.review-field-item[data-v-daa87959] {
  transition: all 0.2s ease;
}
.review-field-item[data-v-daa87959]:hover {
  transform: translateY(-1px);
}
.field-type-option[data-v-daa87959] {
  cursor: pointer;
  transition: all 0.2s ease;
}
.field-type-option[data-v-daa87959]:hover {
  border-color: #1976d2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.category-item[data-v-daa87959] {
  background-color: transparent;
  transition: all 0.2s ease;
  padding: 0;
}
.category-item[data-v-daa87959]:hover {
  background-color: transparent;
}
.drag-handle[data-v-daa87959] {
  cursor: grab;
  padding: 0;
  display: flex;
  align-items: center;
}
.drag-handle[data-v-daa87959]:active {
  cursor: grabbing;
}
.drag-icon[data-v-daa87959] {
  width: 20px;
  height: 20px;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.drag-handle:hover .drag-icon[data-v-daa87959] {
  opacity: 1;
}
.delete-btn[data-v-daa87959] {
  padding: 0;
  min-width: auto;
  width: auto;
  height: auto;
}
.delete-icon[data-v-daa87959] {
  width: 20px;
  height: 20px;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.delete-btn:hover .delete-icon[data-v-daa87959] {
  opacity: 1;
}
.field-actions[data-v-daa87959] {
  border-top: 1px solid #e0e0e0;
}
.category-item.dragging[data-v-daa87959] {
  opacity: 0.5;
  transform: rotate(2deg);
}
.category-item.drag-over[data-v-daa87959] {
  border-color: #1976d2;
  background-color: #f0f8ff;
}
.field-type-icon[data-v-daa87959] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  object-fit: contain;
}
.field-type-icon.star[data-v-daa87959] {
  width: 18px;
  height: 18px;
}

/* Large icon buttons for better visibility (match ActionEditor) */
.large-icon-btn[data-v-daa87959] {
  font-size: 18px !important;
  font-weight: bold !important;
  min-width: 40px !important;
  height: 40px !important;
}

/* Custom checkbox styling for better visibility (match ActionEditor) */
.display-checkbox-item[data-v-daa87959] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  min-height: 40px;
  padding: 0px 0;
}
.display-checkbox[data-v-daa87959] {
  width: 18px;
  height: 18px;
  margin-right: 12px;
  cursor: pointer;
  accent-color: #1976d2;
  transform: scale(1.2);
}
.display-checkbox[data-v-daa87959]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.display-checkbox-label[data-v-daa87959] {
  font-weight: 500;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
  margin: 0;
  padding: 0;
}
.display-checkbox-label[data-v-daa87959]:hover {
  color: #1976d2;
}
.field-type-icon.number[data-v-daa87959] {
  width: 18px;
  height: 18px;
}
.field-type-icon.tags[data-v-daa87959] {
  width: 18px;
  height: 18px;
}
.field-type-icon.textfield[data-v-daa87959] {
  width: 18px;
  height: 18px;
}
.field-type-option .field-type-icon.star[data-v-daa87959] {
  width: 20px;
  height: 20px;
}
.field-type-option .field-type-icon.number[data-v-daa87959] {
  width: 20px;
  height: 20px;
}
.field-type-option .field-type-icon.tags[data-v-daa87959] {
  width: 20px;
  height: 20px;
}
.field-type-option .field-type-icon.textfield[data-v-daa87959] {
  width: 20px;
  height: 20px;
}
.gap-2[data-v-daa87959] {
  gap: 8px;
}

/* Ensure required checkbox is visible */
[data-v-daa87959] .v-checkbox .v-selection-control {
  background-color: white;
}
[data-v-daa87959] .v-checkbox .v-selection-control__input {
  background-color: white;
  border: 1px solid #ccc;
}
[data-v-daa87959] .v-checkbox .v-selection-control__input--checked {
  background-color: #1976d2;
  border-color: #1976d2;
}
[data-v-daa87959] 
    .v-checkbox
      .v-selection-control__input--checked
      .v-selection-control__input__icon
   {
  color: white;
}
[data-v-daa87959] 
    .v-checkbox
      .v-selection-control__input:not(.v-selection-control__input--checked)
      .v-selection-control__input__icon
   {
  color: transparent;
}
[data-v-daa87959] .v-checkbox .v-selection-control__input:hover {
  border-color: #1976d2;
}

/* Auto-expand textarea styling */
.auto-expand-textarea[data-v-daa87959] {
  resize: none;
  overflow: visible;
}
.auto-expand-textarea[data-v-daa87959] .v-field__input {
  min-height: auto;
  resize: none;
}
.auto-expand-textarea[data-v-daa87959] .v-field {
  padding-top: 8px;
  padding-bottom: 8px;
}
.auto-expand-textarea[data-v-daa87959] .v-field__field {
  padding-top: 4px;
}
.auto-expand-textarea[data-v-daa87959] .v-label {
  top: 8px;
  transform: translateY(-50%);
}

.email-step-component[data-v-6dc1e12b] {
  padding: 24px;
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}
.loading-container[data-v-6dc1e12b],
.success-container[data-v-6dc1e12b],
.error-container[data-v-6dc1e12b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.loading-content[data-v-6dc1e12b],
.success-content[data-v-6dc1e12b],
.error-content[data-v-6dc1e12b] {
  text-align: center;
}
.success-icon[data-v-6dc1e12b] {
  width: 60px;
  height: 60px;
  background-color: #e8f5e8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4caf50;
  font-size: 28px;
}
.error-icon[data-v-6dc1e12b] {
  width: 60px;
  height: 60px;
  background-color: #ffebee;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f44336;
  font-size: 28px;
}
.error-actions[data-v-6dc1e12b] {
  margin-top: 16px;
}
.preview-container[data-v-6dc1e12b] {
  text-align: left;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 16px;
}
.preview-header[data-v-6dc1e12b] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  color: #1976d2;
  font-weight: 600;
}
.preview-content[data-v-6dc1e12b] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.preview-field[data-v-6dc1e12b] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.preview-field strong[data-v-6dc1e12b] {
  color: #333;
  font-weight: 600;
}
.preview-message[data-v-6dc1e12b] {
  background-color: white;
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  white-space: pre-wrap;
  font-family: monospace;
  font-size: 14px;
}
.loading-container[data-v-6dc1e12b] {
  min-height: 120px;
  justify-content: center;
}

.communication-progress[data-v-e929cee0] {
  position: fixed;
  top: 20px;
  right: 20px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 1px solid #e0e0e0;
  z-index: 1000;
  min-width: 300px;
  max-width: 400px;
}
.progress-content[data-v-e929cee0] {
  display: flex;
  align-items: center;
  padding: 16px;
  gap: 12px;
}
.progress-indicator[data-v-e929cee0] {
  flex-shrink: 0;
}
.progress-text[data-v-e929cee0] {
  flex: 1;
  min-width: 0;
}
.status-text[data-v-e929cee0] {
  font-weight: 500;
  color: #1a1a1a;
  font-size: 14px;
  line-height: 1.4;
}
.communication-id[data-v-e929cee0] {
  font-size: 12px;
  color: #666;
  margin-top: 2px;
  font-family: monospace;
}
.progress-actions[data-v-e929cee0] {
  flex-shrink: 0;
}

/* Mobile responsiveness */
@media (max-width: 600px) {
.communication-progress[data-v-e929cee0] {
    top: 10px;
    right: 10px;
    left: 10px;
    min-width: auto;
    max-width: none;
}
}

.toast-content[data-v-681fffc2] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.toast-main[data-v-681fffc2] {
  display: flex;
  align-items: center;
  font-weight: 500;
}
.toast-message[data-v-681fffc2] {
  flex: 1;
  line-height: 1.4;
}
.toast-details[data-v-681fffc2] {
  margin-left: 32px; /* Align with message text */
}
.toast-detail[data-v-681fffc2] {
  font-size: 13px;
  opacity: 0.9;
  margin-bottom: 2px;
}
.toast-detail[data-v-681fffc2]:last-child {
  margin-bottom: 0;
}
.toast-actions[data-v-681fffc2] {
  margin-left: 32px; /* Align with message text */
  margin-top: 4px;
}

/* Mobile responsiveness */
@media (max-width: 600px) {
.toast-details[data-v-681fffc2],
  .toast-actions[data-v-681fffc2] {
    margin-left: 0;
}
}

.phone-step-component[data-v-e4fabf2f] {
  padding: 24px;
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}
.loading-container[data-v-e4fabf2f],
.success-container[data-v-e4fabf2f],
.error-container[data-v-e4fabf2f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.loading-content[data-v-e4fabf2f],
.success-content[data-v-e4fabf2f],
.error-content[data-v-e4fabf2f] {
  text-align: center;
}
.success-icon[data-v-e4fabf2f] {
  width: 60px;
  height: 60px;
  background-color: #e8f5e8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4caf50;
  font-size: 28px;
}
.error-icon[data-v-e4fabf2f] {
  width: 60px;
  height: 60px;
  background-color: #ffebee;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f44336;
  font-size: 28px;
}
.call-info[data-v-e4fabf2f] {
  margin-top: 16px;
  padding: 12px;
  background-color: #f5f5f5;
  border-radius: 8px;
  text-align: left;
}
.call-detail[data-v-e4fabf2f] {
  margin-bottom: 8px;
  font-size: 14px;
}
.call-detail[data-v-e4fabf2f]:last-child {
  margin-bottom: 0;
}
.error-actions[data-v-e4fabf2f] {
  margin-top: 16px;
}
.preview-container[data-v-e4fabf2f] {
  text-align: left;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 16px;
}
.preview-header[data-v-e4fabf2f] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  color: #1976d2;
  font-weight: 600;
}
.preview-content[data-v-e4fabf2f] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.preview-field[data-v-e4fabf2f] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.preview-field strong[data-v-e4fabf2f] {
  color: #333;
  font-weight: 600;
}
.preview-message[data-v-e4fabf2f] {
  background-color: white;
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  white-space: pre-wrap;
  font-family: monospace;
  font-size: 14px;
}
.preview-note[data-v-e4fabf2f] {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  padding: 12px;
  background-color: #e3f2fd;
  border-radius: 4px;
  color: #1976d2;
}
.loading-container[data-v-e4fabf2f] {
  min-height: 120px;
  justify-content: center;
}

.sms-step-component[data-v-8ca396e4] {
  padding: 24px;
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}
.loading-container[data-v-8ca396e4],
.success-container[data-v-8ca396e4],
.error-container[data-v-8ca396e4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.loading-content[data-v-8ca396e4],
.success-content[data-v-8ca396e4],
.error-content[data-v-8ca396e4] {
  text-align: center;
}
.success-icon[data-v-8ca396e4] {
  width: 60px;
  height: 60px;
  background-color: #e8f5e8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4caf50;
  font-size: 28px;
}
.error-icon[data-v-8ca396e4] {
  width: 60px;
  height: 60px;
  background-color: #ffebee;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f44336;
  font-size: 28px;
}
.sms-info[data-v-8ca396e4] {
  margin-top: 16px;
  padding: 12px;
  background-color: #f5f5f5;
  border-radius: 8px;
  text-align: left;
}
.sms-detail[data-v-8ca396e4] {
  margin-bottom: 8px;
  font-size: 14px;
}
.sms-detail[data-v-8ca396e4]:last-child {
  margin-bottom: 0;
}
.error-actions[data-v-8ca396e4] {
  margin-top: 16px;
}
.preview-container[data-v-8ca396e4] {
  text-align: left;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 16px;
}
.preview-header[data-v-8ca396e4] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  color: #1976d2;
  font-weight: 600;
}
.preview-content[data-v-8ca396e4] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.preview-field[data-v-8ca396e4] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.preview-field strong[data-v-8ca396e4] {
  color: #333;
  font-weight: 600;
}
.preview-message[data-v-8ca396e4] {
  background-color: white;
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  white-space: pre-wrap;
  font-family: monospace;
  font-size: 14px;
  max-width: 300px; /* Simulate SMS width */
}
.preview-note[data-v-8ca396e4] {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  padding: 12px;
  background-color: #e3f2fd;
  border-radius: 4px;
  color: #1976d2;
}
.loading-container[data-v-8ca396e4] {
  min-height: 120px;
  justify-content: center;
}

.variable-picker[data-v-7c2891c1] {
  display: inline-block;
}
.variable-trigger[data-v-7c2891c1] {
  font-size: 12px;
  text-transform: none;
  font-weight: 500;
  color: #1976d2;
  padding: 4px 8px;
  min-width: auto;
  height: auto;
}
.variable-trigger--active[data-v-7c2891c1] {
  background-color: rgba(25, 118, 210, 0.08);
  color: #1976d2;
}
.variable-trigger[data-v-7c2891c1]:hover {
  background-color: rgba(25, 118, 210, 0.04);
}
.variable-picker-menu[data-v-7c2891c1] {
  border-radius: 12px;
  overflow: hidden;
}
.variable-list[data-v-7c2891c1] {
  max-height: 300px;
  overflow-y: auto;
}
.variable-category[data-v-7c2891c1] {
  margin-bottom: 12px;
}
.category-header[data-v-7c2891c1] {
  display: flex;
  align-items: center;
  padding: 4px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 8px;
}
.category-variables[data-v-7c2891c1] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.variable-chip[data-v-7c2891c1] {
  cursor: pointer;
  transition: all 0.2s ease;
}
.variable-chip[data-v-7c2891c1]:hover {
  background-color: rgba(25, 118, 210, 0.08);
  border-color: rgb(25, 118, 210);
  transform: translateY(-1px);
}

/* Custom scrollbar for variable list */
.variable-list[data-v-7c2891c1]::-webkit-scrollbar {
  width: 6px;
}
.variable-list[data-v-7c2891c1]::-webkit-scrollbar-track {
  background: transparent;
}
.variable-list[data-v-7c2891c1]::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}
.variable-list[data-v-7c2891c1]::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

.email-step-builder[data-v-c43b168d] {
  padding: 24px;
  padding-bottom: 34px;
  width: 100%;
}
.builder-content[data-v-c43b168d] {
  background: white;
  border-radius: 8px;
  width: 100%;
}
.builder-content[data-v-c43b168d] .v-form {
  padding-bottom: 10px;
}
.form-label[data-v-c43b168d] {
  font-weight: 600;
  color: #1a1a1a;
  font-size: 14px;
}
[data-v-c43b168d] .v-expansion-panel-title {
  font-weight: 500;
}
[data-v-c43b168d] .v-expansion-panel-text {
  padding-top: 8px;
  padding-bottom: 8px;
}

.phone-step-builder[data-v-4e5beae9] {
  padding: 24px;
  padding-bottom: 34px;
  width: 100%;
}
.builder-content[data-v-4e5beae9] {
  background: white;
  border-radius: 8px;
  width: 100%;
}
.builder-content[data-v-4e5beae9] .v-form {
  padding-bottom: 10px;
}
.form-label[data-v-4e5beae9] {
  font-weight: 600;
  color: #1a1a1a;
  font-size: 14px;
}
[data-v-4e5beae9] .v-expansion-panel-title {
  font-weight: 500;
}
[data-v-4e5beae9] .v-expansion-panel-text {
  padding-top: 8px;
  padding-bottom: 8px;
}
[data-v-4e5beae9] .v-alert {
  padding: 0 !important;
  margin: 0 !important;
}
[data-v-4e5beae9] .v-alert__content {
  padding: 0 !important;
  margin: 0 !important;
}
[data-v-4e5beae9] .v-alert__prepend {
  margin: 0 !important;
  padding: 0 !important;
}
[data-v-4e5beae9] .v-alert ul {
  padding-left: 20px;
  padding-bottom: 20px;
  margin: 0;
}
[data-v-4e5beae9] .v-alert li {
  margin-bottom: 4px;
}

.sms-step-builder[data-v-0b317499] {
  padding: 24px;
  padding-bottom: 34px;
  width: 100%;
}
.builder-content[data-v-0b317499] {
  background: white;
  border-radius: 8px;
  width: 100%;
}
.builder-content[data-v-0b317499] .v-form {
  padding-bottom: 10px;
}
.form-label[data-v-0b317499] {
  font-weight: 600;
  color: #1a1a1a;
  font-size: 14px;
}
[data-v-0b317499] .v-expansion-panel-title {
  font-weight: 500;
}
[data-v-0b317499] .v-expansion-panel-text {
  padding-top: 8px;
  padding-bottom: 8px;
}
[data-v-0b317499] .v-alert ul {
  padding-left: 20px;
}
[data-v-0b317499] .v-alert li {
  margin-bottom: 4px;
}

.location-step[data-v-856c412e] {
  padding: 24px;
  background: white;
  border-radius: 12px;
  max-width: 500px;
  margin: 0 auto;
}
.location-step-message[data-v-856c412e] {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}
.message-icon[data-v-856c412e] {
  flex-shrink: 0;
}
.message-content[data-v-856c412e] {
  flex: 1;
}
.message-title[data-v-856c412e] {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0 0 8px 0;
}
.message-description[data-v-856c412e] {
  font-size: 14px;
  color: #666;
  margin: 0 0 8px 0;
  line-height: 1.5;
}
.message-instruction[data-v-856c412e] {
  font-size: 14px;
  color: #999;
  margin: 0;
  font-style: italic;
}
.location-quick-info[data-v-856c412e] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.quick-info-item[data-v-856c412e] {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #555;
  padding: 4px 0;
}
.location-step-actions[data-v-856c412e] {
  display: flex;
  gap: 12px;
}

.location-builder[data-v-1117197d] {
  padding: 16px;
  max-height: 100%;
  overflow-y: auto;
}
.builder-section[data-v-1117197d] {
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
.section-title[data-v-1117197d] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
}
.form-group[data-v-1117197d] {
  position: relative;
}
.color-field[data-v-1117197d] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.color-preview[data-v-1117197d] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 2px solid #e0e0e0;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.color-preview[data-v-1117197d]:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.hours-list[data-v-1117197d] {
  background: white;
  border-radius: 6px;
  padding: 12px;
}
.hours-item[data-v-1117197d] {
  background: #f8f9fa;
  padding: 8px;
  border-radius: 6px;
}
.coordinates-display[data-v-1117197d] {
  padding: 12px;
  background: white;
  border-radius: 6px;
  margin-top: 8px;
}
.drag-hint[data-v-1117197d] {
  display: flex;
  align-items: center;
  background: #f0f8ff;
  border: 1px dashed #2791cc;
  border-radius: 4px;
  padding: 5px 8px;
}
.pin-info-row[data-v-1117197d] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  width: 100%;
}
.pin-info-label[data-v-1117197d] {
  color: #666;
  flex-shrink: 0;
  white-space: nowrap;
}
.pin-info-value[data-v-1117197d] {
  color: #333;
  font-variant-numeric: tabular-nums;
  margin-left: auto;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.floor-select[data-v-1117197d] {
  max-width: 140px;
  flex-shrink: 0;
  margin-left: auto;
}
.builder-actions[data-v-1117197d] {
  display: flex;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #e0e0e0;
}
.custom-colors-section[data-v-1117197d] {
  margin-top: 12px;
}
.time-input[data-v-1117197d] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  width: 100%;
  max-width: 120px;
}
.time-input[data-v-1117197d]:focus {
  outline: none;
  border-color: #2791cc;
  box-shadow: 0 0 0 2px rgba(39, 145, 204, 0.1);
}
.gap-2[data-v-1117197d] {
  gap: 8px;
}

/* Icon upload styles */
.icon-upload-area[data-v-1117197d] {
  width: 100%;
  height: 60px;
  border: 2px dashed #ccc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  background: #f8f9fa;
}
.icon-upload-area[data-v-1117197d]:hover {
  border-color: #007bff;
  background: #f0f8ff;
}
.icon-upload-area.is-dragover[data-v-1117197d] {
  border-color: #007bff;
  background: #e3f2fd;
  transform: scale(1.02);
}
.icon-upload-area.has-icon[data-v-1117197d] {
  border-style: solid;
  border-color: #28a745;
  background: white;
}
.icon-preview[data-v-1117197d] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-remove-btn[data-v-1117197d] {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  background: #dc3545;
  color: white;
  border: 2px solid white;
  cursor: pointer;
  z-index: 10;
}
.icon-upload-placeholder[data-v-1117197d] {
  text-align: center;
  color: #666;
}
.upload-icon[data-v-1117197d] {
  font-size: 20px;
  margin-bottom: 4px;
}
.upload-text[data-v-1117197d] {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
}

/* Icon search results styles */
.icon-search-results[data-v-1117197d] {
  max-width: 100%;
}
.results-header[data-v-1117197d] {
  color: #666;
  font-size: 12px;
}
.results-grid[data-v-1117197d] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-height: 200px;
  overflow-y: auto;
  padding: 8px;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}
.icon-result-item[data-v-1117197d] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  padding: 8px;
}
.icon-result-item[data-v-1117197d]:hover {
  border-color: #007bff;
  background: #f0f8ff;
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
}
.icon-result-image[data-v-1117197d] {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.image-overlay[data-v-a9478895] {
  position: fixed;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(4px);
}
.image-overlay.size-fullscreen[data-v-a9478895] {
  inset: 0;
}
.image-overlay.size-halfscreen[data-v-a9478895] {
  inset: 0;
}
.image-overlay.size-halfscreen .image-container[data-v-a9478895] {
  max-width: 60vw;
  max-height: 70vh;
}
.image-overlay.size-popup[data-v-a9478895] {
  inset: 0;
}
.image-overlay.size-popup .image-container[data-v-a9478895] {
  max-width: 480px;
  max-height: 480px;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}
.image-container[data-v-a9478895] {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 8px;
}
.image-container.loaded[data-v-a9478895] {
  background: transparent;
}
.display-image[data-v-a9478895] {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  display: block;
}
.size-halfscreen .display-image[data-v-a9478895] {
  max-width: 60vw;
  max-height: 70vh;
}
.size-popup .display-image[data-v-a9478895] {
  max-width: 480px;
  max-height: 480px;
  border-radius: 16px;
}
.close-btn[data-v-a9478895] {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, transform 0.2s;
}
.close-btn[data-v-a9478895]:hover {
  background: rgba(0, 0, 0, 0.85);
  transform: scale(1.1);
}
.loading-state[data-v-a9478895] {
  padding: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spinner[data-v-a9478895] {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-top-color: white;
  border-radius: 50%;
  animation: spin-a9478895 0.8s linear infinite;
}
@keyframes spin-a9478895 {
to {
    transform: rotate(360deg);
}
}
.error-state[data-v-a9478895] {
  padding: 40px;
  text-align: center;
  color: #999;
}
.error-state p[data-v-a9478895] {
  margin-top: 12px;
  font-size: 14px;
}.image-display-builder[data-v-f42f4c5f] {
  padding: 16px;
}
.builder-section[data-v-f42f4c5f] {
  margin-bottom: 20px;
}
.section-label[data-v-f42f4c5f] {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 14px;
  color: #333;
}
.image-preview-container[data-v-f42f4c5f] {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid #e0e0e0;
  max-width: 400px;
}
.image-preview[data-v-f42f4c5f] {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
  display: block;
  background: #f5f5f5;
}
.remove-btn[data-v-f42f4c5f] {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background 0.2s;
}
.remove-btn[data-v-f42f4c5f]:hover {
  background: rgba(0, 0, 0, 0.8);
}
.upload-area[data-v-f42f4c5f] {
  border: 2px dashed #ccc;
  border-radius: 12px;
  padding: 40px 20px;
  text-align: center;
  position: relative;
  transition: border-color 0.2s;
  max-width: 400px;
}
.upload-area[data-v-f42f4c5f]:hover {
  border-color: #999;
}
.upload-area.uploading[data-v-f42f4c5f] {
  border-color: #c8a96e;
}
.upload-prompt p[data-v-f42f4c5f] {
  margin: 8px 0 0;
  color: #666;
  font-size: 14px;
}
.upload-hint[data-v-f42f4c5f] {
  font-size: 12px !important;
  color: #999 !important;
}
.file-input[data-v-f42f4c5f] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.upload-progress .progress-bar[data-v-f42f4c5f] {
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 8px;
}
.upload-progress .progress-fill[data-v-f42f4c5f] {
  height: 100%;
  background: #c8a96e;
  border-radius: 3px;
  transition: width 0.3s;
}
.upload-progress .progress-text[data-v-f42f4c5f] {
  font-size: 13px;
  color: #666;
}
.error-message[data-v-f42f4c5f] {
  margin-top: 8px;
  color: #d32f2f;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.size-options[data-v-f42f4c5f] {
  display: flex;
  gap: 12px;
}
.size-option[data-v-f42f4c5f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 16px 20px;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
  flex: 1;
  text-align: center;
  font-size: 13px;
  color: #666;
}
.size-option i[data-v-f42f4c5f] {
  font-size: 24px;
}
.size-option[data-v-f42f4c5f]:hover {
  border-color: #c8a96e;
  color: #333;
}
.size-option.active[data-v-f42f4c5f] {
  border-color: #c8a96e;
  background: #fdf8ef;
  color: #8a6810;
  font-weight: 600;
}
.sr-only[data-v-f42f4c5f] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.text-input[data-v-f42f4c5f] {
  width: 100%;
  max-width: 400px;
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.text-input[data-v-f42f4c5f]:focus {
  border-color: #c8a96e;
}
.builder-actions[data-v-f42f4c5f] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}
.btn[data-v-f42f4c5f] {
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}
.btn-primary[data-v-f42f4c5f] {
  background: #c8a96e;
  color: white;
}
.btn-primary[data-v-f42f4c5f]:hover:not(:disabled) {
  background: #b8993e;
}
.btn-primary[data-v-f42f4c5f]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-secondary[data-v-f42f4c5f] {
  background: #f5f5f5;
  color: #666;
}
.btn-secondary[data-v-f42f4c5f]:hover {
  background: #e8e8e8;
}.whats-around-overlay[data-v-1cdf0219] {
  position: fixed;
  inset: 0;
  z-index: 500;
  pointer-events: none;
}
.wa-strip[data-v-1cdf0219] {
  pointer-events: all;
  position: absolute;
  /* top/left from inline style (measured from Search); fallback if style missing */
  top: 72px;
  left: 16px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
  border-radius: 22px;
  padding: 6px 18px;
  font-size: 12px;
  color: #555;
  font-weight: 500;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12);
  white-space: nowrap;
  /* Above the top-bar (1000) so it's never obscured */
  z-index: 1100;
  display: flex;
  align-items: center;
  gap: 8px;
  animation: slideDown-1cdf0219 0.3s ease;
}
@keyframes slideDown-1cdf0219 {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.wa-dot[data-v-1cdf0219] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c8a96e;
  flex-shrink: 0;
  animation: pulse-1cdf0219 1.5s infinite;
}
@keyframes pulse-1cdf0219 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.3;
}
}
.wa-close-strip[data-v-1cdf0219] {
  background: none;
  border: none;
  cursor: pointer;
  color: #999;
  font-size: 16px;
  padding: 0 0 0 4px;
  display: flex;
  align-items: center;
  transition: color 0.2s;
}
.wa-close-strip[data-v-1cdf0219]:hover {
  color: #333;
}
.poi-card[data-v-1cdf0219] {
  pointer-events: all;
  position: absolute;
  cursor: pointer;
  z-index: 400;
  opacity: 0;
  animation: popIn-1cdf0219 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  filter: drop-shadow(0 5px 20px rgba(0, 0, 0, 0.22));
  transition: filter 0.2s, transform 0.2s;
}
.poi-card[data-v-1cdf0219]:hover {
  filter: drop-shadow(0 10px 32px rgba(0, 0, 0, 0.3));
  transform: translateY(-3px) scale(1.02);
  z-index: 420;
}
@keyframes popIn-1cdf0219 {
from {
    opacity: 0;
    transform: scale(0.65);
}
to {
    opacity: 1;
    transform: scale(1);
}
}
.card[data-v-1cdf0219] {
  position: relative;
  z-index: 1;
  width: 155px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.poi-card:hover .card[data-v-1cdf0219] {
  box-shadow: inset 0 0 0 2.5px #c8a96e;
}
.tail[data-v-1cdf0219] {
  position: absolute;
  z-index: 0;
  width: 16px;
  height: 16px;
  background: #c8a96e;
  transform: rotate(45deg);
  box-shadow: 0 0 0 2.5px #fff;
  transition: background 0.2s;
}
.poi-card:hover .tail[data-v-1cdf0219] {
  background: #b8993e;
}
.dir-n .tail[data-v-1cdf0219] {
  top: -8px;
  left: calc(50% - 8px);
}
.dir-e .tail[data-v-1cdf0219] {
  right: -8px;
  top: calc(50% - 8px);
}
.dir-s .tail[data-v-1cdf0219] {
  bottom: -8px;
  left: calc(50% - 8px);
}
.dir-w .tail[data-v-1cdf0219] {
  left: -8px;
  top: calc(50% - 8px);
}
.dir-nw .tail[data-v-1cdf0219] {
  top: -8px;
  left: 20px;
}
.dir-ne .tail[data-v-1cdf0219] {
  top: -8px;
  right: 20px;
}
.dir-se .tail[data-v-1cdf0219] {
  bottom: -8px;
  right: 20px;
}
.dir-sw .tail[data-v-1cdf0219] {
  bottom: -8px;
  left: 20px;
}
.thumb[data-v-1cdf0219] {
  width: 100%;
  height: 80px;
  position: relative;
  overflow: hidden;
}
.thumb img[data-v-1cdf0219] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.thumb[data-v-1cdf0219]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.38) 100%);
  pointer-events: none;
}
.thumb-placeholder[data-v-1cdf0219] {
  width: 100%;
  height: 80px;
  background: linear-gradient(135deg, #e8e2d6, #d4cfc4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a09080;
  font-size: 32px;
}
.dir-badge[data-v-1cdf0219] {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  background: rgba(0, 0, 0, 0.52);
  color: #fff;
  font-size: 9.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 9px;
  backdrop-filter: blur(4px);
  letter-spacing: 0.3px;
}
.dist-pill[data-v-1cdf0219] {
  position: absolute;
  bottom: 6px;
  z-index: 2;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  color: #333;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 10px;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
.body[data-v-1cdf0219] {
  padding: 8px 10px 10px;
}
.name[data-v-1cdf0219] {
  font-size: 12.5px;
  font-weight: 700;
  color: #222;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sub[data-v-1cdf0219] {
  margin-top: 3px;
  font-size: 10.5px;
  color: #777;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}.whats-around-builder[data-v-7c056ca4] {
  padding: 0 16px;
  margin-bottom: 0;
  /* Scroll is handled by EnhancedStepEditor .step-editor-scroll-container; nested
     max-height here left empty space at the bottom of the dialog. */
}
.builder-section[data-v-7c056ca4] {
  margin-bottom: 20px;
}
.whats-around-builder > .builder-section[data-v-7c056ca4]:last-of-type {
  margin-bottom: 0;
}
.section-label[data-v-7c056ca4] {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 14px;
  color: #333;
}
.text-input[data-v-7c056ca4] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.text-input[data-v-7c056ca4]:focus {
  border-color: #c8a96e;
}
.search-container[data-v-7c056ca4] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.search-input-wrapper[data-v-7c056ca4] {
  position: relative;
  display: flex;
  align-items: center;
}
.search-icon[data-v-7c056ca4] {
  position: absolute;
  left: 12px;
  font-size: 20px;
  color: #999;
}
.search-input[data-v-7c056ca4] {
  width: 100%;
  padding: 12px 14px 12px 40px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.search-input[data-v-7c056ca4]:focus {
  border-color: #c8a96e;
}
.search-spinner[data-v-7c056ca4] {
  width: 20px;
  height: 20px;
  border: 2px solid #e0e0e0;
  border-top-color: #c8a96e;
  border-radius: 50%;
  animation: spin-7c056ca4 0.7s linear infinite;
  position: absolute;
  right: 12px;
}
.search-spinner-inline[data-v-7c056ca4] {
  width: 16px;
  height: 16px;
  border: 2px solid #e0e0e0;
  border-top-color: #c8a96e;
  border-radius: 50%;
  animation: spin-7c056ca4 0.7s linear infinite;
  flex-shrink: 0;
}
@keyframes spin-7c056ca4 {
to {
    transform: rotate(360deg);
}
}
.travel-mode-toggle[data-v-7c056ca4] {
  display: flex;
  gap: 8px;
}
.travel-btn[data-v-7c056ca4] {
  padding: 8px 16px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  background: white;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s;
}
.travel-btn[data-v-7c056ca4]:hover {
  border-color: #c8a96e;
}
.travel-btn.active[data-v-7c056ca4] {
  border-color: #c8a96e;
  background: #fdf8ef;
  font-weight: 600;
}
.error-message[data-v-7c056ca4] {
  margin-top: 8px;
  color: #d32f2f;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.enriching-notice[data-v-7c056ca4] {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  font-size: 13px;
}
.search-results[data-v-7c056ca4] {
  margin-top: 8px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  max-height: 300px;
  overflow-y: auto;
}
.search-result-item[data-v-7c056ca4] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
  transition: background 0.15s;
  border-bottom: 1px solid #f0f0f0;
}
.search-result-item[data-v-7c056ca4]:last-child {
  border-bottom: none;
}
.search-result-item[data-v-7c056ca4]:hover {
  background: #fafafa;
}
.search-result-item.added[data-v-7c056ca4] {
  opacity: 0.5;
  cursor: default;
}
.result-photo[data-v-7c056ca4] {
  flex-shrink: 0;
}
.result-thumb-placeholder[data-v-7c056ca4] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 18px;
}
.result-info[data-v-7c056ca4] {
  flex: 1;
  min-width: 0;
}
.result-name[data-v-7c056ca4] {
  font-weight: 600;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.result-address[data-v-7c056ca4] {
  font-size: 12px;
  color: #888;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}
.added-badge[data-v-7c056ca4] {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #4caf50;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}
.add-badge[data-v-7c056ca4] {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f0f0f0;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
  transition: all 0.2s;
}
.search-result-item:hover .add-badge[data-v-7c056ca4] {
  background: #c8a96e;
  color: white;
}
.poi-list[data-v-7c056ca4] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.poi-item[data-v-7c056ca4] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  transition: border-color 0.2s;
}
.poi-item[data-v-7c056ca4]:hover {
  border-color: #c8a96e;
}
.poi-item.poi-item--editing[data-v-7c056ca4] {
  border-color: #c8a96e;
  background: #fdfaf5;
  align-items: stretch;
}
.poi-photo[data-v-7c056ca4] {
  flex-shrink: 0;
}
.poi-thumb[data-v-7c056ca4] {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
}
.poi-thumb-placeholder[data-v-7c056ca4] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 20px;
}
.poi-details[data-v-7c056ca4] {
  flex: 1;
  min-width: 0;
}
.poi-header[data-v-7c056ca4] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
}
.poi-name[data-v-7c056ca4] {
  font-weight: 600;
  font-size: 14px;
  color: #333;
}
.poi-direction[data-v-7c056ca4] {
  font-size: 11px;
  color: #888;
  background: #f5f5f5;
  padding: 2px 7px;
  border-radius: 10px;
  flex-shrink: 0;
}
.poi-description[data-v-7c056ca4] {
  font-size: 12px;
  color: #666;
  margin-bottom: 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.poi-meta[data-v-7c056ca4] {
  font-size: 12px;
  color: #888;
  display: flex;
  gap: 4px;
}
.poi-duration[data-v-7c056ca4] {
  color: #888;
}
.poi-type-row[data-v-7c056ca4] {
  font-size: 11px;
  color: #c8a96e;
  font-weight: 500;
  margin-top: 3px;
}
.poi-action-btns[data-v-7c056ca4] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}
.poi-action-btns.poi-action-btns--edit[data-v-7c056ca4] {
  justify-content: flex-start;
  padding-top: 2px;
}
.icon-btn[data-v-7c056ca4] {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  transition: all 0.2s;
}
.edit-btn[data-v-7c056ca4] {
  background: #f0f0f0;
  color: #666;
}
.edit-btn[data-v-7c056ca4]:hover {
  background: #c8a96e;
  color: white;
}
.remove-btn[data-v-7c056ca4] {
  background: #f0f0f0;
  color: #999;
}
.remove-btn[data-v-7c056ca4]:hover {
  background: #ff5252;
  color: white;
}
.save-btn[data-v-7c056ca4] {
  background: #4caf50;
  color: white;
}
.save-btn[data-v-7c056ca4]:hover {
  background: #388e3c;
}
.cancel-btn[data-v-7c056ca4] {
  background: #f0f0f0;
  color: #999;
}
.cancel-btn[data-v-7c056ca4]:hover {
  background: #e0e0e0;
}
.edit-image-col[data-v-7c056ca4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.poi-thumb-large[data-v-7c056ca4] {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid #e0e0e0;
}
.poi-thumb-placeholder--large[data-v-7c056ca4] {
  width: 72px;
  height: 72px;
  border-radius: 8px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
  font-size: 28px;
  border: 2px dashed #ddd;
}
.change-image-btn[data-v-7c056ca4] {
  padding: 4px 8px;
  border: 1px solid #c8a96e;
  border-radius: 6px;
  background: white;
  color: #c8a96e;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 3px;
  transition: all 0.15s;
}
.change-image-btn[data-v-7c056ca4]:hover {
  background: #c8a96e;
  color: white;
}
.edit-fields[data-v-7c056ca4] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.edit-header-row[data-v-7c056ca4] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.edit-input[data-v-7c056ca4] {
  padding: 6px 10px;
  border: 1.5px solid #e0e0e0;
  border-radius: 7px;
  font-size: 13px;
  outline: none;
  transition: border-color 0.2s;
}
.edit-input[data-v-7c056ca4]:focus {
  border-color: #c8a96e;
}
.edit-name[data-v-7c056ca4] {
  flex: 1;
  font-weight: 600;
}
.edit-textarea[data-v-7c056ca4] {
  padding: 6px 10px;
  border: 1.5px solid #e0e0e0;
  border-radius: 7px;
  font-size: 12px;
  outline: none;
  resize: vertical;
  min-height: 44px;
  font-family: inherit;
  transition: border-color 0.2s;
}
.edit-textarea[data-v-7c056ca4]:focus {
  border-color: #c8a96e;
}
.edit-type[data-v-7c056ca4] {
  width: 100%;
  font-size: 12px;
  color: #c8a96e;
}
.edit-meta-row[data-v-7c056ca4] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.edit-dist[data-v-7c056ca4], .edit-dur[data-v-7c056ca4] {
  font-size: 12px;
  color: #888;
}
.travel-mode-mini[data-v-7c056ca4] {
  display: flex;
  gap: 3px;
}
.mini-travel-btn[data-v-7c056ca4] {
  width: 28px;
  height: 26px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: white;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s;
}
.mini-travel-btn[data-v-7c056ca4]:hover {
  border-color: #c8a96e;
}
.mini-travel-btn.active[data-v-7c056ca4] {
  border-color: #c8a96e;
  background: #fdf8ef;
}
.change-location-btn[data-v-7c056ca4] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: background-color 0.15s, color 0.15s;
}
.change-location-btn[data-v-7c056ca4]:hover {
  filter: brightness(0.92);
}
.builder-actions[data-v-7c056ca4] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 12px;
  padding-bottom: 0;
  margin-bottom: 0;
  margin-top: 12px;
  border-top: 1px solid #eee;
}
.btn[data-v-7c056ca4] {
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}
.btn-primary[data-v-7c056ca4] {
  background: #c8a96e;
  color: white;
}
.btn-primary[data-v-7c056ca4]:hover:not(:disabled) {
  background: #b8993e;
}
.btn-primary[data-v-7c056ca4]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-secondary[data-v-7c056ca4] {
  background: #f5f5f5;
  color: #666;
}
.btn-secondary[data-v-7c056ca4]:hover {
  background: #e8e8e8;
}
.image-picker-overlay[data-v-7c056ca4] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.image-picker-modal[data-v-7c056ca4] {
  background: white;
  border-radius: 16px;
  width: 100%;
  max-width: 640px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.image-picker-header[data-v-7c056ca4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #f0f0f0;
}
.image-picker-header h3[data-v-7c056ca4] {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #222;
}
.picker-close-btn[data-v-7c056ca4] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: #f5f5f5;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.15s;
}
.picker-close-btn[data-v-7c056ca4]:hover {
  background: #e0e0e0;
}
.image-picker-body[data-v-7c056ca4] {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.selected-preview[data-v-7c056ca4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.selected-preview-img[data-v-7c056ca4] {
  width: 100%;
  max-height: 180px;
  object-fit: cover;
  border-radius: 10px;
  border: 2px solid #c8a96e;
}
.selected-label[data-v-7c056ca4] {
  font-size: 11px;
  color: #c8a96e;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.photos-section-label[data-v-7c056ca4] {
  font-size: 12px;
  font-weight: 600;
  color: #888;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.photos-loading[data-v-7c056ca4], .photos-empty[data-v-7c056ca4] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #999;
  font-size: 13px;
  padding: 8px 0;
}
.photos-grid[data-v-7c056ca4] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 8px;
}
.photo-option[data-v-7c056ca4] {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 2.5px solid transparent;
  transition: border-color 0.15s, transform 0.15s;
  aspect-ratio: 4/3;
}
.photo-option[data-v-7c056ca4]:hover {
  border-color: #c8a96e;
  transform: scale(1.02);
}
.photo-option.selected[data-v-7c056ca4] {
  border-color: #c8a96e;
}
.photo-option-img[data-v-7c056ca4] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.photo-check[data-v-7c056ca4] {
  position: absolute;
  top: 4px;
  right: 4px;
  font-size: 20px;
  color: #c8a96e;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}
.upload-divider[data-v-7c056ca4] {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #bbb;
  font-size: 12px;
}
.upload-divider[data-v-7c056ca4]::before, .upload-divider[data-v-7c056ca4]::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e8e8e8;
}
.upload-divider span[data-v-7c056ca4] {
  white-space: nowrap;
}
.upload-area[data-v-7c056ca4] {
  border: 2px dashed #d0d0d0;
  border-radius: 10px;
  padding: 24px 16px;
  text-align: center;
  position: relative;
  transition: border-color 0.2s, background 0.2s;
}
.upload-area[data-v-7c056ca4]:hover {
  border-color: #aaa;
}
.upload-area.drag-active[data-v-7c056ca4] {
  border-color: #c8a96e;
  background: #fdf8ef;
}
.upload-area.uploading[data-v-7c056ca4] {
  border-color: #c8a96e;
}
.upload-prompt p[data-v-7c056ca4] {
  margin: 6px 0 0;
  color: #888;
  font-size: 13px;
}
.upload-link[data-v-7c056ca4] {
  color: #c8a96e;
  font-weight: 600;
  cursor: pointer;
}
.upload-hint[data-v-7c056ca4] {
  font-size: 11px !important;
  color: #bbb !important;
}
.file-input[data-v-7c056ca4] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.upload-progress .progress-bar[data-v-7c056ca4] {
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 8px;
}
.upload-progress .progress-fill[data-v-7c056ca4] {
  height: 100%;
  background: #c8a96e;
  border-radius: 3px;
  transition: width 0.3s;
}
.upload-progress .progress-text[data-v-7c056ca4] {
  font-size: 13px;
  color: #666;
}
.image-picker-footer[data-v-7c056ca4] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid #f0f0f0;
}
.step-renderer[data-v-fc69c926] {
  width: 100%;
  min-height: 200px;
}
.step-wrapper[data-v-fc69c926] {
  width: 100%;
}
.step-loading[data-v-fc69c926],
.step-error[data-v-fc69c926],
.step-not-found[data-v-fc69c926] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  width: 100%;
}
.debug-info[data-v-fc69c926] {
  background: #f5f5f5;
  padding: 12px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.4;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Responsive adjustments */
@media (max-width: 600px) {
.step-loading[data-v-fc69c926],
  .step-error[data-v-fc69c926],
  .step-not-found[data-v-fc69c926] {
    min-height: 150px;
}
.step-loading .v-card[data-v-fc69c926],
  .step-error .v-card[data-v-fc69c926],
  .step-not-found .v-card[data-v-fc69c926] {
    margin: 0 16px;
}
}

.enhanced-step-editor[data-v-09917c86] {
  width: 100%;
  padding: 0 12px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.step-type-selection[data-v-09917c86] {
  flex: 1 1 auto;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.step-types-grid[data-v-09917c86] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  flex: 1 1 auto;
}
.step-type-card[data-v-09917c86] {
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 12px;
}
.step-type-card[data-v-09917c86]:hover {
  border-color: rgb(25, 118, 210);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.step-type-icon[data-v-09917c86] {
  width: 48px;
  height: 48px;
  background-color: rgba(25, 118, 210, 0.08);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(25, 118, 210);
  flex-shrink: 0;
}
.step-builder-header[data-v-09917c86] {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 8px;
  padding-top: 4px;
}
.step-builder-header .back-button-dark[data-v-09917c86] {
  min-width: auto !important;
  height: 28px !important;
  color: black !important;
  padding: 4px 8px !important;
}
.step-builder-header .back-button-dark[data-v-09917c86]:hover {
  background-color: rgba(0, 0, 0, 0.1) !important;
}
.step-builder-header .back-button-dark .back-icon[data-v-09917c86] {
  width: 16px !important;
  height: 16px !important;
  filter: brightness(0) !important; /* Makes the SVG black */
}
.step-builder-header .back-button-dark:hover .back-icon[data-v-09917c86] {
  filter: brightness(0) saturate(100%) invert(27%) sepia(51%) saturate(2878%)
    hue-rotate(346deg) brightness(104%) contrast(97%) !important;
  /* This filter makes it a nice blue color on hover */
}

/* Custom Tabs Styling */
.custom-tabs-container[data-v-09917c86] {
  width: 100%;
  border-bottom: 1px solid #e0e0e0;
  background: white;
}
.custom-tabs-scroll[data-v-09917c86] {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
  width: 100%;
}
.custom-tabs-scroll[data-v-09917c86]::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.custom-tab[data-v-09917c86] {
  flex-shrink: 0;
  padding: 12px 24px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: #666;
  font-size: 14px;
  font-weight: 500;
  text-transform: capitalize;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  min-width: fit-content;
}
.custom-tab[data-v-09917c86]:hover {
  color: #1976d2;
  background-color: rgba(25, 118, 210, 0.04);
}
.custom-tab--active[data-v-09917c86] {
  color: #1976d2;
  border-bottom-color: #1976d2;
  background-color: rgba(25, 118, 210, 0.08);
}
.custom-tab[data-v-09917c86]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}
.step-type-info[data-v-09917c86] {
  flex: 1;
}

/* Scrollable container for editor content (Visibility Conditions + Builder Component) */
.step-editor-scroll-container[data-v-09917c86] {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0; /* allows flex child to shrink */
  padding: 0 4px; /* Small padding for scrollbar */
}
.step-builder-component[data-v-09917c86] {
  background: white;
  border-radius: 12px;
  padding: 0;
  /* Remove overflow from builder component - parent container handles scrolling */
}

/* Ensure the container section fills its parent */
.step-builder[data-v-09917c86] {
  display: flex;
  flex-direction: column;
  min-height: 0; /* allows inner flex child to shrink */
  height: 100%;
  overflow: hidden; /* Prevent outer container from scrolling */
}
.fallback-editor[data-v-09917c86] {
  background: white;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0; /* allows flex child to shrink */
}

/* Responsive adjustments */
@media (max-width: 768px) {
.step-types-grid[data-v-09917c86] {
    grid-template-columns: 1fr;
}
.step-builder-header .d-flex[data-v-09917c86] {
    flex-direction: column;
    align-items: flex-start;
}
.step-builder-header .me-2[data-v-09917c86] {
    margin-bottom: 8px;
}
}

.action-form[data-v-af89dbec] {
  /* Matches original icon uploader width (80px); Find button is tightened to same width */
  --action-form-icon-col-width: 80px;
  padding-top: 8px;
}
.action-form-field-col[data-v-af89dbec] {
  min-width: 0;
}
.action-form-icon-slot[data-v-af89dbec] {
  width: var(--action-form-icon-col-width);
  min-width: var(--action-form-icon-col-width);
  max-width: var(--action-form-icon-col-width);
  height: 56px;
  flex-shrink: 0;
  box-sizing: border-box;
}
.custom-tag[data-v-af89dbec] {
  background-color: #e3f2fd;
  color: #1976d2;
  border: 1px solid #bbdefb;
  font-size: 12px;
  font-weight: 500;
}
.tag-delete-btn[data-v-af89dbec] {
  background: none;
  border: none;
  color: #1976d2;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  font-size: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.tag-delete-btn[data-v-af89dbec]:hover {
  background-color: #1976d2;
  color: white;
}
.tag-input[data-v-af89dbec] {
  border: none;
  outline: none;
  padding: 4px 8px;
  min-width: 100px;
  font-size: 14px;
}
.form-control[data-v-af89dbec] {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 8px;
  min-height: 56px;
  display: flex;
  align-items: center;
  background-color: white;
}
.icon-uploader[data-v-af89dbec] {
  border-radius: 4px;
  background-color: #f8f9fa;
  border: 2px dashed #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}
.icon-uploader[data-v-af89dbec]:hover {
  border-color: #0c8ce9;
  background-color: #f0f7fd;
}
.icon-uploader.drag-active[data-v-af89dbec] {
  border-color: #0c8ce9;
  border-width: 3px;
  background-color: #e6f7ff;
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(12, 140, 233, 0.3);
}
.icon-placeholder[data-v-af89dbec] {
  color: #0c8ce9;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.icon-label[data-v-af89dbec] {
  font-size: 10px;
  font-weight: 500;
  margin-top: 2px;
}
.icon-preview[data-v-af89dbec] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}
.steps-container[data-v-af89dbec] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 16px;
  background-color: #fafafa;
}
.step-item[data-v-af89dbec] {
  background-color: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px;
  transition: all 0.2s ease;
}
.step-item[data-v-af89dbec]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.step-editing[data-v-af89dbec] {
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.step-header[data-v-af89dbec] {
  cursor: default;
}
.step-number[data-v-af89dbec] {
  background-color: #1976d2;
  color: white;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
}
.step-title[data-v-af89dbec] {
  font-weight: 500;
  color: #333;
}
.step-title-row[data-v-af89dbec] {
  width: 100%;
}
.step-actions[data-v-af89dbec] {
  width: 100%;
}

/* Large icon buttons for better visibility (match DialogEditor) */
.large-icon-btn[data-v-af89dbec] {
  font-size: 18px !important;
  font-weight: bold !important;
  min-width: 40px !important;
  height: 40px !important;
}
.edit-icon-img[data-v-af89dbec] {
  width: 18px;
  height: 18px;
  filter: brightness(0);
}
.step-config[data-v-af89dbec] {
  border-top: 1px solid #e0e0e0;
  padding-top: 12px;
}

/* Delete confirmation styling */
.delete-confirmation[data-v-af89dbec] {
  background-color: #fff5f5;
  border-radius: 6px;
  padding: 8px 12px;
  border: 1px solid #ffcdd2;
}
.delete-confirmation .text-danger[data-v-af89dbec] {
  color: #d32f2f !important;
  font-weight: 500;
}
.confirmation-actions[data-v-af89dbec] {
  flex-shrink: 0;
}
.empty-steps-state[data-v-af89dbec] {
  color: #999;
  padding: 32px;
}
.action-controls[data-v-af89dbec] {
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
  margin-top: 24px;
}

/* Custom checkbox styling for better visibility */
.display-checkbox-item[data-v-af89dbec] {
  display: flex;
  align-items: center;
  margin-bottom: 0px;
  min-height: 40px;
  padding: 0px 0;
}
.display-checkbox[data-v-af89dbec] {
  width: 18px;
  height: 18px;
  margin-right: 12px;
  cursor: pointer;
  accent-color: #1976d2;
  transform: scale(1.2);
}
.display-checkbox[data-v-af89dbec]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.display-checkbox-label[data-v-af89dbec] {
  font-weight: 500;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
  margin: 0;
  padding: 0;
}
.display-checkbox-label[data-v-af89dbec]:hover {
  color: #1976d2;
}

/* Dynamic description input styling */
.description-input[data-v-af89dbec] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 14px;
  font-family: inherit;
  background-color: white;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  outline: none;
}
.description-input[data-v-af89dbec]:focus {
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.description-input[data-v-af89dbec]:disabled {
  background-color: #f5f5f5;
  cursor: not-allowed;
  opacity: 0.7;
}
.description-input[data-v-af89dbec]::placeholder {
  color: #999;
  font-style: italic;
}

/* Enhanced Step Dialog */
.enhanced-step-dialog[data-v-af89dbec] {
  border-radius: 16px !important;
  overflow: hidden;
}
.enhanced-step-dialog .v-card-text[data-v-af89dbec] {
  overflow-y: auto;
}

/* Icon search */
.icon-search-section[data-v-af89dbec] {
  margin-top: -4px;
}
.icon-search-row[data-v-af89dbec] {
  flex-wrap: nowrap;
  align-items: flex-end;
  min-width: 0;
}
.icon-row-category-wrap[data-v-af89dbec] {
  flex: 1 1 auto;
  min-width: 0;
}
.icon-row-category-wrap--compact[data-v-af89dbec] {
  flex: 0 1 140px;
  max-width: 42%;
  min-width: 108px;
}
.icon-row-category[data-v-af89dbec] {
  width: 100%;
}
.icon-search-field[data-v-af89dbec] {
  flex: 1 1 auto;
  min-width: 0;
}
.icon-find-btn[data-v-af89dbec] {
  flex-shrink: 0;
  width: var(--action-form-icon-col-width);
  min-width: var(--action-form-icon-col-width) !important;
  max-width: var(--action-form-icon-col-width);
  height: auto !important;
  min-height: 40px;
  box-sizing: border-box;
  padding: 4px 1px !important;
  letter-spacing: normal !important;
  justify-content: center;
}
.icon-find-btn[data-v-af89dbec] .v-btn__content {
  justify-content: center;
  padding-inline: 0 !important;
}
.icon-find-btn-inner[data-v-af89dbec] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  line-height: 1.05;
  padding: 0 1px;
  min-width: 0;
}
.icon-find-magnify[data-v-af89dbec] {
  flex-shrink: 0;
  opacity: 0.85;
}
.icon-find-btn-label[data-v-af89dbec] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.1;
}
.icon-search-results[data-v-af89dbec] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 8px;
  background: #fafafa;
}
.icon-results-grid[data-v-af89dbec] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.icon-result-item[data-v-af89dbec] {
  width: 36px;
  height: 36px;
  border: 1.5px solid #e0e0e0;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #fff;
  transition: border-color 0.15s, background 0.15s;
  padding: 4px;
}
.icon-result-item[data-v-af89dbec]:hover {
  border-color: #1976d2;
  background: #e3f2fd;
}
.icon-result-img[data-v-af89dbec] {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.sidebar-directions-view[data-v-16b8e1a4] {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  overflow-y: auto;
  background: #ffffff;
}
.directions-header[data-v-16b8e1a4] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.back-btn[data-v-16b8e1a4] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: #f4f4f5;
  border-radius: 8px;
  cursor: pointer;
  color: #404040;
  transition: background-color 0.2s ease, transform 0.1s ease;
  flex-shrink: 0;
}
.back-btn[data-v-16b8e1a4]:hover {
  background: #e4e4e7;
  transform: translateX(-2px);
}
.back-btn[data-v-16b8e1a4]:active {
  transform: translateX(0);
}
.directions-title-section[data-v-16b8e1a4] {
  flex: 1;
  min-width: 0;
}
.directions-title[data-v-16b8e1a4] {
  margin: 0 0 4px 0;
  font-size: 18px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  color: #404040;
  line-height: 1.2;
}
.directions-destination[data-v-16b8e1a4] {
  margin: 0;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.destination-floor-badge[data-v-16b8e1a4] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 6px;
  flex-shrink: 0;
  align-self: flex-start;
}
.floor-badge-icon[data-v-16b8e1a4] {
  flex-shrink: 0;
}
.floor-badge-text[data-v-16b8e1a4] {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  white-space: nowrap;
}
.directions-summary[data-v-16b8e1a4] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #f9fafb;
  border-radius: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.summary-item[data-v-16b8e1a4] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.summary-icon[data-v-16b8e1a4] {
  color: #6b7280;
  flex-shrink: 0;
}
.summary-value[data-v-16b8e1a4] {
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  color: #374151;
}
.summary-divider[data-v-16b8e1a4] {
  width: 1px;
  height: 20px;
  background: #d1d5db;
}
.route-options-container[data-v-16b8e1a4] {
  display: flex;
  flex-direction: column;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 12px;
}
.route-options-buttons[data-v-16b8e1a4] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.route-option-btn[data-v-16b8e1a4] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 2px solid #e5e7eb;
  border-radius: 20px;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: "Roboto", sans-serif;
  font-size: 13px;
}
.route-option-btn[data-v-16b8e1a4]:hover {
  background: #f9fafb;
}
.route-option-btn.active[data-v-16b8e1a4] {
  background: #ffffff;
  font-weight: 600;
}
.route-option-btn.active .route-option-label[data-v-16b8e1a4] {
  color: #1f2937;
  font-weight: 600;
}
.route-option-btn.active .route-option-time[data-v-16b8e1a4] {
  color: #374151;
  font-weight: 600;
}
.route-option-icon[data-v-16b8e1a4] {
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.route-option-label[data-v-16b8e1a4] {
  font-size: 13px;
  font-weight: 500;
  color: #374151;
}
.route-option-separator[data-v-16b8e1a4] {
  font-size: 10px;
  color: #9ca3af;
  line-height: 1;
}
.route-option-time[data-v-16b8e1a4] {
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
}
.directions-steps[data-v-16b8e1a4] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  overflow-y: auto;
  margin-bottom: 16px;
}
.direction-step[data-v-16b8e1a4] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #f3f4f6;
}
.direction-step[data-v-16b8e1a4]:last-child {
  border-bottom: none;
}
.step-icon-container[data-v-16b8e1a4] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex-shrink: 0;
}
.step-content[data-v-16b8e1a4] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}
.step-text[data-v-16b8e1a4] {
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  color: #374151;
  line-height: 1.3;
}
.step-detail[data-v-16b8e1a4] {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.3;
}
.directions-footer[data-v-16b8e1a4] {
  margin-top: auto;
  padding-top: 8px;
}
.cancel-directions-btn[data-v-16b8e1a4] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  border-radius: 8px;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.2s ease;
}
.cancel-directions-btn[data-v-16b8e1a4]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  color: #374151;
}
.cancel-directions-btn[data-v-16b8e1a4]:active {
  background: #f3f4f6;
}
@media (max-width: 768px) {
.sidebar-directions-view[data-v-16b8e1a4] {
    padding: 12px;
}
.directions-header[data-v-16b8e1a4] {
    gap: 8px;
}
.back-btn[data-v-16b8e1a4] {
    width: 32px;
    height: 32px;
}
.directions-title[data-v-16b8e1a4] {
    font-size: 16px;
}
.directions-destination[data-v-16b8e1a4] {
    font-size: 13px;
}
.destination-floor-badge[data-v-16b8e1a4] {
    padding: 4px 8px;
    margin-top: 4px;
}
.floor-badge-text[data-v-16b8e1a4] {
    font-size: 11px;
}
.directions-summary[data-v-16b8e1a4] {
    padding: 10px 12px;
    gap: 8px;
}
.summary-value[data-v-16b8e1a4] {
    font-size: 13px;
}
.step-icon-container[data-v-16b8e1a4] {
    width: 28px;
    height: 28px;
}
.step-text[data-v-16b8e1a4] {
    font-size: 13px;
}
.step-detail[data-v-16b8e1a4] {
    font-size: 11px;
}
}.hub-mobile-map-info-overlay[data-v-4ad87dc9] {
  flex-shrink: 0;
  margin: 0 0 12px 0;
  padding: 12px 14px 14px;
  border-radius: 12px;
  border: 1px solid var(--primary-200, #e5e7eb);
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.hub-mobile-map-info-overlay__header[data-v-4ad87dc9] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.hub-mobile-map-info-overlay__title[data-v-4ad87dc9] {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--neutral-800, #262626);
  padding-right: 4px;
}
.hub-mobile-map-info-overlay__close[data-v-4ad87dc9] {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  background: var(--neutral-100, #f3f4f6);
  color: var(--neutral-700, #404040);
  cursor: pointer;
  transition: background 0.15s ease;
}
.hub-mobile-map-info-overlay__close[data-v-4ad87dc9]:hover {
  background: var(--neutral-200, #e5e7eb);
}
.hub-mobile-map-info-overlay__close .mdi[data-v-4ad87dc9] {
  font-size: 22px;
  line-height: 1;
}
.hub-mobile-map-info-overlay__body[data-v-4ad87dc9] {
  font-size: 14px;
  color: var(--neutral-600, #525252);
}
.hub-mobile-map-info-overlay__description[data-v-4ad87dc9] {
  white-space: pre-wrap;
  overflow-wrap: break-word;
  line-height: 1.45;
  margin-bottom: 10px;
}
.hub-mobile-map-info-overlay__row[data-v-4ad87dc9] {
  margin-bottom: 8px;
}
.hub-mobile-map-info-overlay__row-text[data-v-4ad87dc9] {
  font-weight: 500;
}
.hub-mobile-map-info-overlay__hours[data-v-4ad87dc9] {
  margin-top: 4px;
}
.hub-mobile-map-info-overlay__hours-title-row[data-v-4ad87dc9] {
  margin-bottom: 6px;
}
.hub-mobile-map-info-overlay__hours-title[data-v-4ad87dc9] {
  font-weight: 600;
  font-size: 14px;
}
.hub-mobile-map-info-overlay__hours-group[data-v-4ad87dc9] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
  font-size: 13px;
}
.hub-mobile-map-info-overlay__hours-days[data-v-4ad87dc9] {
  flex: 1;
  min-width: 0;
}
.hub-mobile-map-info-overlay__hours-times[data-v-4ad87dc9] {
  flex-shrink: 0;
  text-align: right;
}
.hub-mobile-map-info-overlay__footer[data-v-4ad87dc9] {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  padding-top: 4px;
}
.hub-mobile-map-info-overlay__edit[data-v-4ad87dc9] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 10px;
  background: var(--neutral-100, #f3f4f6);
  color: var(--neutral-700, #404040);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}
.hub-mobile-map-info-overlay__edit[data-v-4ad87dc9]:hover {
  background: var(--neutral-200, #e5e7eb);
}
.hub-mobile-map-info-overlay__edit[data-v-4ad87dc9]:active {
  transform: scale(0.96);
}
.hub-mobile-map-info-overlay__edit-icon[data-v-4ad87dc9] {
  display: block;
}
:root {
  --muted-foreground: #71717a;
  --destructive: #dc2626;
  --destructive-hover: #b91c1c;
  --neutral-50: #fafafa;
  --neutral-100: #f5f5f5;
  --neutral-200: #e5e5e5;
  --neutral-300: #d4d4d4;
  --neutral-400: #a3a3a3;
  --neutral-500: #737373;
  --neutral-600: #525252;
  --neutral-700: #404040;
  --neutral-800: #262626;
  --neutral-900: #171717;
  --neutral-950: #0a0a0a;
}
.bg-select-bar {
  background-color: #ffffff;
}
.bg-select-bar .col-4 {
  flex: 1;
  min-width: 0;
  padding: 0;
}
.bg-select-bar button {
  color: var(--muted-foreground, #71717a) !important;
  font-weight: 500;
  text-align: center;
  width: 100%;
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}
.active {
  background-color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--primary-700, var(--default-700)); /* Use box-shadow instead of border to not affect layout */
  border-bottom: none;
}
.active button {
  color: var(--primary-700, var(--default-700)) !important;
  font-weight: 600;
}

/* Ensure active state works with new column structure */
.tab-column.active .tab-item button {
  color: var(--primary-700, var(--default-700)) !important;
  font-weight: 600;
}

/* Ensure tab columns take full height and width */
.tab-column {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  position: relative;
  z-index: 1;
}

/* Active tab styling for the entire column */
.tab-column.active {
  background-color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--primary-700, var(--default-700)); /* Use box-shadow instead of border to not affect layout */
  border-bottom: none;
  z-index: 2;
}

/* Ensure the inner tab-item doesn't interfere with column styling */
.tab-column .tab-item {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Ensure the button inside tab-item takes full dimensions */
.tab-column .tab-item button {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none !important;
  background: transparent !important;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  outline: none !important;
  text-decoration: none;
  box-shadow: none !important;
}

/* Additional tab column styling for better visual appearance */
.tab-column {
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.tab-column:hover {
  background-color: rgba(0, 0, 0, 0.02);
  transform: translateY(-1px);
}
.tab-column:active {
  transform: translateY(0);
  background-color: rgba(0, 0, 0, 0.05);
}

/* Ensure hover and active states don't add borders */
.tab-column:hover,
.tab-column:active {
  border: none !important;
  outline: none !important;
}
.tab-column.active:hover {
  background-color: #fff !important;
}

/* Focus states for accessibility - only show on keyboard navigation */
.tab-column:focus-visible {
  outline: 2px solid var(--primary-500, #3b82f6);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Remove focus-within styles that were causing the border issue */
.tab-column:focus-within {
  outline: none;
  background-color: transparent;
}
.tab-column.active:focus-within {
  outline: none;
  background-color: transparent;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
.tab-column.active {
    background-color: var(--primary-50, #eff6ff);
}

  /* Ensure high contrast mode doesn't add borders */
.tab-column {
    border: none !important;
    outline: none !important;
}
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
.tab-column,
  .tab-column * {
    transition: none !important;
    animation: none !important;
}
}

/* Print styles */
@media print {
.tab-column {
    background-color: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
}
.tab-column.active {
    background-color: #f0f0f0 !important;
}
.tab-column .tab-item button {
    color: #000 !important;
    background-color: transparent !important;
}
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
.tab-column {
    background-color: rgba(255, 255, 255, 0.05);
}
.tab-column:hover {
    background-color: rgba(255, 255, 255, 0.1);
}
.tab-column.active {
    background-color: rgba(59, 130, 246, 0.2);
}
.tab-column .tab-item button {
    color: rgba(255, 255, 255, 0.9);
}
.tab-column.active .tab-item button {
    color: var(--primary-300, #93c5fd);
}
}

/* RTL language support */
[dir="rtl"] .tab-column:not(:last-child) {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}

/* LTR language support (default) */
[dir="ltr"] .tab-column:not(:last-child) {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
.tab-column {
    min-height: 44px; /* Minimum touch target size */
    min-width: 44px;
}
.tab-column .tab-item button {
    min-height: 44px;
    min-width: 44px;
    padding: 12px 16px;
}
.tab-column:hover {
    background-color: transparent;
    transform: none;
}
.tab-column:active {
    background-color: rgba(0, 0, 0, 0.1);
    transform: scale(0.98);
}
}

/* Screen reader only content */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Ensure proper ARIA support without borders */
.tab-column[aria-selected="true"] {
  background-color: var(--primary-50, #eff6ff);
}
.tab-column[aria-selected="true"] .tab-item button {
  color: var(--primary-700, #1d4ed8);
  font-weight: 600;
}

/* Focus management improvements - only show focus on keyboard navigation */
.tab-column:focus {
  outline: none;
}
.tab-column .tab-item button:focus {
  outline: none;
}

/* Ensure focus is visible only on keyboard navigation */
.tab-column:focus-visible,
.tab-column .tab-item button:focus-visible {
  outline: 2px solid var(--primary-500, #3b82f6);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Ensure focus states don't add borders */
.tab-column:focus,
.tab-column:focus-visible,
.tab-column .tab-item button:focus,
.tab-column .tab-item button:focus-visible {
  border: none !important;
}

/* State management improvements */
.tab-column[data-state="loading"] {
  pointer-events: none;
  opacity: 0.7;
}
.tab-column[data-state="disabled"] {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}
.tab-column[data-state="error"] {
  background-color: rgba(220, 38, 38, 0.05);
}
.tab-column[data-state="success"] {
  background-color: rgba(16, 185, 129, 0.05);
}

/* Ensure proper state transitions */
.tab-column[data-state] {
  transition: all 0.3s ease;
}

/* Ensure no borders on any state */
.tab-column[data-state] {
  border: none !important;
  outline: none !important;
}

/* Ensure all state variations don't add borders */
.tab-column[data-state="loading"],
.tab-column[data-state="disabled"],
.tab-column[data-state="error"],
.tab-column[data-state="success"],
.tab-column[data-state="warning"] {
  border: none !important;
  outline: none !important;
}

/* Ensure proper spacing between tab columns */
.tab-column:not(:last-child) {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

/* Ensure no default borders on tab columns */
.tab-column {
  border: none !important;
  outline: none !important;
}

/* Ensure active state only shows underline */
.tab-column.active {
  border: none !important;
  outline: none !important;
  box-shadow: inset 0 -2px 0 var(--primary-700, var(--default-700)) !important;
}

/* Responsive improvements for different screen sizes */
@media (max-width: 480px) {
.tab-column .tab-item button {
    font-size: 13px;
    padding: 8px 4px;
}
}
@media (min-width: 481px) and (max-width: 768px) {
.tab-column .tab-item button {
    font-size: 14px;
    padding: 8px 6px;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.tab-column .tab-item button {
    font-size: 15px;
    padding: 10px 8px;
}
}
@media (min-width: 1025px) {
.tab-column .tab-item button {
    font-size: 16px;
    padding: 12px 10px;
}
}

/* Ensure responsive styles don't add borders */
@media (max-width: 480px) {
.tab-column .tab-item button {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}
}
@media (min-width: 481px) and (max-width: 768px) {
.tab-column .tab-item button {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.tab-column .tab-item button {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}
}
@media (min-width: 1025px) {
.tab-column .tab-item button {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}
}

/* Active state visual enhancement - only show underline */
.tab-column.active {
  box-shadow: inset 0 -2px 0 var(--primary-700, #0d6efd);
  transform: translateY(0);
  outline: none !important;
  border: none !important;
}

/* Inactive state subtle animation */
.tab-column:not(.active) {
  transform: translateY(0);
}

/* Smooth transition for all tab column states */
.tab-column,
.tab-column * {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Disabled state styling */
.tab-column:disabled,
.tab-column.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.tab-column:disabled:hover,
.tab-column.disabled:hover {
  background-color: transparent;
  transform: none;
}

/* Ensure disabled state doesn't add borders */
.tab-column:disabled,
.tab-column.disabled {
  border: none !important;
  outline: none !important;
}

/* Loading state styling */
.tab-column.loading {
  position: relative;
  overflow: hidden;
}
.tab-column.loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  animation: loading-shimmer 1.5s infinite;
}
@keyframes loading-shimmer {
0% {
    left: -100%;
}
100% {
    left: 100%;
}
}

/* Ensure loading state doesn't add borders */
.tab-column.loading {
  border: none !important;
  outline: none !important;
}

/* Error state styling */
.tab-column.error {
  background-color: rgba(220, 38, 38, 0.05);
}
.tab-column.error:hover {
  background-color: rgba(220, 38, 38, 0.1);
}
.tab-column.error .tab-item button {
  color: var(--destructive, #dc2626);
}

/* Success state styling */
.tab-column.success {
  background-color: rgba(16, 185, 129, 0.05);
}
.tab-column.success:hover {
  background-color: rgba(16, 185, 129, 0.1);
}
.tab-column.success .tab-item button {
  color: var(--success, #10b981);
}

/* Warning state styling */
.tab-column.warning {
  background-color: rgba(245, 158, 11, 0.05);
}
.tab-column.warning:hover {
  background-color: rgba(245, 158, 11, 0.1);
}
.tab-column.warning .tab-item button {
  color: var(--warning, #f59e0b);
}

/* Ensure error, success, and warning states don't add borders */
.tab-column.error,
.tab-column.success,
.tab-column.warning {
  border: none !important;
  outline: none !important;
}
.mobile-card {
  height: 93vh !important;
}
.drag-btn {
  display: none;
}
.drag-btn:hover {
  background-color: rgba(128, 128, 128, 0.6);
}

/* Simplified drag handle container with larger touch area built-in */
.drag-handle-container {
  width: 100%;
  display: flex;
  justify-content: center;
  position: absolute;
  top: -10px; /* Extend above for touch area */
  left: 0;
  right: 0;
  height: 20px; /* Total height of touch area */
  padding-top: 10px; /* Push visible content to the bottom of the touch area */
  z-index: 10;
  background-color: transparent; /* Start with transparent background */
  cursor: grab;
}

/* Create the visual bar at the bottom of the container */
.drag-handle-container:after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background-color: rgba(128, 128, 128, 0.4);
  border-radius: 4px;
}

/* Add visual feedback for active dragging state */
.drag-handle-container.dragging {
  cursor: grabbing;
}
.drag-handle-container.dragging:after {
  width: 50px; /* Make handle appear wider when dragging */
  background-color: rgba(128, 128, 128, 0.6); /* Darker when dragging */
}
.editor-btn-text {
  display: inline;
  font-size: 0.9rem;
}
.editor-nav {
  display: flex;
  align-items: center;
  height: 60px;
  padding: 0 16px;
}
.editor-nav h6 {
  font-size: 1rem;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
span:not(.editor-btn-text):not(.management-tag-text):not(
      .managing-user-name
    ):not(.pending-status-text):not(.section-title):not(
      .v-select__selection
    ):not(.v-select__selection-text):not(.v-btn__content):not(
      .qr-button-text
    ):not(.font-weight-medium):not(.dropdown-text):not(.faq-question-text):not(
      .faq-toggle
    ):not(.floor-separator-text):not(.info-text) {
    display: none;
}

  /* Ensure tab bar spans are visible on mobile */
.sidebar-hub .bg-select-bar span,
  #sidebar.sidebar-hub .bg-select-bar span,
  .sidebar-hub #sidebar .bg-select-bar span {
    display: inline-block !important;
    font-size: 0.9rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

  /* Ensure v-select components display their text properly */
.v-select__selection,
  .v-select__selection-text,
  .v-select span {
    display: inline-block !important;
}

  /* Ensure Vuetify button text is visible */
.v-btn span,
  .v-btn__content,
  .v-btn__prepend {
    display: inline-flex !important;
}

  /* QR button specific styling - make more explicit to ensure visibility */
.qr-button-text {
    display: inline-block !important;
    color: #1976d2 !important;
    opacity: 1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    position: relative !important;
    z-index: 10 !important;
}

  /* Ensure pending tag text is visible */
.pending-tag {
    display: inline-block !important;
}

  /* Ensure section titles are visible */
.section-title {
    display: inline-block !important;
    font-size: 0.9rem; /* Slightly smaller on mobile */
    text-align: center; /* Ensure text is centered */
}
.editor-btn-text {
    display: inline !important;
}
.responsive {
    justify-content: center;
}
.drag-btn {
    display: none; /* Hide the button completely */
}

  /* Mobile-specific adjustments for drag handle */
.drag-handle-container {
    top: -8px; /* Slightly less extension on mobile */
    height: 18px; /* Slightly smaller total height */
    padding-top: 8px; /* Adjust padding to match */
    /* Ensure the visual handle appears in the rounded top */
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}

  /* Ensure the visual bar is positioned correctly */
.drag-handle-container:after {
    margin-bottom: 5px; /* Add space below the bar */
    position: relative;
    top: 5px; /* Position closer to the bottom of the container */
}
.bg-select-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    background-color: #f9fafb;
    border-top: 1px solid #ccc;
    z-index: 10;
    height: 50px; /* Reduced height for mobile */
}
.bg-select-bar .col-4 {
    flex: 1;
    min-width: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bg-select-bar button {
    color: var(--muted-foreground, #71717a) !important;
    font-weight: 500;
    text-align: center;
    width: 100%;
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex;
    padding: 8px 4px;
}
.editor-nav {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}
.card-container {
    position: fixed;
    bottom: 50px; /* Match reduced tab bar height */
    left: 0;
    right: 0;
    /* Height is calculated based on the mobileCardHeight variable */
    height: calc(var(--card-height-percent, 40%) * 1vh);
    z-index: 5;
}
#sidebar {
    position: relative;
    z-index: 3;
}
.mobile-card {
    background-color: white;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    height: 100% !important; /* Take full height of the container */
    padding-top: 16px; /* Space for the visible part of the drag handle */
    position: relative;
    overflow-y: auto;
}

  /* Remove all padding for info wrapper on mobile */
.info-wrapper {
    padding: 0 !important;
}
.listContainer {
    overflow: auto;
    height: 100%;
}
.hide {
    display: none;
}
.shadow-xl {
    box-shadow: 0 1rem 1.3rem rgba(0, 0, 0, 0.175);
}

  /* Additional QR button styling for mobile */
.qr-button-text {
    display: inline-block !important;
    margin-left: 6px !important;
    margin-right: 0 !important;
    padding: 0 !important;
}
.qr-code-container .v-btn {
    min-width: 90px !important;
    padding: 0 8px !important;
}

  /* Mobile-specific QR button styling */
.qr-buttons-container {
    gap: 8px;
}
.qr-button {
    min-width: 110px !important;
    max-width: 110px !important;
    height: 40px !important; /* Slightly taller for mobile touch targets */
}
.qr-button-text {
    display: inline-block !important;
    text-align: center !important;
}
}
.qr-code-container {
  width: 100%;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.qr-code-image {
  width: 200px;
  height: 200px;
  object-fit: contain;
}

/* Container for QR buttons to ensure equal spacing */
.qr-buttons-container {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 12px;
}

/* QR Button specific styles - updated for equal width */
.qr-button {
  flex: 1 !important;
  max-width: 120px !important;
  min-width: 120px !important;
  height: 36px !important;
  padding: 8px 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.qr-button-text {
  display: inline-block !important;
  color: var(--primary-600, #1976d2) !important;
  opacity: 1 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center !important;
  width: 100% !important;
}
.qr-code-container .v-btn {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.qr-code-container .v-btn .v-btn__content {
  display: flex !important;
  opacity: 1 !important;
  color: var(--primary-600, #1976d2) !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}
.qr-code-container .v-btn .v-btn__prepend {
  display: flex !important;
  opacity: 1 !important;
  justify-content: center !important;
  margin-right: 4px !important;
}
.places-scroller {
  height: 100%;
  width: 100%;
  overflow-y: auto;
}
.places-scroller .vue-recycle-scroller__item-view .item-wrapper {
  margin-bottom: 0 !important;
  padding: 0;
}
.places-scroller .card-with-spacing {
  margin-bottom: 4px !important;
}
.places-table-container {
  width: 100%;
  max-width: 100%;
  overflow: hidden; /* Prevent overflow */
  box-sizing: border-box;
.places-scroller {
    padding-right: 4px; /* Small right padding for scroll behavior */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
}

/* Floor separator styles */
.floor-separator-wrapper {
  padding: 2px 12px;
  margin: 0;
}
.floor-separator-row {
  background-color: var(--primary-50, #f8fafc);
  border: 1px solid var(--primary-200, #e2e8f0);
  border-radius: 8px;
  padding: 12px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
.floor-separator-row:hover {
  background-color: var(--primary-100, #e0f2fe);
  border-color: var(--primary-300, #cbd5e1);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.floor-separator-row:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.floor-separator-content {
  display: flex;
  align-items: center;
  justify-content: center;
}
.floor-separator-text {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary-700, #334155);
}

/* Floor header styles (non-clickable, for Show All Items mode) */
.floor-header-row {
  background-color: transparent;
  border-bottom: 2px solid var(--primary-300, #cbd5e1);
  padding: 8px 16px;
  margin-top: 12px;
  margin-bottom: 8px;
  user-select: none;
}
.floor-header-content {
  display: flex;
  align-items: center;
}
.floor-header-text {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--primary-600, #475569);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Mobile-specific adjustments for floor headers and separators */
@media (max-width: 768px) {
.floor-separator-wrapper .floor-header-row {
    background-color: transparent !important;
    border-bottom: 2px solid var(--primary-300, #cbd5e1) !important;
    padding: 8px 16px !important;
}
.floor-separator-wrapper .floor-header-row .floor-header-content {
    color: var(--primary-600, #475569) !important;
}
.floor-separator-wrapper
    .floor-header-row
    .floor-header-content
    .floor-header-text {
    color: var(--primary-600, #475569) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline !important;
}
.floor-separator-wrapper .floor-header-row .floor-header-content span {
    color: var(--primary-600, #475569) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.floor-separator-wrapper
    .floor-separator-row
    .floor-separator-content
    .floor-separator-text {
    color: var(--primary-700, #334155) !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

  /* Catch-all for any text inside floor headers */
.floor-header-row *,
  .floor-header-row span,
  .floor-header-content *,
  .floor-header-content span {
    color: var(--primary-600, #475569) !important;
    opacity: 1 !important;
    visibility: visible !important;
}
}
.vue-recycle-scroller.direction-vertical:not(.page-mode) {
  height: 100% !important;
}
.invitation-card {
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #dee2e6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  margin-top: 10px;
  margin-bottom: 15px;
  position: relative;
  z-index: 10;
}
.btn-success {
  background-color: #28a745;
  color: white;
  border: none;
  min-width: 80px;
}
.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
  background-color: transparent;
  min-width: 80px;
}
.btn-outline-danger:hover {
  background-color: #dc3545;
  color: white;
}
.highlight-promotion {
  animation: highlight-pulse 2s ease-in-out;
}
@keyframes highlight-pulse {
0% {
    background-color: transparent;
}
50% {
    background-color: rgba(39, 145, 204, 0.1);
}
100% {
    background-color: transparent;
}
}
.highlight-item {
  animation: highlight-pulse 2s ease-in-out;
}

/* Add global styles at the end of existing styles to hide reminder buttons */
.remind-me-btn {
  display: none !important;
}

/* Desktop styles - position as fixed sidebar like regular Sidebar - only in landscape orientation */
/* Use aspect-ratio to ensure we don't apply desktop layout on portrait screens */
@media only screen and (min-width: 768px) and (min-aspect-ratio: 1/1) {
.sidebar-hub.w-100 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    /* Use percentage as primary width - let percentage be the main driver */
    width: var(--sidebar-width, 25%) !important;
    /* Apply min/max as separate constraints that can override if absolutely necessary */
    min-width: var(--sidebar-width-min, 300px) !important;
    max-width: var(--sidebar-width-max, 450px) !important;
    height: 100vh !important;
    z-index: 1000 !important;
    background-color: white !important;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
}
.sidebar-hub .card-container {
    position: relative !important;
    /* Subtract the top tabbar/editor header height (60px) from full viewport */
    height: calc(100vh - 60px) !important;
    width: 100% !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
}
.sidebar-hub .mobile-card {
    /* Match the container height minus the header */
    height: calc(100vh - 60px) !important;
    border-radius: 0 !important;
    padding-top: 0 !important;
}
.sidebar-hub .bg-select-bar {
    position: relative !important;
    border-bottom: 1px solid #e5e7eb !important;
    height: 60px !important;
}
.sidebar-hub .drag-handle-container {
    display: none !important;
}
.sidebar-hub .bg-select-bar .col-4 {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.sidebar-hub .bg-select-bar .tab-column {
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    position: relative !important;
}

  /* Desktop-specific button styling within tab columns */
.sidebar-hub .bg-select-bar .tab-column .tab-item button {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

  /* Ensure desktop hover and active states don't add borders */
.sidebar-hub .bg-select-bar .tab-column:hover,
  .sidebar-hub .bg-select-bar .tab-column:active {
    border: none !important;
    outline: none !important;
}

  /* Desktop-specific tab column spacing and borders */
  /* Removed grey borders between tabs for cleaner look */

  /* Ensure no default borders on desktop tab columns */
.sidebar-hub .bg-select-bar .tab-column {
    border: none !important;
    outline: none !important;
}

  /* Desktop-specific active state enhancement - only show underline */
.sidebar-hub .bg-select-bar .tab-column.active {
    box-shadow: inset 0 -2px 0 var(--primary-700, var(--default-700)) !important;
    outline: none !important;
    border: none !important;
}
.sidebar-hub .bg-select-bar button {
    color: var(--muted-foreground, #71717a) !important;
    font-weight: 500 !important;
    text-align: center !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    height: 100% !important;
    display: flex !important;
    padding: 8px 4px !important;
}
}

/* Mobile styles - keep existing bottom sheet behavior */
/* Apply to narrow screens OR portrait orientation (including large portrait screens) */
@media only screen and (max-width: 767px), only screen and (max-aspect-ratio: 1/1) {
  /* Override desktop styles for mobile - ensure tabs are at bottom */
.sidebar-hub .bg-select-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    background-color: #f9fafb !important;
    border-top: 1px solid #ccc !important;
    border-bottom: none !important;
    z-index: 1000 !important; /* Increased z-index to be above everything */
    height: 50px !important; /* Reduced height for mobile */
    margin: 0 !important;
    width: 100% !important;
}

  /* More specific targeting for the bg-select-bar */
#sidebar.sidebar-hub .bg-select-bar,
  .sidebar-hub #sidebar .bg-select-bar,
  .sidebar.sidebar-hub .bg-select-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background-color: #f9fafb !important;
    border-top: 1px solid #ccc !important;
    height: 50px !important; /* Reduced height for mobile */
    margin: 0 !important;
    width: 100% !important;
}
.sidebar-hub .bg-select-bar .col-4 {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.sidebar-hub .bg-select-bar button {
    color: var(--muted-foreground, #71717a) !important;
    font-weight: 500 !important;
    text-align: center !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    height: 100% !important;
    display: flex !important;
    padding: 8px 4px !important;
    background: transparent !important;
    border: none !important;
}

  /* Additional specific selectors for mobile */
#sidebar.sidebar-hub .bg-select-bar .col-4,
  .sidebar-hub #sidebar .bg-select-bar .col-4 {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important; /* Reduced height for mobile */
}
#sidebar.sidebar-hub .bg-select-bar button,
  .sidebar-hub #sidebar .bg-select-bar button {
    color: var(--muted-foreground, #71717a) !important;
    font-weight: 500 !important;
    text-align: center !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    height: 100% !important;
    display: flex !important;
    padding: 8px 4px !important;
    background: transparent !important;
    border: none !important;
}

  /* Ensure active state works on mobile */
.sidebar-hub .bg-select-bar .active,
  #sidebar.sidebar-hub .bg-select-bar .active,
  .sidebar-hub #sidebar .bg-select-bar .active {
    background-color: #fff !important;
    box-shadow: inset 0 -2px 0 var(--primary-700, #0d6efd) !important; /* Use box-shadow instead of border to not affect layout */
    border-bottom: none !important;
}
.sidebar-hub .bg-select-bar .active button,
  #sidebar.sidebar-hub .bg-select-bar .active button,
  .sidebar-hub #sidebar .bg-select-bar .active button {
    color: var(--primary-700, var(--default-700)) !important;
    font-weight: 600 !important;
}

  /* Mobile-specific tab column styling */
.sidebar-hub .bg-select-bar .tab-column,
  #sidebar.sidebar-hub .bg-select-bar .tab-column,
  .sidebar-hub #sidebar .bg-select-bar .tab-column {
    height: 50px !important; /* Reduced height for mobile */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    position: relative !important;
}

  /* Ensure active state covers entire column on mobile */
.sidebar-hub .bg-select-bar .tab-column.active,
  #sidebar.sidebar-hub .bg-select-bar .tab-column.active,
  .sidebar-hub #sidebar .bg-select-bar .tab-column.active {
    background-color: #fff !important;
    box-shadow: inset 0 -2px 0 var(--primary-700, #0d6efd) !important; /* Use box-shadow instead of border to not affect layout */
    border-bottom: none !important;
    width: 100% !important;
    height: 50px !important; /* Match reduced tab bar height */
}

  /* Mobile-specific button styling within tab columns */
.sidebar-hub .bg-select-bar .tab-column .tab-item button,
  #sidebar.sidebar-hub .bg-select-bar .tab-column .tab-item button,
  .sidebar-hub #sidebar .bg-select-bar .tab-column .tab-item button {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

  /* Mobile-specific tab column transitions and hover effects */
.sidebar-hub .bg-select-bar .tab-column,
  #sidebar.sidebar-hub .bg-select-bar .tab-column,
  .sidebar-hub #sidebar .bg-select-bar .tab-column {
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}
.sidebar-hub .bg-select-bar .tab-column:hover,
  #sidebar.sidebar-hub .bg-select-bar .tab-column:hover,
  .sidebar-hub #sidebar .bg-select-bar .tab-column:hover {
    background-color: rgba(0, 0, 0, 0.02) !important;
    transform: translateY(-1px) !important;
}
.sidebar-hub .bg-select-bar .tab-column.active:hover,
  #sidebar.sidebar-hub .bg-select-bar .tab-column.active:hover,
  .sidebar-hub #sidebar .bg-select-bar .tab-column.active:hover {
    background-color: #fff !important;
}
.sidebar-hub .bg-select-bar .tab-column:active,
  #sidebar.sidebar-hub .bg-select-bar .tab-column:active,
  .sidebar-hub #sidebar .bg-select-bar .tab-column:active {
    transform: translateY(0) !important;
    background-color: rgba(0, 0, 0, 0.05) !important;
}

  /* Ensure mobile hover and active states don't add borders */
.sidebar-hub .bg-select-bar .tab-column:hover,
  .sidebar-hub .bg-select-bar .tab-column:active,
  #sidebar.sidebar-hub .bg-select-bar .tab-column:hover,
  #sidebar.sidebar-hub .bg-select-bar .tab-column:active,
  .sidebar-hub #sidebar .bg-select-bar .tab-column:hover,
  .sidebar-hub #sidebar .bg-select-bar .tab-column:active {
    border: none !important;
    outline: none !important;
}

  /* Mobile-specific tab column spacing and borders */
.sidebar-hub .bg-select-bar .tab-column:not(:last-child),
  #sidebar.sidebar-hub .bg-select-bar .tab-column:not(:last-child),
  .sidebar-hub #sidebar .bg-select-bar .tab-column:not(:last-child) {
    border-right: 1px solid rgba(0, 0, 0, 0.1) !important;
}

  /* Ensure no default borders on mobile tab columns */
.sidebar-hub .bg-select-bar .tab-column,
  #sidebar.sidebar-hub .bg-select-bar .tab-column,
  .sidebar-hub #sidebar .bg-select-bar .tab-column {
    border: none !important;
    outline: none !important;
}

  /* Mobile-specific active state enhancement - only show underline */
.sidebar-hub .bg-select-bar .tab-column.active,
  #sidebar.sidebar-hub .bg-select-bar .tab-column.active,
  .sidebar-hub #sidebar .bg-select-bar .tab-column.active {
    box-shadow: inset 0 -2px 0 var(--primary-700, var(--default-700)) !important;
    outline: none !important;
    border: none !important;
}

  /* Mobile-specific touch improvements */
.sidebar-hub .bg-select-bar .tab-column,
  #sidebar.sidebar-hub .bg-select-bar .tab-column,
  .sidebar-hub #sidebar .bg-select-bar .tab-column {
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    outline: none !important;
}

  /* Mobile-specific smooth transitions */
.sidebar-hub .bg-select-bar .tab-column,
  .sidebar-hub .bg-select-bar .tab-column *,
  #sidebar.sidebar-hub .bg-select-bar .tab-column,
  #sidebar.sidebar-hub .bg-select-bar .tab-column *,
  .sidebar-hub #sidebar .bg-select-bar .tab-column,
  .sidebar-hub #sidebar .bg-select-bar .tab-column * {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

  /* Ensure spans are visible on mobile - override the span hiding rule */
.sidebar-hub .bg-select-bar span,
  #sidebar.sidebar-hub .bg-select-bar span,
  .sidebar-hub #sidebar .bg-select-bar span {
    display: inline-block !important;
    font-size: 0.9rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

  /* Ensure FAQ elements are visible on mobile */
.faq-question-text,
  .faq-toggle {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.faq-question {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    text-align: left !important;
}
.faq-item {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

  /* On mobile, the sidebar should not constrain height - let fixed positioning work */
.sidebar-hub.w-100 {
    position: relative !important;
    height: auto !important;
    overflow: visible !important;
    z-index: 3 !important;
}

  /* Override the h-100vh classes on mobile to allow proper positioning */
.sidebar-hub .h-100vh {
    height: auto !important;
}

  /* Ensure the transition container doesn't constrain height on mobile */
.sidebar-hub .card-slide-enter-active,
  .sidebar-hub .card-slide-leave-active,
  .sidebar-hub .card-slide-enter-to,
  .sidebar-hub .card-slide-leave-from {
    height: auto !important;
}
.sidebar-hub .card-container {
    position: fixed !important;
    bottom: 50px !important; /* Match reduced tab bar height */
    left: 0 !important;
    right: 0 !important;
    height: calc(var(--card-height-percent, 40%) * 1vh) !important;
    z-index: 500 !important; /* Below tab bar but above map */
    width: 100% !important;
}
.sidebar-hub .mobile-card {
    background-color: white !important;
    border-top-left-radius: 30px !important;
    border-top-right-radius: 30px !important;
    height: 100% !important;
    padding-top: 16px !important;
    position: relative !important;
    overflow-y: auto !important;
    border-radius: 30px 30px 0 0 !important;
}
.sidebar-hub .drag-handle-container {
    display: flex !important;
}

  /* Ensure the sidebar content is visible and properly positioned on mobile */
.sidebar-hub .sidebar {
    position: relative !important;
    height: auto !important;
    overflow: visible !important;
}

  /* Make sure the list container doesn't get hidden */
.sidebar-hub #listContainer {
    height: 100% !important;
    overflow-y: auto !important;
}

  /* Ensure editor nav bar is positioned correctly on mobile */
.sidebar-hub .editor-nav {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important; /* Same as tab bar */
    background-color: #f9fafb !important;
    border-top: 1px solid #ccc !important;
    height: 70px !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}
}

/* Info Layout Styles */
.info-wrapper {
  position: relative;
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto; /* Allow wrapper to scroll when FAQ min-height exceeds available space */
  overflow-x: hidden;
  padding: 0; /* Remove horizontal padding */
}

/* Top section - Fixed (Info & Actions) */
.info-top-section {
  flex-shrink: 0; /* Don't shrink */
  flex-grow: 0; /* Don't grow */
  margin: 0; /* No margins - flush to parent */
  padding: 16px; /* Inner padding for content */
  background: var(--primary-50, var(--default-50));
  border: 1px solid var(--primary-100, var(--default-100));
  border-radius: 8px;
  overflow: visible; /* Allow dropdowns etc. to overflow */
}

/* Bottom section - Scrollable (FAQ) */
.info-bottom-section {
  flex: 0 0 auto; /* Use content size by default */
  padding: 16px 12px 12px 12px; /* Top padding for separation, horizontal padding */
  margin-top: 16px; /* Space between top section and FAQ */
  overflow: visible; /* Default: no overflow handling */
}

/* FAQ collapsed state - only header height needed */
.info-bottom-section:not(.faq-expanded) {
  flex: 0 0 auto; /* Don't grow, use content size */
  min-height: 60px; /* Header height + padding */
  overflow: visible; /* No scrolling needed */
}

/* FAQ expanded state - fill remaining space with 200px minimum, scroll its own content */
.info-bottom-section.faq-expanded {
  flex: 1 1 auto; /* Grow to fill remaining space */
  min-height: 400px; /* Minimum height - if not enough space, parent wrapper scrolls */
  overflow-y: auto; /* Scroll FAQ content if it exceeds the container bounds */
  overflow-x: hidden; /* Hide horizontal overflow */
}

/* FAQ Section */
.info-bottom-section .faq-section {
  padding: 0; /* No padding needed - parent handles it */
}
.info-bottom-section .faq-header {
  padding: 0 4px; /* Small horizontal padding for alignment */
}

/* FAQ Header - Fixed height to prevent movement */
.faq-header {
  min-height: 32px; /* Fixed minimum height */
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* FAQ Title Container (clickable) */
.faq-title-container {
  cursor: pointer;
  user-select: none;
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  min-height: 24px; /* Ensure consistent height */
}
.faq-title-container:hover {
  opacity: 0.8;
}

/* FAQ Toggle Icon */
.faq-toggle-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  transition: transform 0.2s ease;
  flex-shrink: 0; /* Prevent icon from shrinking */
}

/* FAQ Edit Button */
.faq-header button {
  height: 24px; /* Fixed height to match title container */
  display: flex;
  align-items: center;
  white-space: nowrap; /* Prevent text wrapping */
}

/* Edit Map Header - inside info-top-section */
.edit-map-header {
  margin-bottom: 12px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

/* Primary Edit Map Button */
.btn-edit-map-primary {
  background: var(--primary-500, #0284c7);
  color: white;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  flex: 1;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.btn-edit-map-primary .btn-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.btn-edit-map-primary:hover {
  background: var(--primary-600, #0369a1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.btn-edit-map-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Edit Mode Toggle Button */
.btn-edit-mode {
  padding: 8px 12px;
  background-color: white;
  color: var(--primary-600, #0284c7);
  border: 1.5px solid var(--primary-600, #0284c7);
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
  flex-shrink: 0; /* Don't shrink smaller than content */
}
.btn-edit-mode:hover {
  background-color: var(--primary-50, #f0f9ff);
  border-color: var(--primary-700, #0369a1);
  color: var(--primary-700, #0369a1);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}
.btn-edit-mode:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.btn-edit-mode.active {
  background: var(--primary-500, #0284c7) !important;
  color: white !important;
  border-color: var(--primary-500, #0284c7) !important;
  font-weight: 600;
}
.btn-edit-mode.active:hover {
  background: var(--primary-600, #0369a1) !important;
  border-color: var(--primary-600, #0369a1) !important;
}
.edit-mode-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* Primary Edit Actions Button */
.btn-edit-actions-primary {
  background: var(--primary-500, var(--default-500));
  color: white;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.btn-edit-actions-primary:hover {
  background: var(--primary-600, var(--default-600));
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.btn-edit-actions-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Text-style edit link buttons used in headers (kept for Edit Info button) */
.edit-link-btn {
  background: transparent;
  border: none;
  color: var(--primary-700, var(--default-700));
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  padding: 4px 6px;
}
.edit-link-btn:hover {
  text-decoration: underline;
}

/* Tables Section (Top Half) */
.tables-section {
  flex: 1 1 auto; /* take remaining space */
  min-height: 200px; /* Ensure minimum height for tables content */
  overflow: hidden; /* Prevent this section from growing beyond container */
  display: flex;
  flex-direction: column;
}

/* Tables Wrapper */
.tables-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%; /* Take full height of parent */
}

/* Toggle Container */
.toggle-container {
  padding: 0; /* Remove all padding */
  flex-shrink: 0; /* Don't shrink the toggle buttons */
  position: sticky; /* Keep toggle at top when scrolling */
  top: 0;
  background-color: var(--background-color); /* Match background */
  z-index: 10; /* Ensure toggle stays above content */
}
.toggle-wrapper {
  display: flex;
  background-color: var(--primary-50, var(--default-50));
  border-radius: 6px;
  padding: 4px;
  position: relative;
  height: 40px;
}
.toggle-btn {
  flex: 1;
  padding: 8px 16px;
  border: none;
  background: transparent;
  border-radius: 6%;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary-600, var(--default-600));
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.toggle-btn.active {
  background-color: var(--primary-200, var(--default-200)) !important;
  color: var(--primary-800, var(--default-800));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.toggle-btn:hover {
  color: var(--primary-700, var(--default-700));
}

/* Explore Tabs Edit Button */
.explore-tabs-edit-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 10;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--primary-600, var(--default-600));
  transition: all 0.2s ease;
}
.explore-tabs-edit-btn:hover {
  color: var(--primary-700, var(--default-700));
  transform: scale(1.15);
}

/* Explore Filter Tag */
.explore-filter-tag {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.filter-tag-content {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--primary-100, var(--default-100));
  border: 1px solid var(--primary-300, var(--default-300));
  border-radius: 16px;
  padding: 6px 12px;
  font-size: 13px;
  color: var(--primary-800, var(--default-800));
}
.filter-tag-label {
  font-weight: 500;
  color: var(--primary-600, var(--default-600));
}
.filter-tag-name {
  font-weight: 600;
  color: var(--primary-900, var(--default-900));
}
.filter-tag-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: none;
  background: transparent;
  color: var(--primary-600, var(--default-600));
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
  padding: 0;
  margin-left: 4px;
}
.filter-tag-remove:hover {
  background-color: var(--primary-200, var(--default-200));
  color: var(--primary-800, var(--default-800));
  transform: scale(1.1);
}

/* Explore Tabs Configuration Editor */
.explore-tabs-editor {
  background-color: #fff;
  border: 1px solid var(--primary-200, var(--default-200));
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.explore-tabs-editor .editor-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--primary-100, var(--default-100));
}
.explore-tabs-editor .editor-header h6 {
  font-size: 15px;
  font-weight: 600;
  color: var(--primary-800, var(--default-800));
}
.explore-tabs-editor .editor-actions {
  display: flex;
  gap: 8px;
}
.explore-tabs-editor .btn-cancel,
.explore-tabs-editor .btn-save {
  padding: 6px 16px;
  border-radius: 6px;
  border: none;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.explore-tabs-editor .btn-cancel {
  background-color: #f3f4f6;
  color: #6b7280;
}
.explore-tabs-editor .btn-cancel:hover {
  background-color: #e5e7eb;
}
.explore-tabs-editor .btn-save {
  background-color: var(--primary-600, var(--default-600));
  color: white;
}
.explore-tabs-editor .btn-save:hover {
  background-color: var(--primary-700, var(--default-700));
}
.explore-tabs-editor .tabs-config-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.explore-tabs-editor .tab-config-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: grab;
  transition: all 0.2s ease;
}
.explore-tabs-editor .tab-config-item:active {
  cursor: grabbing;
}
.explore-tabs-editor .tab-config-item:hover {
  background-color: #f3f4f6;
  border-color: var(--primary-300, var(--default-300));
}
.explore-tabs-editor .tab-config-item.dimmed {
  opacity: 0.5;
}
.explore-tabs-editor .tab-view-name {
  min-width: 80px;
  font-weight: 600;
  color: var(--primary-700, var(--default-700));
  font-size: 14px;
}
.explore-tabs-editor .tab-display-name {
  flex: 1;
}
.explore-tabs-editor .tab-default {
  display: flex;
  align-items: center;
  min-width: 80px;
}
.explore-tabs-editor .display-name-input {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 13px;
  transition: all 0.2s ease;
}
.explore-tabs-editor .display-name-input:focus {
  outline: none;
  border-color: var(--primary-500, var(--default-500));
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.explore-tabs-editor .tab-visibility {
  display: flex;
  align-items: center;
}
.explore-tabs-editor .checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
}
.explore-tabs-editor .checkbox-wrapper input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.explore-tabs-editor .checkbox-label {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}

/* Tables Content */
.tables-content {
  padding: 0; /* Remove horizontal padding */
  flex: 1 1 auto; /* Take remaining space after toggle container */
  min-height: 0; /* Allow flex item to shrink */
  overflow-y: auto; /* Enable scrolling for table content */
  display: flex;
  flex-direction: column;
}
.offers-table,
.events-table,
.services-table {
  flex: 1; /* Take all available space */
  overflow-y: auto; /* Enable scrolling for individual tables */
  min-height: 0; /* Allow flex shrinking */
  max-height: 100%; /* Prevent tables from exceeding container height */
}

/* Hide scrollbars for all tables while maintaining scroll functionality */
.offers-table::-webkit-scrollbar,
.events-table::-webkit-scrollbar,
.services-table::-webkit-scrollbar {
  display: none; /* Hide scrollbar for WebKit browsers (Chrome, Safari, Edge) */
}
.offers-table,
.events-table,
.services-table {
  -ms-overflow-style: none; /* Hide scrollbar for Internet Explorer and Edge */
  scrollbar-width: none; /* Hide scrollbar for Firefox */
}
.empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  text-align: center;
}
.empty-state p {
  margin: 0;
  font-size: 14px;
}

/* Add New Row Styles */
.add-new-row {
  display: flex;
  align-items: center;
  padding: 6px;
  background: var(--primary-50, var(--default-50));
  border: 2px dashed var(--primary-300, var(--default-300));
  border-radius: 12px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.add-new-row:hover {
  background: var(--primary-100, var(--default-100));
  border-color: var(--primary-400, var(--default-400));
  transform: translateY(-1px);
}
.add-new-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background-color: var(--primary-200, var(--default-200));
  margin-right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.add-new-icon i {
  font-size: 16px;
  color: var(--primary-600, var(--default-600));
}
.add-new-content {
  flex: 1;
  min-width: 0;
}
.add-new-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-700, var(--default-700));
  line-height: 1.3;
}
.empty-state-manager {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 150px;
  text-align: center;
}
.empty-state-manager p {
  margin: 0;
  font-size: 14px;
}

/* Table Row Styles */
.table-row {
  display: flex;
  align-items: center;
  padding: 12px;
  background: white;
  border-radius: 12px;
  margin-bottom: 8px;
  border: 1px solid var(--primary-200, var(--default-200));
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.table-row:hover {
  border-color: var(--primary-300, var(--default-300));
}

/* Selected table row styles */
.table-row.selected {
  border: 1px solid var(--primary-400, var(--default-400));
  background-color: var(--primary-50, var(--default-50));
}

/* Edit icon container styles for Events, Offers, and Services tables only */
.offers-table .edit-icon-container,
.events-table .edit-icon-container,
.services-table .edit-icon-container {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 10;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.offers-table .edit-icon,
.events-table .edit-icon,
.services-table .edit-icon {
  color: var(--primary-600, var(--default-600)); /* primary-600 */
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.offers-table .edit-icon:hover,
.events-table .edit-icon:hover,
.services-table .edit-icon:hover {
  color: var(--primary-700, var(--default-700)); /* primary-700 */
  transform: scale(1.15);
}
.row-image {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  margin-right: 12px;
  background-color: #f3f4f6;
  flex-shrink: 0;
}
.offer-image,
.event-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}
.row-content {
  flex: 1;
  min-width: 0;
}
.row-content.no-brand {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.row-header {
  margin-bottom: 4px;
}
.brand-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--neutral-700, #404040);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.floor-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  color: var(--neutral-600, #666);
  background-color: var(--neutral-100, #f5f5f5);
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.row-title-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.row-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--neutral-800, #262626);
  line-height: 1.3;
}
.row-date {
  font-size: 14px;
  font-weight: 500;
  color: var(--neutral-700, #404040);
  line-height: 1.4;
}
.row-description {
  font-size: 14px;
  font-weight: 400;
  color: var(--neutral-600, #525252);
  line-height: 1.4;
  margin-top: 4px;
  /* Preserve author line breaks and spacing; still wrap within the sidebar */
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

/* Multi-line service descriptions: top-align icon with text block */
.services-table .table-row {
  align-items: flex-start;
}

/* Ensure description text stays visible when row is selected */
.table-row.selected .row-description {
  color: var(--neutral-700, #404040);
}

/* Bottom Section */
.bottom-section {
  flex-shrink: 0; /* Don't shrink the bottom section */
  padding: 0; /* no visible padding */
  background: var(--primary-50, var(--default-50));
  border: 1px solid var(--primary-100, var(--default-100));
  border-radius: 0; /* corner view */
  margin-left: -16px; /* Compensate for wrapper padding */
  margin-right: -16px; /* Compensate for wrapper padding */
  margin-top: auto; /* Push to bottom of flex container */
  z-index: 5;
}

/* Map Information Section */
.map-info-section {
  margin: 0 0 16px 0; /* Bottom margin for spacing from actions */
  padding: 16px; /* Equal padding on all sides */
  border: 1px solid var(--primary-200, var(--default-200));
  border-radius: 8px;
  background: #ffffff; /* White background */
}

/* Remove internal content padding from map info section */
.map-info-section .info-row {
  margin-bottom: 8px; /* Consistent spacing between rows */
  padding: 0; /* Remove individual row padding */
}

/* Remove top padding from first info row since container has padding */
.map-info-section .info-row:first-child {
  padding-top: 0;
}
.map-info-section .info-row:last-child {
  margin-bottom: 0;
}
.section-header-controls {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}
.info-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-left: 12px;
  padding-right: 12px;
}

/* Ensure OpeningHoursDisplay fits well in the sidebar context */
.info-row .opening-hours-section {
  margin: 0; /* Remove default margins */
}
.info-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary-800, var(--default-800));
  flex-shrink: 0;
  margin-top: 2px;
}
.info-icon i {
  font-size: 20px;
}
.info-content {
  flex: 1;
  min-width: 0;
}
.info-text {
  font-size: 16px;
  color: var(--primary-800, var(--default-800));
  font-weight: 600;
}

/* Action Buttons Section */
.action-buttons-section {
  position: static; /* stay in normal flow to avoid overlaying map info */
  background: transparent; /* transparent - only buttons have white bg */
  padding: 0; /* No container padding */
  margin: 0; /* No margin */
  border: none; /* no border on container */
  border-radius: 0;
}
.button-row {
  display: flex;
  gap: 12px;
}
.action-btn {
  flex: 1;
  display: flex;
  flex-direction: row; /* Horizontal layout with icon and text */
  align-items: center;
  justify-content: center; /* Center the entire content */
  padding: 8px 12px;
  background: white;
  border: 1px solid var(--primary-400, var(--default-400));
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary-600, var(--default-600));
  gap: 8px; /* Gap between icon and text */
  height: 40px;
  min-width: 0; /* Allow flex shrinking */
  width: 100%; /* Ensure equal width distribution */
  text-align: center; /* Center text within its container */
  overflow: hidden; /* Prevent text overflow */
}
.action-btn:hover {
  background-color: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.action-btn i {
  font-size: 16px; /* Consistent icon size */
  color: var(
    --primary-600,
    var(--default-600)
  ); /* Use primary color for icons */
  text-align: center;
  flex-shrink: 0; /* Prevent icon from shrinking */
}

/* Action icon container for both image and icon - Override MapBuilder filters */
.sidebar-hub .action-btn .action-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  filter: none !important; /* Override MapBuilder blue filter */
}
.sidebar-hub .action-btn .action-icon-img {
  width: 16px;
  height: 16px;
  object-fit: contain;
  filter: none !important; /* Override MapBuilder blue filter */
}
.sidebar-hub .action-btn .action-icon-svg {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sidebar-hub .action-btn .action-icon-svg :deep(svg) {
  width: 16px;
  height: 16px;
}

/* Responsive text sizing for action button titles */
.action-btn .section-title {
  font-size: 13px; /* Base font size */
  line-height: 1.2; /* Better line height for single line */
  white-space: nowrap; /* Keep text on single line for horizontal layout */
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center; /* Center align text */
  font-weight: 600;
  color: var(--primary-600, var(--default-600));
  transition: font-size 0.2s ease; /* Smooth font size transitions */
  flex: 0 1 auto; /* Don't grow, but can shrink if needed */
  min-width: 0; /* Allow text to shrink */
}

/* Media queries for different screen sizes to ensure text fits */
@media (max-width: 480px) {
.action-btn .section-title {
    font-size: 11px;
}
}
@media (min-width: 481px) and (max-width: 768px) {
.action-btn .section-title {
    font-size: 12px;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.action-btn .section-title {
    font-size: 13px;
}
}
@media (min-width: 1025px) {
.action-btn .section-title {
    font-size: 14px;
}
}

/* Emergency button styling - uses ColorConstants.EMERGENCY_RED and ColorConstants.EMERGENCY_RED_HOVER */
.emergency-btn {
  background-color: white;
  color: var(--destructive, #dc2626);
  border-color: var(--destructive, #dc2626);
  padding: 4px 3px;
}
.emergency-btn:hover {
  background-color: #fef2f2;
  border-color: var(--destructive-hover, #b91c1c);
  color: var(--destructive-hover, #b91c1c);
}
.emergency-btn i {
  color: var(--destructive, #dc2626);
}
.emergency-btn:hover i {
  color: var(--destructive-hover, #b91c1c);
}

/* Override Emergency button text color to use destructive color */
.emergency-btn .section-title {
  color: var(--destructive, #dc2626) !important;
  padding: 0;
  margin: 0;
  line-height: 1.2;
}

/* Drag and Drop Styles */
.action-btn-container {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
}
.action-btn-container.draggable {
  cursor: grab;
}
.action-btn-container.draggable:active {
  cursor: grabbing;
}
.drag-handle {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 20;
  width: 20px;
  height: 20px;
  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  transition: all 0.2s ease;
  /* Increase click area with padding */
  padding: 4px;
  margin: -4px;
}
.drag-handle:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.drag-handle:active {
  cursor: grabbing;
  transform: scale(0.95);
}
.drag-icon {
  width: 14px;
  height: 14px;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.drag-handle:hover .drag-icon {
  opacity: 1;
}
.action-btn.with-drag-handle {
  padding-right: 28px; /* Make room for drag handle */
}

/* Emergency buttons with drag handles */
.emergency-btn.with-drag-handle {
  padding-right: 28px;
}
.action-btn-container.draggable .action-btn {
  pointer-events: auto;
}

/* Visual feedback for drag states */
.action-btn-container.dragging {
  opacity: 0.5;
}
.action-btn-container.drag-over {
  background-color: rgba(59, 130, 246, 0.1);
  border-radius: 6px;
}
.action-btn-container.invalid-drop {
  background-color: rgba(239, 68, 68, 0.1);
  border-radius: 6px;
}

/* FAQ styles */
.faq-header h5 {
  font-weight: 600;
  color: #1f2937; /* Explicit dark text color - always visible on light backgrounds */
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-item {
  background: #ffffff;
  border: 1px solid var(--primary-200, var(--default-200));
  border-radius: 12px;
  overflow: hidden;
  user-select: none;
}
.faq-question {
  background: #ffffff;
  color: #1f2937; /* Explicit dark text color - always visible on light backgrounds */
  padding: 16px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.faq-toggle {
  margin-left: 12px;
}

/* Ensure FAQ question text is always visible */
.faq-question-text {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex: 1;
  text-align: left;
}

/* Ensure FAQ toggle is always visible */
.faq-toggle {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex-shrink: 0;
}
.faq-input,
.faq-textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 12px;
  background: #ffffff;
  color: #1f2937; /* Explicit dark text color - always visible on light backgrounds */
}
.faq-input::placeholder,
.faq-textarea::placeholder {
  color: #9ca3af;
}
.faq-done-btn {
  margin-left: 12px;
}
.faq-question.open {
  background: var(--primary-50, var(--default-50));
  color: #1f2937; /* Explicit dark text color - always visible on light backgrounds */
}
.faq-answer {
  background: var(--primary-50, var(--default-50));
  color: #1f2937; /* Explicit dark text color - always visible on light backgrounds */
  padding: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* Ensure FAQ answer paragraphs are dark */
.faq-answer p {
  color: #1f2937 !important;
}

/* Mobile specific styles for Offers & Events */
@media only screen and (max-width: 767px) {
.tables-section {
    min-height: 0;
}
.bottom-section {
    padding-bottom: 8px;
}
.toggle-btn {
    padding: 6px 12px;
    font-size: 13px;
}
.table-row {
    padding: 10px;
}
.row-image {
    width: 56px;
    height: 56px;
}
.row-title {
    font-size: 15px;
}
.row-date {
    font-size: 13px;
}
.action-btn {
    padding: 3px 3px;
    font-size: 13px;
    height: 40px; /* consistent on mobile */
}
.action-btn i {
    font-size: 20px;
}

  /* Responsive drag handle for mobile */
.drag-handle {
    width: 18px;
    height: 18px;
    top: 1px;
    right: 1px;
}
.drag-icon {
    width: 12px;
    height: 12px;
}

  /* Responsive category drag handle for mobile */
.sidebar-category-item .drag-handle {
    width: 18px;
    height: 18px;
    top: 1px;
    right: 1px;
}
.sidebar-category-item .drag-icon {
    width: 12px;
    height: 12px;
}
.offers-table .edit-icon-container,
  .events-table .edit-icon-container {
    width: 28px;
    height: 28px;
    top: 6px;
    right: 6px;
}
.offers-table .edit-icon,
  .events-table .edit-icon {
    font-size: 1rem;
}

  /* Mobile add-new-row adjustments */
.add-new-row {
    padding: 5px;
}
.add-new-icon {
    width: 28px;
    height: 28px;
}
.add-new-icon i {
    font-size: 14px;
}
.add-new-title {
    font-size: 13px;
}

  /* Mobile FAQ adjustments */
.faq-item {
    margin-bottom: 8px;
}
.faq-question {
    padding: 12px;
    font-size: 14px;
}
.faq-question-text {
    font-size: 14px;
    line-height: 1.4;
}
.faq-toggle {
    font-size: 18px;
    font-weight: bold;
    margin-left: 8px;
}
.faq-answer {
    padding: 12px;
    font-size: 14px;
}
}

/* PromotionEditor container styles */
.promotion-editor-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  z-index: 1000;
  overflow-y: auto;
}

/* Editor button styles */
.theme-blue-bg {
  background-color: #0c6ffe;
  transition: background-color 0.3s ease;
}
.disabled-button {
  background-color: #cccccc;
  cursor: not-allowed;
  opacity: 0.7;
  transition: background-color 0.3s ease;
}

/* Ensure Save/Done button text is always white (only when button has background) */
button.theme-blue-bg .editor-btn-text,
button.disabled-button .editor-btn-text {
  color: white !important;
  font-weight: 500;
}

/* Info Visibility Editor Styles */
.info-visibility-editor {
  padding-left: 16px;
  padding-right: 16px;
}
.info-visibility-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e9ecef;
}
.info-visibility-header h6 {
  color: #495057;
  font-weight: 600;
}
.info-visibility-items {
  display: flex;
  flex-direction: column;
  gap: 8px; /* Consistent spacing between rows */
}
.info-visibility-row {
  display: flex;
  align-items: center;
  padding: 8px 6px; /* Slightly more padding for better touch targets */
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  cursor: move;
  height: 40px;
  transition: all 0.2s ease;
  margin: 0; /* Ensure no margin interference */
}
.info-visibility-row:hover {
  background: #e9ecef;
  border-color: #adb5bd;
}
.info-visibility-row:active {
  transform: scale(0.98);
}
.info-visibility-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  color: #6c757d;
  font-size: 14px;
}
.info-visibility-label {
  flex: 1;
  font-weight: 500;
  color: #495057;
  font-size: 14px;
}
.info-visibility-toggle {
  margin-left: 8px;
}
.info-visibility-toggle .form-check-input {
  margin: 0;
  transform: scale(0.8);
}
.info-visibility-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  margin-bottom: 12px;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 6px;
  color: #721c24;
  font-size: 14px;
}
.info-visibility-success {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  margin-bottom: 12px;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 6px;
  color: #155724;
  font-size: 14px;
}

/* Info display improvements */
.info-link {
  color: #007bff;
  text-decoration: none;
}
.info-link:hover {
  text-decoration: underline;
}
.info-images {
  width: 100%;
}
.images-grid {
  display: flex;
  gap: 8px;
  align-items: center;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none; /* Hide scrollbar in Firefox */
  -ms-overflow-style: none; /* Hide scrollbar in IE/Edge */
  padding-bottom: 0; /* No need for scrollbar space */
}
.images-grid::-webkit-scrollbar {
  display: none; /* Hide scrollbar in Webkit browsers */
}
.info-image {
  width: 160px;
  height: 160px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid #e9ecef;
  flex-shrink: 0; /* Prevent images from shrinking */
}
.more-images {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  color: #6c757d;
  flex-shrink: 0; /* Prevent from shrinking */
}

/* Action Editor Container Styles */
.action-editor-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  z-index: 1000;
  overflow-y: auto;
}

/* Step Editor Container Styles */
.step-editor-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  z-index: 1000;
  overflow-y: auto;
}

/* Actions Visibility Editor Styles */
.actions-visibility-editor {
  padding-left: 16px;
  padding-right: 16px;
}
.actions-visibility-header {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  padding: 12px 0 0 0; /* remove bottom padding */
  border-bottom: 1px solid #e0e0e0;
}
.actions-visibility-header .header-left,
.actions-visibility-header .header-right {
  width: 120px; /* Fixed width to maintain balance */
  display: flex;
  align-items: center;
}
.actions-visibility-header .header-left {
  justify-content: flex-start;
}
.actions-visibility-header .header-right {
  justify-content: flex-end;
}
.actions-visibility-header .header-center {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.actions-visibility-header h6 {
  color: #333;
  font-weight: 600;
  margin: 0;
}
.actions-visibility-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 12px 0 6px 0;
  padding: 8px;
  border: 1px solid #dc3545;
  border-radius: 8px;
  background-color: #f8d7da;
  color: #721c24;
}
.actions-visibility-success {
  display: flex;
  align-items: center;
  margin: 12px 0 6px 0;
  padding: 8px;
  border: 1px solid #28a745;
  border-radius: 8px;
  background-color: #d4edda;
  color: #155724;
}
.actions-visibility-items {
  margin-top: 16px;
  padding-bottom: 12px; /* add space at bottom of list */
}
.actions-visibility-row {
  display: flex;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}
.actions-visibility-row:last-child {
  border-bottom: none;
}
.actions-visibility-edit {
  margin-left: 12px;
  flex-shrink: 0;
}
.action-icon-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.actions-visibility-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background-color: #e3f2fd;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  color: #1976d2;
  font-size: 16px;
  flex-shrink: 0;
}
.actions-visibility-label {
  flex: 1;
  font-weight: 500;
  color: #333;
  margin-right: 16px;
}
.actions-visibility-toggles {
  display: flex;
  gap: 16px;
  align-items: center;
}
.toggle-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.toggle-label {
  font-size: 11px;
  color: #666;
  font-weight: 500;
  margin: 0;
}
.actions-visibility-empty {
  margin-top: 16px;
  padding: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background-color: #fafafa;
}
.actions-visibility-empty .text-muted {
  color: #666 !important;
}
.actions-visibility-empty h6 {
  margin-bottom: 8px;
}
.actions-visibility-empty p {
  margin-bottom: 16px;
  font-size: 14px;
}

/* Empty state that mimics a row height */
.actions-visibility-empty-row {
  padding: 12px 0; /* same as row */
  color: #666;
}

/* Category Toolbar Container */
.category-toolbar-container {
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

/* Category Toolbar Styles */
.category-toolbar {
  min-height: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 12px;
  padding-top: 16px; /* pt-4 */
  padding-bottom: 16px; /* Add bottom padding for visual balance */
  overflow-y: auto; /* Allow scrolling if items don't fit */
  /* Add only right border with primary-100 color */
  border-right: 1px solid var(--primary-100, #e2e8f0);
  /* Prevent auto-scroll when adding/removing items */
  overflow-anchor: none;
  scroll-behavior: auto;
  /* Flex sizing with proportional constraint */
  flex-shrink: 0;
}

/* Proportional sizing constraint: category toolbar should be less than 2x places container width */
.category-toolbar-container {
  /* Using CSS custom properties for dynamic sizing */
  --places-container-min-width: 200px;
  --category-max-ratio: 0.5; /* Category max width = 50% of available space, ensuring it's < 2x places width */
}
.category-toolbar-container .category-toolbar {
  /* Max width constraint: never more than places container width (ratio 1:1, ensuring < 2:1) */
  max-width: calc(var(--places-container-min-width) * 2);
}
.category-toolbar-container .places-table-container {
  /* Ensure places container grows to fill remaining space */
  min-width: var(--places-container-min-width);
}

/* SidebarHub specific category item styles - unique class names to prevent conflicts */
.sidebar-category-item {
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 8px;
  box-sizing: border-box;
  flex-shrink: 0;
  /* Height will be set dynamically via JavaScript */
}

/* Category text - dynamic font sizing */
.sidebar-category-item .category-text {
  max-width: 100%;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  /* Prevent text overflow */
  overflow: hidden;
  /* Fixed font size with proper line height */
  font-size: 0.875rem; /* 14px */
  line-height: 1.2;
}
.sidebar-category-icon-svg {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sidebar-category-icon-svg svg {
  width: 100%;
  height: 100%;
}

/* Ensure consistent spacing when no icon is present */
.sidebar-category-item:has(p:only-child) {
  padding-top: 20px;
  padding-bottom: 20px;
}

/* Drag and Drop Styles for Category Items */
.sidebar-category-item {
  position: relative;
}
.sidebar-category-item.draggable {
  cursor: grab;
}
.sidebar-category-item.draggable:active {
  cursor: grabbing;
}
.sidebar-category-item .drag-handle {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 20;
  width: 20px;
  height: 20px;
  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  transition: all 0.2s ease;
  /* Increase click area with padding */
  padding: 4px;
  margin: -4px;
}
.sidebar-category-item .drag-handle:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.sidebar-category-item .drag-handle:active {
  cursor: grabbing;
  transform: scale(0.95);
}
.sidebar-category-item .drag-icon {
  width: 14px;
  height: 14px;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.sidebar-category-item .drag-handle:hover .drag-icon {
  opacity: 1;
}
.sidebar-category-item:hover {
  background-color: var(--primary-50, #eff6ff) !important;
  border-color: var(--primary-400, #60a5fa) !important;
}
.sidebar-category-selected {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Subcategory items styling */
.sidebar-category-item.subcategory-item {
  position: relative;
  /* Reduce width to account for marginLeft (12px) so right edge aligns with main categories */
  /* With box-sizing: border-box, paddingLeft (24px) is included in the width */
  width: calc(100% - 12px) !important;
  max-width: calc(100% - 12px) !important;
  /* Ensure right edge aligns with main categories */
  margin-right: 0 !important;
}

/* Expansion arrow styling - absolutely positioned at bottom center */
.sidebar-category-item .expansion-arrow-container {
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.sidebar-category-item .expansion-arrow-icon {
  width: 14px;
  height: 14px;
  transform: rotate(90deg);
  transition: transform 0.2s ease;
  opacity: 0.7;
}

/* Flexbox utilities for category layout */
.flex {
  display: flex;
}
.self-stretch {
  align-self: stretch;
}
.h-100 {
  height: 100%;
}
.flex-1 {
  flex: 1 1 0%;
}
.justify-start {
  justify-content: flex-start;
}
.items-start {
  align-items: flex-start;
}
.items-center {
  align-items: center;
}
.justify-center {
  justify-content: center;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.border-solid {
  border-style: solid;
}
.border {
  border-width: 1px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.cursor-pointer {
  cursor: pointer;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.duration-200 {
  transition-duration: 200ms;
}
.w-\[160px\] {
  width: 160px;
}
.w-6 {
  width: 1.5rem;
}
.w-4 {
  width: 1rem;
}
.h-6 {
  height: 1.5rem;
}
.h-4 {
  height: 1rem;
}
.h-100 {
  height: 100%;
}
.text-center {
  text-align: center;
}
.font-medium {
  font-weight: 500;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.leading-tight {
  line-height: 1.25;
}
.rounded {
  border-radius: 0.25rem;
}

/* Mobile-specific category item styles */
@media only screen and (max-width: 767px) {
  /* Ensure category toolbar has reduced width on mobile */
.category-toolbar {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}
.sidebar-category-item {
    padding: 6px !important; /* Slightly reduced padding on mobile */
    width: 100% !important; /* Take full width of parent container */
    align-self: stretch !important; /* Stretch to fill available width */
    max-width: 100% !important; /* Ensure items don't exceed toolbar width */
}

  /* Subcategories on mobile: reduce width by marginLeft (12px) to align right edge */
  /* With box-sizing: border-box, paddingLeft is included in width */
.sidebar-category-item.subcategory-item {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
}
.sidebar-category-item p {
    font-size: 0.75rem !important; /* 12px for mobile */
    line-height: 1.2 !important;
    white-space: normal !important; /* Allow text wrapping */
    word-wrap: break-word !important;
    hyphens: auto !important;
    text-align: center !important;
    width: 100% !important; /* Take full width of parent */
}

  /* Remove unnecessary top padding from places table container on mobile */
.places-table-container {
    padding-top: 0 !important;
    flex-basis: 70% !important;
    min-width: 0 !important;
}

  /* Adjust category toolbar sizing on mobile */
.category-toolbar-container .category-toolbar {
    flex-basis: 30% !important;
    max-width: 140px !important;
    min-width: 100px !important;
}
.sidebar-category-icon-svg {
    width: 1.25rem !important; /* Slightly smaller icons on mobile */
    height: 1.25rem !important;
}
.sidebar-category-item .w-6 {
    width: 1.25rem !important; /* Slightly smaller icon containers on mobile */
    height: 1.25rem !important;
}
.sidebar-category-item .drag-handle {
    width: 14px !important; /* Slightly smaller drag handles on mobile */
    height: 14px !important;
    top: 3px !important;
    right: 3px !important;
}
.sidebar-category-item .drag-icon {
    width: 10px !important; /* Slightly smaller drag icons on mobile */
    height: 10px !important;
}
}

/* Directions container styles */
.directions-container {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0px 12px 24px 1px rgba(0, 0, 0, 0.25),
    0px 0px 24px 1px rgba(0, 0, 0, 0.15);
  overflow: auto;
}

/* Fullscreen directions in portrait/mobile mode - covers entire bottom bar including tabs */
.directions-container-fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  z-index: 1000;
  border-radius: 0;
  margin: 0;
}

/* Desktop landscape - directions should not appear in sidebar */
@media only screen and (min-width: 768px) and (min-aspect-ratio: 1/1) {
.directions-container {
    display: none;
}
}

/* Mobile portrait - directions cover full screen */
@media only screen and (max-width: 767px), only screen and (max-aspect-ratio: 1/1) {
.directions-container-fullscreen {
    /* Ensure it's truly fullscreen on mobile */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
}
}

.map-action-buttons[data-v-5c39aa5c] {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

/* Vertical layout for dropdown */
.map-action-buttons.vertical[data-v-5c39aa5c] {
  flex-direction: column;
  align-items: stretch;
}
.map-action-buttons.vertical .map-action-btn[data-v-5c39aa5c] {
  width: 100%;
  justify-content: space-between;
}
.map-action-buttons.vertical .action-label[data-v-5c39aa5c] {
  flex: 1;
  text-align: left;
  white-space: normal;
  word-wrap: break-word;
}
.map-action-btn[data-v-5c39aa5c] {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0px 16px;
  background: #ffffff;
  border: 1px solid var(--primary-400, var(--default-400));
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05),
    0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-600, var(--default-600));
  white-space: nowrap;
  min-width: fit-content;
}
.map-action-btn[data-v-5c39aa5c]:hover {
  transform: translateY(-1px);
  box-shadow: 0px 6px 8px -2px rgba(0, 0, 0, 0.08),
    0px 12px 18px -3px rgba(0, 0, 0, 0.15);
  border-color: var(--primary-500, var(--default-500));
}
.map-action-btn[data-v-5c39aa5c]:active {
  transform: translateY(0);
}

/* Emergency action styling - uses ColorConstants.EMERGENCY_RED and ColorConstants.EMERGENCY_RED_HOVER */
.map-action-btn.emergency-action[data-v-5c39aa5c] {
  border-color: #dc2626;
  color: #dc2626;
}
.map-action-btn.emergency-action[data-v-5c39aa5c]:hover {
  border-color: #b91c1c;
  color: #b91c1c;
  background-color: #fef2f2;
}
.map-action-btn.emergency-action .action-label[data-v-5c39aa5c] {
  color: #dc2626;
}
.map-action-btn.emergency-action:hover .action-label[data-v-5c39aa5c] {
  color: #b91c1c;
}
.map-action-btn.emergency-action .action-icon i[data-v-5c39aa5c] {
  color: #dc2626;
}
.map-action-btn.emergency-action:hover .action-icon i[data-v-5c39aa5c] {
  color: #b91c1c;
}
.action-icon[data-v-5c39aa5c] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.action-icon-img[data-v-5c39aa5c] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.action-icon-svg[data-v-5c39aa5c] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.action-icon-svg[data-v-5c39aa5c] svg {
  width: 20px;
  height: 20px;
}
.action-icon i[data-v-5c39aa5c] {
  font-size: 20px;
  color: var(--primary-600, var(--default-600));
}

/* Styles for buttons without icons */
.map-action-btn.no-icon[data-v-5c39aa5c] {
  gap: 0;
}
.map-action-btn.no-icon .action-label[data-v-5c39aa5c] {
  margin-left: 0;
}

/* Icon on right positioning */
.map-action-btn.icon-right[data-v-5c39aa5c] {
  justify-content: space-between;
}
.map-action-btn.icon-right .action-label[data-v-5c39aa5c] {
  flex: 1;
  text-align: left;
}
.action-icon-right[data-v-5c39aa5c] {
  margin-left: auto;
}
.action-label[data-v-5c39aa5c] {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-600, #0284c7);
  line-height: 1.2;
  opacity: 1;
  visibility: visible;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Mobile responsiveness */
@media only screen and (max-width: 767px) {
.map-action-buttons[data-v-5c39aa5c] {
    flex-wrap: wrap;
    gap: 6px;
}
.map-action-btn[data-v-5c39aa5c] {
    height: 36px;
    padding: 0px 12px;
    font-size: 13px;
    gap: 6px;
}
.action-icon[data-v-5c39aa5c] {
    width: 14px;
    height: 14px;
}
.action-icon-img[data-v-5c39aa5c] {
    width: 14px;
    height: 14px;
}
.action-icon i[data-v-5c39aa5c] {
    font-size: 14px;
}
.action-label[data-v-5c39aa5c] {
    font-size: 13px;
}

  /* Responsive drag handle for mobile */
.drag-handle[data-v-5c39aa5c] {
    width: 18px;
    height: 18px;
    top: 1px;
    right: 1px;
}
.drag-icon[data-v-5c39aa5c] {
    width: 12px;
    height: 12px;
}
}

/* Larger screens - scale up buttons starting from 1440px */
@media only screen and (min-width: 1440px) {
.map-action-btn[data-v-5c39aa5c] {
    height: 44px;
    padding: 0px 18px;
    font-size: 15px;
    gap: 7px;
    border-radius: 22px;
}
.action-icon[data-v-5c39aa5c] {
    width: 22px;
    height: 22px;
}
.action-icon-img[data-v-5c39aa5c] {
    width: 22px;
    height: 22px;
}
.action-icon-svg[data-v-5c39aa5c] {
    width: 22px;
    height: 22px;
}
.action-icon-svg[data-v-5c39aa5c] svg {
    width: 22px;
    height: 22px;
}
.action-icon i[data-v-5c39aa5c] {
    font-size: 22px;
}
.action-label[data-v-5c39aa5c] {
    font-size: 15px;
}
}
@media only screen and (min-width: 1920px) {
.map-action-btn[data-v-5c39aa5c] {
    height: 50px;
    padding: 0px 22px;
    font-size: 16px;
    gap: 8px;
    border-radius: 25px;
}
.action-icon[data-v-5c39aa5c] {
    width: 24px;
    height: 24px;
}
.action-icon-img[data-v-5c39aa5c] {
    width: 24px;
    height: 24px;
}
.action-icon-svg[data-v-5c39aa5c] {
    width: 24px;
    height: 24px;
}
.action-icon-svg[data-v-5c39aa5c] svg {
    width: 24px;
    height: 24px;
}
.action-icon i[data-v-5c39aa5c] {
    font-size: 24px;
}
.action-label[data-v-5c39aa5c] {
    font-size: 16px;
}
}
@media only screen and (min-width: 2560px) {
.map-action-btn[data-v-5c39aa5c] {
    height: 72px;
    padding: 0px 32px;
    font-size: 22px;
    gap: 14px;
    border-radius: 36px;
}
.action-icon[data-v-5c39aa5c] {
    width: 36px;
    height: 36px;
}
.action-icon-img[data-v-5c39aa5c] {
    width: 36px;
    height: 36px;
}
.action-icon-svg[data-v-5c39aa5c] {
    width: 36px;
    height: 36px;
}
.action-icon-svg[data-v-5c39aa5c] svg {
    width: 36px;
    height: 36px;
}
.action-icon i[data-v-5c39aa5c] {
    font-size: 36px;
}
.action-label[data-v-5c39aa5c] {
    font-size: 22px;
}
}

/* Drag and Drop Styles */
.map-action-btn-container[data-v-5c39aa5c] {
  position: relative;
  display: flex;
  align-items: center;
}
.map-action-btn-container.draggable[data-v-5c39aa5c] {
  cursor: grab;
}
.map-action-btn-container.draggable[data-v-5c39aa5c]:active {
  cursor: grabbing;
}
.drag-handle[data-v-5c39aa5c] {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 20;
  width: 20px;
  height: 20px;
  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  transition: all 0.2s ease;
  /* Increase click area with padding */
  padding: 4px;
  margin: -4px;
}
.drag-handle[data-v-5c39aa5c]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.drag-handle[data-v-5c39aa5c]:active {
  cursor: grabbing;
  transform: scale(0.95);
}
.drag-icon[data-v-5c39aa5c] {
  width: 14px;
  height: 14px;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.drag-handle:hover .drag-icon[data-v-5c39aa5c] {
  opacity: 1;
}
.map-action-btn.with-drag-handle[data-v-5c39aa5c] {
  padding-right: 28px; /* Make room for drag handle */
}
.map-action-btn-container.draggable .map-action-btn[data-v-5c39aa5c] {
  pointer-events: auto;
}

.mobile-actions-dropdown[data-v-6e152792] {
  position: relative;
  display: block; /* Always show when component is rendered */
}
.actions-button-wrapper[data-v-6e152792] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.actions-label[data-v-6e152792] {
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

/* Label transition */
.label-enter-active[data-v-6e152792],
.label-leave-active[data-v-6e152792] {
  transition: all 0.2s ease;
}
.label-enter-from[data-v-6e152792] {
  opacity: 0;
  transform: translateX(10px);
}
.label-leave-to[data-v-6e152792] {
  opacity: 0;
  transform: translateX(10px);
}
.mobile-actions-btn[data-v-6e152792] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05),
    0px 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.mobile-actions-btn .actions-icon[data-v-6e152792] {
  transition: fill 0.2s ease;
}
.mobile-actions-btn[data-v-6e152792]:hover,
.mobile-actions-btn.active[data-v-6e152792] {
  transform: translateY(-1px);
  box-shadow: 0px 6px 8px -2px rgba(0, 0, 0, 0.08),
    0px 12px 18px -3px rgba(0, 0, 0, 0.15);
}
.actions-dropdown-menu[data-v-6e152792] {
  position: fixed;
  top: 70px;
  right: 16px;
  min-width: 200px;
  max-width: calc(100vw - 32px);
  width: auto;
  max-height: calc(100vh - 100px);
  background: transparent;
  border-radius: 12px;
  z-index: 1001;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.dropdown-content[data-v-6e152792] {
  overflow-y: auto;
  flex: 1;
  padding: 8px 0 8px 8px;
  background-color: transparent;
}

/* Force action labels to be visible in dropdown */
.dropdown-content[data-v-6e152792] .action-label {
  color: var(--primary-600, #1f2937) !important;
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Make MapActionButtons container fit content */
.dropdown-content[data-v-6e152792] .map-action-buttons {
  width: fit-content !important;
  min-width: 200px !important;
}

/* Force action buttons to have uniform width matching the widest button */
.dropdown-content[data-v-6e152792] .map-action-btn {
  width: 100% !important;
  min-width: unset !important;
  justify-content: space-between !important;
  white-space: nowrap !important;
}

/* Transitions */
.dropdown-enter-active[data-v-6e152792],
.dropdown-leave-active[data-v-6e152792] {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.dropdown-enter-from[data-v-6e152792] {
  opacity: 0;
  transform: translateY(-10px) scale(0.95);
}
.dropdown-leave-to[data-v-6e152792] {
  opacity: 0;
  transform: translateY(-10px) scale(0.95);
}

.screensaver-overlay[data-v-065c459a] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000; /* Highest z-index to ensure it's above everything */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.1); /* Subtle dark overlay */
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.screensaver-background[data-v-065c459a] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: brightness(0.9) saturate(1.1); /* Slight enhancement */
}
.screensaver-background[data-v-065c459a]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
.screensaver-content[data-v-065c459a] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  max-width: 90vw;
  max-height: 90vh;
  gap: 2.5rem;
}
.screensaver-welcome-text[data-v-065c459a] {
  color: #ffffff;
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  text-align: center;
  line-height: 1.125;
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3);
}
.screensaver-button[data-v-065c459a] {
  background: #2295a1;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  padding: 1rem 2rem;
  font-size: 1.5rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  color: #fafafa;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0px 8px 24px rgba(40, 175, 190, 0.7),
    0px 0px 16px rgba(40, 175, 190, 0.35);
  min-width: 150px;
  outline: none;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.screensaver-button[data-v-065c459a]:hover {
  background: #1e7a85;
  transform: translateY(-2px);
  box-shadow: 0px 12px 32px rgba(40, 175, 190, 0.8),
    0px 0px 20px rgba(40, 175, 190, 0.5);
}
.screensaver-button[data-v-065c459a]:focus {
  outline: 3px solid rgba(40, 175, 190, 0.5);
  outline-offset: 2px;
}
.screensaver-button[data-v-065c459a]:active {
  transform: translateY(0);
  box-shadow: 0px 6px 20px rgba(40, 175, 190, 0.6),
    0px 0px 12px rgba(40, 175, 190, 0.3);
}

/* Transition animations */
.screensaver-enter-active[data-v-065c459a] {
  transition: all 0.6s ease-out;
}
.screensaver-leave-active[data-v-065c459a] {
  transition: all 0.4s ease-in;
}
.screensaver-enter-from[data-v-065c459a] {
  opacity: 0;
  transform: scale(1.05);
}
.screensaver-leave-to[data-v-065c459a] {
  opacity: 0;
  transform: scale(0.98);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.screensaver-content[data-v-065c459a] {
    padding: 1.5rem;
    gap: 2rem;
}
.screensaver-welcome-text[data-v-065c459a] {
    font-size: 3rem;
}
.screensaver-button[data-v-065c459a] {
    padding: 0.875rem 2rem;
    font-size: 1.25rem;
    min-width: 140px;
    height: 56px;
}
}
@media (max-width: 480px) {
.screensaver-content[data-v-065c459a] {
    padding: 1rem;
    gap: 1.5rem;
}
.screensaver-welcome-text[data-v-065c459a] {
    font-size: 2.5rem;
}
.screensaver-button[data-v-065c459a] {
    padding: 0.75rem 1.5rem;
    font-size: 1.125rem;
    min-width: 120px;
    height: 48px;
}
}

/* High contrast mode support */
@media (prefers-contrast: high) {
.screensaver-button[data-v-065c459a] {
    background: white;
    border-color: black;
    color: black;
}
.screensaver-welcome-text[data-v-065c459a] {
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
.screensaver-enter-active[data-v-065c459a],
  .screensaver-leave-active[data-v-065c459a] {
    transition-duration: 0.2s;
}
.screensaver-button[data-v-065c459a] {
    transition-duration: 0.1s;
}
.screensaver-button[data-v-065c459a]:hover {
    transform: none;
}
}
.floating-directions-card[data-v-f8f9ad12] {
  position: absolute;
  z-index: 15;
  width: 600px;
  max-height: 80vh;
  pointer-events: auto;
  transition: left 0.3s ease-out, bottom 0.2s ease-out;
  bottom: var(--floating-info-bottom, 66px);
}
.directions-card-content[data-v-f8f9ad12] {
  display: flex;
  flex-direction: column;
  padding: 0;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  box-shadow: 0px 12px 24px 1px rgba(0, 0, 0, 0.25), 0px 0px 24px 1px rgba(0, 0, 0, 0.15);
  max-height: calc(80vh - 20px);
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}
.close-btn[data-v-f8f9ad12] {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  color: #6b7280;
  transition: background-color 0.2s ease, color 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.close-btn[data-v-f8f9ad12]:hover {
  background-color: #f3f4f6;
  color: #374151;
}
.card-columns[data-v-f8f9ad12] {
  display: flex;
  height: 100%;
  max-height: calc(80vh - 20px);
}
.left-column[data-v-f8f9ad12] {
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  padding: 16px;
  padding-top: 16px;
  border-right: 1px solid #e5e7eb;
  overflow-y: auto;
}
.right-column[data-v-f8f9ad12] {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 16px;
  padding-top: 16px;
  overflow-y: auto;
  min-width: 200px;
  max-width: 400px;
}
.column-header[data-v-f8f9ad12] {
  margin-bottom: 10px;
  padding-bottom: 10px;
  padding-right: 40px;
  border-bottom: 1px solid #e5e7eb;
}
.directions-title[data-v-f8f9ad12] {
  font-size: 18px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  color: #404040;
  margin: 0;
}
.destination-row[data-v-f8f9ad12] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.directions-destination[data-v-f8f9ad12] {
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  margin: 0;
  flex: 0 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.destination-floor-badge[data-v-f8f9ad12] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  flex-shrink: 0;
}
.floor-badge-icon[data-v-f8f9ad12] {
  width: 10px;
  height: 10px;
}
.floor-badge-text[data-v-f8f9ad12] {
  font-size: 10px;
}
.route-summary-inline[data-v-f8f9ad12] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  background: #f9fafb;
  border-radius: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.summary-item-inline[data-v-f8f9ad12] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.summary-icon-inline[data-v-f8f9ad12] {
  width: 14px;
  height: 14px;
  color: #6b7280;
  flex-shrink: 0;
}
.summary-text-inline[data-v-f8f9ad12] {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  color: #374151;
  white-space: nowrap;
}
.summary-separator[data-v-f8f9ad12] {
  color: #9ca3af;
  font-size: 12px;
  margin: 0 2px;
}
.route-options-section[data-v-f8f9ad12] {
  margin-top: 8px;
}
.route-options-title[data-v-f8f9ad12] {
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  color: #374151;
  margin: 0 0 8px 0;
}
.route-options-list[data-v-f8f9ad12] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.route-option-btn[data-v-f8f9ad12] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #ffffff;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: "Roboto", sans-serif;
  width: 100%;
}
.route-option-btn[data-v-f8f9ad12]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.route-option-btn-active[data-v-f8f9ad12] {
  border-width: 2px;
  background: rgba(2, 132, 199, 0.05);
}
.route-option-icon[data-v-f8f9ad12] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.connector-icon-img[data-v-f8f9ad12] {
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.route-option-details[data-v-f8f9ad12] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.route-option-label[data-v-f8f9ad12] {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
}
.route-option-time[data-v-f8f9ad12] {
  font-size: 11px;
  font-weight: 400;
  color: #6b7280;
}
.directions-steps[data-v-f8f9ad12] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}
.step-item[data-v-f8f9ad12] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.step-icon-container[data-v-f8f9ad12] {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  border-radius: 50%;
}
.step-icon[data-v-f8f9ad12] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.step-number[data-v-f8f9ad12] {
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  color: #6b7280;
}
.step-content[data-v-f8f9ad12] {
  flex: 1;
  min-width: 0;
}
.step-instruction[data-v-f8f9ad12] {
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  color: #1f2937;
  margin: 0 0 4px 0;
  line-height: 1.4;
}
.step-distance[data-v-f8f9ad12] {
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  color: #6b7280;
  margin: 0;
}
.left-column[data-v-f8f9ad12]::-webkit-scrollbar,
.right-column[data-v-f8f9ad12]::-webkit-scrollbar {
  width: 6px;
}
.left-column[data-v-f8f9ad12]::-webkit-scrollbar-track,
.right-column[data-v-f8f9ad12]::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.left-column[data-v-f8f9ad12]::-webkit-scrollbar-thumb,
.right-column[data-v-f8f9ad12]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.left-column[data-v-f8f9ad12]::-webkit-scrollbar-thumb:hover,
.right-column[data-v-f8f9ad12]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
.model3d-gizmo[data-v-54c63446] {
  pointer-events: none;
  user-select: none;
}
.gizmo-svg[data-v-54c63446] {
  pointer-events: none;
  overflow: visible;
}

/* Rotation rings */
.ring[data-v-54c63446] {
  fill: none;
  stroke-width: 7;
  cursor: grab;
  pointer-events: stroke;
  transition: stroke-width 0.12s, opacity 0.12s;
  opacity: 0.75;
}
.ring[data-v-54c63446]:hover {
  stroke-width: 10;
  opacity: 1;
}
.ring-active[data-v-54c63446] {
  stroke-width: 10 !important;
  opacity: 1 !important;
  cursor: grabbing !important;
}
.ring-z[data-v-54c63446] { stroke: #4CAF50;
}
.ring-y[data-v-54c63446] { stroke: #2196F3;
}
.ring-x[data-v-54c63446] { stroke: #F44336;
}
.ring-label[data-v-54c63446] {
  font-size: 11px;
  font-weight: 700;
  pointer-events: none;
  user-select: none;
}
.ring-label-z[data-v-54c63446] { fill: #4CAF50;
}
.ring-label-y[data-v-54c63446] { fill: #2196F3;
}
.ring-label-x[data-v-54c63446] { fill: #F44336;
}

/* Arrow buttons */
.arrow-btn[data-v-54c63446] {
  cursor: pointer;
  pointer-events: auto;
}
.arrow-bg[data-v-54c63446] {
  fill: rgba(255, 255, 255, 0.92);
  stroke: #90A4AE;
  stroke-width: 1.5;
  transition: fill 0.1s;
}
.arrow-btn:hover .arrow-bg[data-v-54c63446] {
  fill: #E3F2FD;
  stroke: #1E88E5;
}
.arrow-btn:active .arrow-bg[data-v-54c63446] {
  fill: #BBDEFB;
}
.arrow-icon[data-v-54c63446] {
  fill: #546E7A;
  pointer-events: none;
}
.arrow-btn:hover .arrow-icon[data-v-54c63446] {
  fill: #1E88E5;
}

/* Center drag handle */
.center-handle[data-v-54c63446] {
  fill: rgba(255, 255, 255, 0.95);
  stroke: #0c8ce9;
  stroke-width: 2.5;
  cursor: grab;
  pointer-events: auto;
  transition: fill 0.12s;
}
.center-handle[data-v-54c63446]:hover {
  fill: #E3F2FD;
}
.center-dragging[data-v-54c63446] {
  fill: #BBDEFB !important;
  cursor: grabbing !important;
}

/* 4-directional move icon */
.center-icon line[data-v-54c63446] {
  stroke: #0c8ce9;
  stroke-width: 2;
  stroke-linecap: round;
  pointer-events: none;
}
.center-icon polygon[data-v-54c63446] {
  fill: #0c8ce9;
  pointer-events: none;
}

/* ── Isometric axis scale widget ────────────────────────────────────── */

/* Arm guide lines */
.axis-arm[data-v-54c63446] {
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  pointer-events: none;
  opacity: 0.85;
}
.axis-arm-z[data-v-54c63446] { stroke: #2196F3;
}  /* blue  — matches Z rotation ring */
.axis-arm-x[data-v-54c63446] { stroke: #F44336;
}  /* red   — matches X rotation ring */
.axis-arm-y[data-v-54c63446] { stroke: #4CAF50;
}  /* green — matches Y rotation ring */

/* Arrowheads */
.axis-arrow[data-v-54c63446] { pointer-events: none; opacity: 0.85;
}
.axis-arrow-z[data-v-54c63446] { fill: #2196F3;
}
.axis-arrow-x[data-v-54c63446] { fill: #F44336;
}
.axis-arrow-y[data-v-54c63446] { fill: #4CAF50;
}

/* Axis letter labels — centred inside each tip circle */
.axis-tip-label[data-v-54c63446] {
  font-size: 10px;
  font-weight: 800;
  text-anchor: middle;
  dominant-baseline: central;
  pointer-events: none;
  user-select: none;
}
.axis-tip-label-z[data-v-54c63446] { fill: #1565C0;
}
.axis-tip-label-x[data-v-54c63446] { fill: #B71C1C;
}
.axis-tip-label-y[data-v-54c63446] { fill: #1B5E20;
}

/* Isometric cube faces */
.cube-face[data-v-54c63446] {
  stroke: rgba(80, 80, 80, 0.6);
  stroke-width: 1;
  transition: fill 0.1s;
  pointer-events: none;
}
.cube-face-top[data-v-54c63446]   { fill: rgba(255, 255, 255, 0.95);
}
.cube-face-right[data-v-54c63446] { fill: rgba(210, 210, 210, 0.92);
}
.cube-face-left[data-v-54c63446]  { fill: rgba(168, 168, 168, 0.92);
}

/* Transparent hexagonal hit area */
.cube-hit[data-v-54c63446] {
  fill: transparent;
  stroke: none;
  pointer-events: all;
}

/* Arm hit zones (wide transparent strokes) */
.arm-hit[data-v-54c63446] {
  fill: none;
  stroke: transparent;
  stroke-width: 18;
  stroke-linecap: round;
  pointer-events: stroke;
}

/* Handle circles at arm tips */
.axis-handle[data-v-54c63446] {
  stroke-width: 2;
  transition: r 0.1s, fill 0.1s;
}
.axis-handle-z[data-v-54c63446] { fill: rgba(255,255,255,0.95); stroke: #2196F3;
}
.axis-handle-x[data-v-54c63446] { fill: rgba(255,255,255,0.95); stroke: #F44336;
}
.axis-handle-y[data-v-54c63446] { fill: rgba(255,255,255,0.95); stroke: #4CAF50;
}

/* Uniform scale button (cube group) */
.scale-btn[data-v-54c63446] { pointer-events: all;
}
.scale-uniform-btn[data-v-54c63446] { cursor: all-scroll;
}
.scale-z-btn[data-v-54c63446]       { cursor: ns-resize;
}
.scale-x-btn[data-v-54c63446]       { cursor: nwse-resize;
}
.scale-y-btn[data-v-54c63446]       { cursor: nesw-resize;
}

/* Hover states */
.scale-uniform-btn:hover .cube-face-top[data-v-54c63446]   { fill: rgba(255, 243, 224, 0.97);
}
.scale-uniform-btn:hover .cube-face-right[data-v-54c63446] { fill: rgba(255, 224, 178, 0.95);
}
.scale-uniform-btn:hover .cube-face-left[data-v-54c63446]  { fill: rgba(255, 204, 128, 0.95);
}
.scale-z-btn:hover .axis-handle-z[data-v-54c63446]         { fill: #BBDEFB;
}
.scale-x-btn:hover .axis-handle-x[data-v-54c63446]         { fill: #FFCDD2;
}
.scale-y-btn:hover .axis-handle-y[data-v-54c63446]         { fill: #C8E6C9;
}

/* Active (while dragging) */
.scale-active .cube-face-top[data-v-54c63446]   { fill: #FFE0B2 !important;
}
.scale-active .cube-face-right[data-v-54c63446] { fill: #FFCC80 !important;
}
.scale-active .cube-face-left[data-v-54c63446]  { fill: #FFA726 !important;
}
.scale-active .axis-handle-z[data-v-54c63446]   { fill: #1565C0 !important;
}
.scale-active .axis-handle-x[data-v-54c63446]   { fill: #B71C1C !important;
}
.scale-active .axis-handle-y[data-v-54c63446]   { fill: #1B5E20 !important;
}

.map-view-container[data-v-f5dd8f0f] {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

/* Unified Top Bar Layout */
.top-bar-container[data-v-f5dd8f0f] {
  position: absolute;
  top: 20px;
  left: 16px;
  right: 16px;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  height: 40px;
}

/* Desktop: Position top bar after sidebar - only in landscape orientation */
/* Use aspect-ratio or orientation to ensure we don't apply desktop layout on portrait screens */
@media only screen and (min-width: 768px) and (min-aspect-ratio: 1/1) {
.top-bar-container[data-v-f5dd8f0f] {
    left: calc(var(--sidebar-computed-width, 25%) + 16px);
}
}

/* Top bar is always visible and responsive */
.top-bar-left[data-v-f5dd8f0f] {
  display: flex;
  align-items: center;
  min-width: 0; /* Allow shrinking */
  flex: 1 1 auto; /* Allow growing and shrinking */
  max-width: 400px; /* Maximum width for search */
}
.top-bar-right[data-v-f5dd8f0f] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0; /* Don't shrink the right side */
  justify-content: flex-end;
}

/* Desktop only - hide on mobile */
.desktop-only[data-v-f5dd8f0f] {
  display: flex;
}

/* Hide desktop-only elements on mobile OR portrait orientation */
@media only screen and (max-width: 767px), only screen and (max-aspect-ratio: 1/1) {
.desktop-only[data-v-f5dd8f0f] {
    display: none !important;
}
}

/* Scale top bar height and spacing for larger screens starting from 1440px - only in landscape */
@media only screen and (min-width: 1440px) and (min-aspect-ratio: 1/1) {
.top-bar-container[data-v-f5dd8f0f] {
    height: 44px;
    top: 22px;
    gap: 17px;
}
}
@media only screen and (min-width: 1920px) and (min-aspect-ratio: 1/1) {
.top-bar-container[data-v-f5dd8f0f] {
    height: 50px;
    top: 25px;
    gap: 18px;
}
.top-bar-right[data-v-f5dd8f0f] {
    gap: 13px;
}
}
@media only screen and (min-width: 2560px) and (min-aspect-ratio: 1/1) {
.top-bar-container[data-v-f5dd8f0f] {
    height: 72px;
    top: 36px;
    gap: 28px;
}
.top-bar-right[data-v-f5dd8f0f] {
    gap: 18px;
}
}
.mapbox-wrapper[data-v-f5dd8f0f] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Desktop: Adjust map positioning to account for sidebar - only in landscape orientation */
/* Use aspect-ratio to ensure we don't apply desktop layout on portrait screens */
@media only screen and (min-width: 768px) and (min-aspect-ratio: 1/1) {
.mapbox-wrapper[data-v-f5dd8f0f] {
    left: var(--sidebar-computed-width, 25%);
    width: calc(100% - var(--sidebar-computed-width, 25%));
    margin: 0;
    padding: 0;
    border: none;
}
}
.map-placeholder[data-v-f5dd8f0f] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
}
.blurred-map[data-v-f5dd8f0f] {
  width: 100%;
  height: 100%;
  filter: blur(8px);
  transform: scale(1.1);
  background-size: cover;
  background-position: center;
}
.overlay[data-v-f5dd8f0f] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  display: flex;
  justify-content: center;
  align-items: center;
}
.spinner[data-v-f5dd8f0f] {
  border: 8px solid rgba(0, 0, 0, 0.1);
  border-left-color: #4caf50;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin-f5dd8f0f 1s linear infinite;
}
.error-message[data-v-f5dd8f0f] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--secondary-600, rgba(255, 0, 0, 0.8));
  color: white;
  padding: 1rem;
  border-radius: 4px;
  z-index: 1000;
  border: 1px solid var(--secondary-700, rgba(255, 0, 0, 0.9));
}
@keyframes spin-f5dd8f0f {
to {
    transform: rotate(360deg);
}
}

/* Invitation Status Popup Styles */
.invitation-status-popup[data-v-f5dd8f0f] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.popup-content[data-v-f5dd8f0f] {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.close-button[data-v-f5dd8f0f] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  color: #666;
  z-index: 1001;
}
.close-button[data-v-f5dd8f0f]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.button-container[data-v-f5dd8f0f] {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
}
.btn[data-v-f5dd8f0f] {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
}
.btn-primary[data-v-f5dd8f0f] {
  background-color: #007bff;
  color: white;
}
.btn-primary[data-v-f5dd8f0f]:hover {
  background-color: #0056b3;
}

/* ============================================================
   Free session limit overlay
   ============================================================ */
.session-limit-overlay[data-v-f5dd8f0f] {
  position: absolute;
  inset: 0;
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
}
.session-limit-card[data-v-f5dd8f0f] {
  max-width: 400px;
  width: 90%;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  padding: 40px 32px;
  text-align: center;
}
.session-limit-icon[data-v-f5dd8f0f] {
  font-size: 48px;
  color: #f59e0b;
  margin-bottom: 16px;
}
.session-limit-title[data-v-f5dd8f0f] {
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 12px;
}
.session-limit-body[data-v-f5dd8f0f] {
  font-size: 15px;
  color: #4b5563;
  line-height: 1.6;
  margin: 0 0 16px;
}
.session-limit-hint[data-v-f5dd8f0f] {
  font-size: 13px;
  color: #9ca3af;
  margin: 0;
}
.session-limit-hint a[data-v-f5dd8f0f] {
  color: #4f46e5;
  font-weight: 600;
  text-decoration: none;
}
.session-limit-hint a[data-v-f5dd8f0f]:hover {
  text-decoration: underline;
}

.map-container[data-v-a30c251a] {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}
.loading-overlay[data-v-a30c251a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.spinner[data-v-a30c251a] {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin-a30c251a 1s ease-in-out infinite;
}
@keyframes spin-a30c251a {
to {
    transform: rotate(360deg);
}
}

/* Global styles for custom markers and popups */
.custom-marker {
  width: 32px;
  height: 32px;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;

  /* No transition for better performance */
  transform-origin: center bottom;
}
.custom-marker:hover {
  /* Simple scale for hover instead of transformation */
  transform: scale(1.1);
}
.custom-marker.selected {
  /* Simple highlight for selected marker */
  transform: scale(1.2);
}
.custom-popup-container {
  max-width: 280px !important;
}
.custom-popup {
  padding: 5px;
}
.custom-popup h4 {
  margin: 0 0 8px 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, 600);
  font-style: var(--custom-font-style, inherit);
}
.custom-popup p {
  margin: 0 0 8px 0;
  font-size: 14px;
  color: #555;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.popup-detail {
  font-size: 12px;
  color: #777;
  margin-top: 4px;
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.mapboxgl-popup-close-button {
  font-size: 16px;
  padding: 3px 6px;
  color: #333;
  background: transparent;
}

.builder-login-overlay[data-v-9b1259c5] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
  backdrop-filter: blur(4px);
}
.builder-login-modal[data-v-9b1259c5] {
  background: white;
  padding: 0;
  border-radius: 12px;
  max-width: 450px;
  width: 90%;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  animation: slideIn-9b1259c5 0.3s ease-out;
}
@keyframes slideIn-9b1259c5 {
from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.builder-login-content[data-v-9b1259c5] {
  padding: 2.5rem;
  text-align: center;
}
.builder-login-header h3[data-v-9b1259c5] {
  color: #2c3e50;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  font-weight: 600;
}
.builder-login-header p[data-v-9b1259c5] {
  color: #6c757d;
  margin-bottom: 2rem;
  font-size: 1rem;
  line-height: 1.5;
}
.builder-login-actions[data-v-9b1259c5] {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.btn[data-v-9b1259c5] {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
}
.btn[data-v-9b1259c5]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.btn[data-v-9b1259c5]:active {
  transform: translateY(0);
}
.btn-primary[data-v-9b1259c5] {
  background: linear-gradient(135deg, #007bff, #0056b3);
  color: white;
}
.btn-primary[data-v-9b1259c5]:hover {
  background: linear-gradient(135deg, #0056b3, #004085);
}
.btn-secondary[data-v-9b1259c5] {
  background: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}
.btn-secondary[data-v-9b1259c5]:hover {
  background: #e9ecef;
  color: #495057;
}

/* Mobile responsiveness */
@media (max-width: 480px) {
.builder-login-content[data-v-9b1259c5] {
    padding: 2rem 1.5rem;
}
.builder-login-actions[data-v-9b1259c5] {
    flex-direction: column;
    align-items: center;
}
.btn[data-v-9b1259c5] {
    width: 100%;
    max-width: 200px;
}
.builder-login-header h3[data-v-9b1259c5] {
    font-size: 1.3rem;
}
}

.success-toast[data-v-73f466f0] {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  padding: 16px 20px;
  min-width: 300px;
  max-width: 500px;
}
.toast-content[data-v-73f466f0] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.success-icon[data-v-73f466f0] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.toast-message[data-v-73f466f0] {
  margin: 0;
  color: #1f2937;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

/* Toast slide animation */
.toast-slide-enter-active[data-v-73f466f0] {
  animation: toast-slide-in-73f466f0 0.3s ease-out;
}
.toast-slide-leave-active[data-v-73f466f0] {
  animation: toast-slide-out-73f466f0 0.3s ease-in;
}
@keyframes toast-slide-in-73f466f0 {
from {
    transform: translateX(120%);
    opacity: 0;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}
@keyframes toast-slide-out-73f466f0 {
from {
    transform: translateX(0);
    opacity: 1;
}
to {
    transform: translateX(120%);
    opacity: 0;
}
}

/* Mobile responsiveness */
@media (max-width: 768px) {
.success-toast[data-v-73f466f0] {
    top: 10px;
    right: 10px;
    left: 10px;
    min-width: auto;
    max-width: none;
}
}

.modal-overlay[data-v-02620940] {
  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: 1000;
}
.modal-content[data-v-02620940] {
  background-color: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 400px;
  width: 90%;
}
.modal-buttons[data-v-02620940] {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
}
.btn-danger[data-v-02620940] {
  background-color: #dc3545;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 4px;
}
.btn-secondary[data-v-02620940] {
  background-color: #6c757d;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 4px;
}
.mapbox-wrapper[data-v-02620940] {
  width: 100%;
  height: 100%;
}

/* Mobile Layout Styles */
.mobile-layout[data-v-02620940] {
  position: relative;
  overflow: hidden;
}
.mobile-map-container[data-v-02620940] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Mobile draggable card container */
.builder-card-container[data-v-02620940] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: calc(var(--builder-card-height-percent, 40%) * 1vh);
  z-index: 5;
}
.mobile-builder-card[data-v-02620940] {
  background-color: #f8f8f8;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  height: 100%;
  padding-top: 16px;
  position: relative;
  overflow-y: auto;
}

/* Drag handle container */
.drag-handle-container[data-v-02620940] {
  width: 100%;
  display: flex;
  justify-content: center;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  height: 40px;
  padding-top: 20px;
  z-index: 10;
  background-color: transparent;
  cursor: grab;
}

/* Create the visual bar at the bottom of the container */
.drag-handle-container[data-v-02620940]:after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background-color: rgba(128, 128, 128, 0.4);
  border-radius: 4px;
}

/* Add visual feedback for active dragging state */
.drag-handle-container.dragging[data-v-02620940] {
  cursor: grabbing;
}
.drag-handle-container.dragging[data-v-02620940]:after {
  width: 50px;
  background-color: rgba(128, 128, 128, 0.6);
}
.shadow-xl[data-v-02620940] {
  box-shadow: 0 1rem 1.3rem rgba(0, 0, 0, 0.175);
}

/* Mobile-specific adjustments */
@media only screen and (max-width: 767px) {
.drag-handle-container[data-v-02620940] {
    top: -15px;
    height: 35px;
    padding-top: 15px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}
.drag-handle-container[data-v-02620940]:after {
    margin-bottom: 5px;
    position: relative;
    top: 5px;
}
}

.map-card[data-v-3100135a] {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #fff;
  cursor: pointer;
  transition: box-shadow 0.3s ease;
  position: relative;
  box-sizing: border-box;
}
.map-card[data-v-3100135a]:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.map-card.selected[data-v-3100135a] {
  border: 2px solid #0c8ce9;
  box-shadow: 0 0 8px rgba(12, 140, 233, 0.2);
  background-color: #f8f9fa;
}
.card-content[data-v-3100135a] {
  display: flex;
  flex-direction: column;
  padding: 16px;
  border-radius: 7px;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}
.header-section[data-v-3100135a] {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}
.icon-container[data-v-3100135a] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.title-section[data-v-3100135a] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-grow: 1;
}
.details-section[data-v-3100135a] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 0px;
}
.actions-section[data-v-3100135a] {
  padding: 12px 16px;
  background-color: #f8f9fa;
  border-top: 1px solid #ddd;
  margin: 16px -16px -16px -16px;
  min-height: 50px;
  width: auto;
  box-sizing: border-box;
}
.actions-content[data-v-3100135a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.left-buttons[data-v-3100135a] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.right-buttons[data-v-3100135a] {
  display: flex;
  gap: 16px;
  margin-right: 10px;
}
.btn-action[data-v-3100135a] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  white-space: nowrap;
  font-size: 0.9rem;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-builder[data-v-3100135a] {
  background-color: #007bff;
  color: white;
}
.btn-view[data-v-3100135a] {
  background-color: green;
  color: white;
}
.btn-copy[data-v-3100135a] {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #007bff;
  transition: color 0.2s ease;
}
.btn-copy[data-v-3100135a]:hover {
  color: #0056b3;
}
.btn-delete[data-v-3100135a] {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0;
}
.btn-action[data-v-3100135a]:hover {
  opacity: 0.9;
}

/* Copy confirmation layout */
.copy-confirmation-layout[data-v-3100135a] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.confirmation-text[data-v-3100135a] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-left: 4px;
}
.confirmation-buttons[data-v-3100135a] {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.btn-confirm-yes[data-v-3100135a],
.btn-confirm-no[data-v-3100135a] {
  padding: 6px 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: opacity 0.2s ease;
  height: 32px;
}
.btn-confirm-yes[data-v-3100135a] {
  background-color: #10b981;
  color: white;
}
.btn-confirm-yes[data-v-3100135a]:hover {
  opacity: 0.9;
}
.btn-confirm-no[data-v-3100135a] {
  background-color: #6b7280;
  color: white;
}
.btn-confirm-no[data-v-3100135a]:hover {
  opacity: 0.9;
}
h5[data-v-3100135a],
h6[data-v-3100135a] {
  margin: 0;
}
.text-primary[data-v-3100135a] {
  color: #007bff;
}
.title-section h5[data-v-3100135a] {
  font-size: 1.25rem;
  font-weight: 500;
}
.title-section h6[data-v-3100135a] {
  font-size: 1rem;
  font-weight: 400;
}
.title-section h5[data-v-3100135a],
.title-section h6[data-v-3100135a],
.details-section h6[data-v-3100135a] {
  color: #333;
}
.details-row[data-v-3100135a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.created-date[data-v-3100135a] {
  font-size: 0.85rem;
  color: #666;
  margin-left: auto;
}

.map-list-container[data-v-958266a5] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden; /* Contains the scrolling */
}
.authenticated-container[data-v-958266a5] {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  overflow: hidden;
}
.superuser-open-map[data-v-958266a5] {
  margin-bottom: 16px;
  padding: 12px;
  background: #f0f7ff;
  border-radius: 8px;
  border: 1px solid #cce5ff;
}
.superuser-open-map label[data-v-958266a5] {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 6px;
}
.open-map-row[data-v-958266a5] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.open-map-row input[data-v-958266a5] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 0.875rem;
}
.open-map-row input[data-v-958266a5]:focus {
  outline: none;
  border-color: #0d6efd;
  box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.25);
}
.btn-open-map[data-v-958266a5] {
  padding: 8px 16px;
  background: #0d6efd;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}
.btn-open-map[data-v-958266a5]:hover:not(:disabled) {
  background: #0b5ed7;
}
.btn-open-map[data-v-958266a5]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.maps-grid[data-v-958266a5] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 20px;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  flex-grow: 1;
}

/* Remove any height constraints on map cards */
.map-card[data-v-958266a5] {
  min-height: fit-content;
  height: auto !important; /* Override any fixed heights */
  margin-bottom: 12px;
}

/* Ensure proper spacing between cards */
.maps-grid[data-v-958266a5] > *:not(:last-child) {
  margin-bottom: 12px;
}

/* Remove any max-height constraints */
.card-body[data-v-958266a5],
.content-container[data-v-958266a5],
.details-container[data-v-958266a5] {
  height: auto !important;
  max-height: none !important;
}
.loading-state[data-v-958266a5],
.error-state[data-v-958266a5],
.no-maps-found[data-v-958266a5] {
  text-align: center;
  margin-top: 20px;
}
.error-message[data-v-958266a5] {
  color: red;
  margin-top: 10px;
}
.login-buttons[data-v-958266a5] {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}
.btn[data-v-958266a5] {
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  border: none;
  border-radius: 4px;
  color: white;
}
.btn-google[data-v-958266a5] {
  background-color: #db4437;
}
.modal-overlay[data-v-958266a5] {
  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: 1000;
}
.modal-content[data-v-958266a5] {
  background-color: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 400px;
  width: 90%;
}
.modal-buttons[data-v-958266a5] {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
}
.btn-secondary[data-v-958266a5] {
  background-color: #6c757d;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 4px;
}

.env-tester[data-v-106523b6] {
  max-width: 960px;
  margin: 0 auto;
  padding: 2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, sans-serif;
}
h2[data-v-106523b6] {
  margin-bottom: 2rem;
  font-size: 1.8rem;
  color: #333;
  border-bottom: 2px solid #eaeaea;
  padding-bottom: 0.5rem;
}
.section[data-v-106523b6] {
  margin-bottom: 2rem;
  background-color: #f9f9f9;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
h3[data-v-106523b6] {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.4rem;
  color: #2791cc;
}
.env-table[data-v-106523b6] {
  border: 1px solid #eaeaea;
  border-radius: 4px;
  overflow: hidden;
}
.env-row[data-v-106523b6] {
  display: flex;
  border-bottom: 1px solid #eaeaea;
}
.env-row[data-v-106523b6]:last-child {
  border-bottom: none;
}
.env-key[data-v-106523b6],
.env-value[data-v-106523b6] {
  padding: 0.75rem 1rem;
}
.env-key[data-v-106523b6] {
  flex: 0 0 40%;
  background-color: #f1f1f1;
  font-weight: bold;
  color: #333;
}
.env-value[data-v-106523b6] {
  flex: 1;
  background-color: #fff;
  font-family: monospace;
  word-break: break-all;
}
.controls[data-v-106523b6] {
  margin-bottom: 1rem;
}
.btn[data-v-106523b6] {
  background-color: #2791cc;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.2s;
}
.btn[data-v-106523b6]:hover:not(:disabled) {
  background-color: #1a7bb0;
}
.btn[data-v-106523b6]:disabled {
  background-color: #95c9e6;
  cursor: not-allowed;
}
.result-panel[data-v-106523b6] {
  margin-top: 1rem;
  border-radius: 4px;
  padding: 1rem;
}
.result-panel.success[data-v-106523b6] {
  background-color: #e6f7ea;
  border: 1px solid #a3d9b0;
}
.result-panel.error[data-v-106523b6] {
  background-color: #ffeaea;
  border: 1px solid #ffbdbd;
}
pre[data-v-106523b6] {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 1rem;
  border-radius: 4px;
  overflow: auto;
  margin: 0;
  font-family: monospace;
  font-size: 0.9rem;
}



.btn-builder {
  background-color: #0c8ce9;
  color: white;
}
.btn-builder:hover {
  background-color: #0b7cd1;
}
.btn-view {
  background-color: #28a745;
  color: white;
}
.btn-view:hover {
  background-color: #218838;
}
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #161C2D;
  --bs-white: #FFFFFF;
  --bs-gray: #869AB8;
  --bs-gray-dark: #384C74;
  --bs-gray-100: #F9FBFD;
  --bs-gray-200: #F1F4F8;
  --bs-gray-300: #D9E2EF;
  --bs-gray-400: #C6D3E6;
  --bs-gray-500: #ABBCD5;
  --bs-gray-600: #869AB8;
  --bs-gray-700: #506690;
  --bs-gray-800: #384C74;
  --bs-gray-900: #1B2A4E;
  --bs-primary: #335EEA;
  --bs-primary-desat: #6C8AEC;
  --bs-secondary: #506690;
  --bs-success: #42BA96;
  --bs-info: #7C69EF;
  --bs-warning: #FAD776;
  --bs-danger: #DF4759;
  --bs-light: #F9FBFD;
  --bs-dark: #1B2A4E;
  --bs-primary-rgb: 51, 94, 234;
  --bs-primary-desat-rgb: 108, 138, 236;
  --bs-secondary-rgb: 80, 102, 144;
  --bs-success-rgb: 66, 186, 150;
  --bs-info-rgb: 124, 105, 239;
  --bs-warning-rgb: 250, 215, 118;
  --bs-danger-rgb: 223, 71, 89;
  --bs-light-rgb: 249, 251, 253;
  --bs-dark-rgb: 27, 42, 78;
  --bs-primary-text-emphasis: rgb(20.4, 37.6, 93.6);
  --bs-secondary-text-emphasis: rgb(32, 40.8, 57.6);
  --bs-success-text-emphasis: rgb(26.4, 74.4, 60);
  --bs-info-text-emphasis: rgb(49.6, 42, 95.6);
  --bs-warning-text-emphasis: rgb(100, 86, 47.2);
  --bs-danger-text-emphasis: rgb(89.2, 28.4, 35.6);
  --bs-light-text-emphasis: #506690;
  --bs-dark-text-emphasis: #506690;
  --bs-primary-bg-subtle: rgba(51, 94, 234, 0.1);
  --bs-primary-desat-bg-subtle: rgba(51, 94, 234, 0.1);
  --bs-secondary-bg-subtle: rgba(80, 102, 144, 0.1);
  --bs-success-bg-subtle: rgba(66, 186, 150, 0.1);
  --bs-info-bg-subtle: rgba(124, 105, 239, 0.1);
  --bs-warning-bg-subtle: rgba(250, 215, 118, 0.1);
  --bs-danger-bg-subtle: rgba(223, 71, 89, 0.1);
  --bs-light-bg-subtle: rgba(249, 251, 253, 0.1);
  --bs-dark-bg-subtle: rgba(27, 42, 78, 0.1);
  --bs-white-bg-subtle: rgba(255, 255, 255, 0.1);
  --bs-gray-700-bg-subtle: rgba(80, 102, 144, 0.1);
  --bs-primary-border-subtle: rgb(173.4, 190.6, 246.6);
  --bs-secondary-border-subtle: rgb(185, 193.8, 210.6);
  --bs-success-border-subtle: rgb(179.4, 227.4, 213);
  --bs-info-border-subtle: rgb(202.6, 195, 248.6);
  --bs-warning-border-subtle: rgb(253, 239, 200.2);
  --bs-danger-border-subtle: rgb(242.2, 181.4, 188.6);
  --bs-light-border-subtle: #F1F4F8;
  --bs-dark-border-subtle: #ABBCD5;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 22, 28, 45;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: "HKGroteskPro", serif;
  --bs-body-font-size: 1.0625rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.6;
  --bs-body-color: #161C2D;
  --bs-body-color-rgb: 22, 28, 45;
  --bs-body-bg: #FFFFFF;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #161C2D;
  --bs-emphasis-color-rgb: 22, 28, 45;
  --bs-secondary-color: #869AB8;
  --bs-secondary-color-rgb: 134, 154, 184;
  --bs-secondary-bg: #F1F4F8;
  --bs-secondary-bg-rgb: 241, 244, 248;
  --bs-tertiary-color: rgba(22, 28, 45, 0.5);
  --bs-tertiary-color-rgb: 22, 28, 45;
  --bs-tertiary-bg: #F9FBFD;
  --bs-tertiary-bg-rgb: 249, 251, 253;
  --bs-heading-color: inherit;
  --bs-link-color: #335EEA;
  --bs-link-color-rgb: 51, 94, 234;
  --bs-link-decoration: none;
  --bs-link-hover-color: rgb(40.8, 75.2, 187.2);
  --bs-link-hover-color-rgb: 41, 75, 187;
  --bs-link-hover-decoration: underline;
  --bs-code-color: #d63384;
  --bs-highlight-color: #161C2D;
  --bs-highlight-bg: rgb(255, 242.6, 205.4);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #F1F4F8;
  --bs-border-color-translucent: rgba(22, 28, 45, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.1);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(22, 28, 45, 0.075);
  --bs-box-shadow-lg: 0 1.5rem 4rem rgba(22, 28, 45, 0.1);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(22, 28, 45, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(51, 94, 234, 0.25);
  --bs-form-valid-color: #42BA96;
  --bs-form-valid-border-color: #42BA96;
  --bs-form-invalid-color: #DF4759;
  --bs-form-invalid-border-color: #DF4759;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(22, 28, 45, 0);
}
hr {
  margin: 1rem 0;
  color: var(--bs-border-color);
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 1;
}
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 400;
  line-height: 1;
  color: var(--bs-heading-color);
}
h1, .h1 {
  font-size: 2.3125rem;
}
h2, .h2 {
  font-size: 1.9375rem;
}
h3, .h3 {
  font-size: 1.3125rem;
}
h4, .h4 {
  font-size: 1.1875rem;
}
h5, .h5 {
  font-size: 1.0625rem;
}
h6, .h6 {
  font-size: 0.75rem;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}
ol,
ul {
  padding-left: 2rem;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 600;
}
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1rem;
}
b,
strong {
  font-weight: 700;
}
small, .small {
  font-size: 88.2%;
}
mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}
sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: none;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
  text-decoration: underline;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}
pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}
pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.8125rem;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}
code {
  font-size: 0.8125rem;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}
kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.8125rem;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}
figure {
  margin: 0 0 1rem;
}
img,
svg {
  vertical-align: middle;
}
table {
  caption-side: bottom;
  border-collapse: collapse;
}
caption {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}
th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
label {
  display: inline-block;
}
button {
  border-radius: 0;
}
button:focus:not(:focus-visible) {
  outline: 0;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button,
select {
  text-transform: none;
}
[role=button] {
  cursor: pointer;
}
select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
textarea {
  resize: vertical;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: 1.5rem;
}
legend + * {
  clear: left;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}
::-webkit-inner-spin-button {
  height: auto;
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
  padding: 0;
}
::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
iframe {
  border: 0;
}
summary {
  display: list-item;
  cursor: pointer;
}
progress {
  vertical-align: baseline;
}
[hidden] {
  display: none !important;
}
.lead {
  font-size: 1.3125rem;
  font-weight: 400;
}
.display-1 {
  font-weight: 400;
  line-height: 1.2;
  font-size: 4.375rem;
}
.display-2 {
  font-weight: 400;
  line-height: 1.2;
  font-size: 3.8125rem;
}
.display-3 {
  font-weight: 400;
  line-height: 1.2;
  font-size: 3rem;
}
.display-4 {
  font-weight: 400;
  line-height: 1.2;
  font-size: 2.6875rem;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}
.initialism {
  font-size: 88.2%;
  text-transform: uppercase;
}
.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}
.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  color: var(--bs-gray-600);
}
.blockquote-footer::before {
  content: "— ";
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-sm);
  max-width: 100%;
  height: auto;
}
.figure {
  display: inline-block;
}
.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}
.figure-caption {
  font-size: 88.2%;
  color: #869AB8;
}
.container,
.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 2.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1040px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}
.row {
  --bs-gutter-x: 2.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}
.col {
  flex: 1 0 0;
}
.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}
.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}
.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}
.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}
.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}
.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
}
.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}
.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.col-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.col-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.col-12 {
  flex: 0 0 auto;
  width: 100%;
}
.offset-1 {
  margin-left: 8.33333333%;
}
.offset-2 {
  margin-left: 16.66666667%;
}
.offset-3 {
  margin-left: 25%;
}
.offset-4 {
  margin-left: 33.33333333%;
}
.offset-5 {
  margin-left: 41.66666667%;
}
.offset-6 {
  margin-left: 50%;
}
.offset-7 {
  margin-left: 58.33333333%;
}
.offset-8 {
  margin-left: 66.66666667%;
}
.offset-9 {
  margin-left: 75%;
}
.offset-10 {
  margin-left: 83.33333333%;
}
.offset-11 {
  margin-left: 91.66666667%;
}
.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}
.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}
.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}
.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}
.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}
.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}
.g-3,
.gx-3 {
  --bs-gutter-x: 0.75rem;
}
.g-3,
.gy-3 {
  --bs-gutter-y: 0.75rem;
}
.g-4,
.gx-4 {
  --bs-gutter-x: 1rem;
}
.g-4,
.gy-4 {
  --bs-gutter-y: 1rem;
}
.g-5,
.gx-5 {
  --bs-gutter-x: 1.5rem;
}
.g-5,
.gy-5 {
  --bs-gutter-y: 1.5rem;
}
.g-6,
.gx-6 {
  --bs-gutter-x: 2rem;
}
.g-6,
.gy-6 {
  --bs-gutter-y: 2rem;
}
.g-7,
.gx-7 {
  --bs-gutter-x: 2.5rem;
}
.g-7,
.gy-7 {
  --bs-gutter-y: 2.5rem;
}
.g-8,
.gx-8 {
  --bs-gutter-x: 3rem;
}
.g-8,
.gy-8 {
  --bs-gutter-y: 3rem;
}
.g-9,
.gx-9 {
  --bs-gutter-x: 4rem;
}
.g-9,
.gy-9 {
  --bs-gutter-y: 4rem;
}
.g-10,
.gx-10 {
  --bs-gutter-x: 5rem;
}
.g-10,
.gy-10 {
  --bs-gutter-y: 5rem;
}
.g-11,
.gx-11 {
  --bs-gutter-x: 6rem;
}
.g-11,
.gy-11 {
  --bs-gutter-y: 6rem;
}
.g-12,
.gx-12 {
  --bs-gutter-x: 8rem;
}
.g-12,
.gy-12 {
  --bs-gutter-y: 8rem;
}
.g-13,
.gx-13 {
  --bs-gutter-x: 10rem;
}
.g-13,
.gy-13 {
  --bs-gutter-y: 10rem;
}
.g-14,
.gx-14 {
  --bs-gutter-x: 12rem;
}
.g-14,
.gy-14 {
  --bs-gutter-y: 12rem;
}
.g-15,
.gx-15 {
  --bs-gutter-x: 16rem;
}
.g-15,
.gy-15 {
  --bs-gutter-y: 16rem;
}
.g-16,
.gx-16 {
  --bs-gutter-x: 25rem;
}
.g-16,
.gy-16 {
  --bs-gutter-y: 25rem;
}
@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-6,
  .gx-sm-6 {
    --bs-gutter-x: 2rem;
  }
  .g-sm-6,
  .gy-sm-6 {
    --bs-gutter-y: 2rem;
  }
  .g-sm-7,
  .gx-sm-7 {
    --bs-gutter-x: 2.5rem;
  }
  .g-sm-7,
  .gy-sm-7 {
    --bs-gutter-y: 2.5rem;
  }
  .g-sm-8,
  .gx-sm-8 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-8,
  .gy-sm-8 {
    --bs-gutter-y: 3rem;
  }
  .g-sm-9,
  .gx-sm-9 {
    --bs-gutter-x: 4rem;
  }
  .g-sm-9,
  .gy-sm-9 {
    --bs-gutter-y: 4rem;
  }
  .g-sm-10,
  .gx-sm-10 {
    --bs-gutter-x: 5rem;
  }
  .g-sm-10,
  .gy-sm-10 {
    --bs-gutter-y: 5rem;
  }
  .g-sm-11,
  .gx-sm-11 {
    --bs-gutter-x: 6rem;
  }
  .g-sm-11,
  .gy-sm-11 {
    --bs-gutter-y: 6rem;
  }
  .g-sm-12,
  .gx-sm-12 {
    --bs-gutter-x: 8rem;
  }
  .g-sm-12,
  .gy-sm-12 {
    --bs-gutter-y: 8rem;
  }
  .g-sm-13,
  .gx-sm-13 {
    --bs-gutter-x: 10rem;
  }
  .g-sm-13,
  .gy-sm-13 {
    --bs-gutter-y: 10rem;
  }
  .g-sm-14,
  .gx-sm-14 {
    --bs-gutter-x: 12rem;
  }
  .g-sm-14,
  .gy-sm-14 {
    --bs-gutter-y: 12rem;
  }
  .g-sm-15,
  .gx-sm-15 {
    --bs-gutter-x: 16rem;
  }
  .g-sm-15,
  .gy-sm-15 {
    --bs-gutter-y: 16rem;
  }
  .g-sm-16,
  .gx-sm-16 {
    --bs-gutter-x: 25rem;
  }
  .g-sm-16,
  .gy-sm-16 {
    --bs-gutter-y: 25rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-6,
  .gx-md-6 {
    --bs-gutter-x: 2rem;
  }
  .g-md-6,
  .gy-md-6 {
    --bs-gutter-y: 2rem;
  }
  .g-md-7,
  .gx-md-7 {
    --bs-gutter-x: 2.5rem;
  }
  .g-md-7,
  .gy-md-7 {
    --bs-gutter-y: 2.5rem;
  }
  .g-md-8,
  .gx-md-8 {
    --bs-gutter-x: 3rem;
  }
  .g-md-8,
  .gy-md-8 {
    --bs-gutter-y: 3rem;
  }
  .g-md-9,
  .gx-md-9 {
    --bs-gutter-x: 4rem;
  }
  .g-md-9,
  .gy-md-9 {
    --bs-gutter-y: 4rem;
  }
  .g-md-10,
  .gx-md-10 {
    --bs-gutter-x: 5rem;
  }
  .g-md-10,
  .gy-md-10 {
    --bs-gutter-y: 5rem;
  }
  .g-md-11,
  .gx-md-11 {
    --bs-gutter-x: 6rem;
  }
  .g-md-11,
  .gy-md-11 {
    --bs-gutter-y: 6rem;
  }
  .g-md-12,
  .gx-md-12 {
    --bs-gutter-x: 8rem;
  }
  .g-md-12,
  .gy-md-12 {
    --bs-gutter-y: 8rem;
  }
  .g-md-13,
  .gx-md-13 {
    --bs-gutter-x: 10rem;
  }
  .g-md-13,
  .gy-md-13 {
    --bs-gutter-y: 10rem;
  }
  .g-md-14,
  .gx-md-14 {
    --bs-gutter-x: 12rem;
  }
  .g-md-14,
  .gy-md-14 {
    --bs-gutter-y: 12rem;
  }
  .g-md-15,
  .gx-md-15 {
    --bs-gutter-x: 16rem;
  }
  .g-md-15,
  .gy-md-15 {
    --bs-gutter-y: 16rem;
  }
  .g-md-16,
  .gx-md-16 {
    --bs-gutter-x: 25rem;
  }
  .g-md-16,
  .gy-md-16 {
    --bs-gutter-y: 25rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-6,
  .gx-lg-6 {
    --bs-gutter-x: 2rem;
  }
  .g-lg-6,
  .gy-lg-6 {
    --bs-gutter-y: 2rem;
  }
  .g-lg-7,
  .gx-lg-7 {
    --bs-gutter-x: 2.5rem;
  }
  .g-lg-7,
  .gy-lg-7 {
    --bs-gutter-y: 2.5rem;
  }
  .g-lg-8,
  .gx-lg-8 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-8,
  .gy-lg-8 {
    --bs-gutter-y: 3rem;
  }
  .g-lg-9,
  .gx-lg-9 {
    --bs-gutter-x: 4rem;
  }
  .g-lg-9,
  .gy-lg-9 {
    --bs-gutter-y: 4rem;
  }
  .g-lg-10,
  .gx-lg-10 {
    --bs-gutter-x: 5rem;
  }
  .g-lg-10,
  .gy-lg-10 {
    --bs-gutter-y: 5rem;
  }
  .g-lg-11,
  .gx-lg-11 {
    --bs-gutter-x: 6rem;
  }
  .g-lg-11,
  .gy-lg-11 {
    --bs-gutter-y: 6rem;
  }
  .g-lg-12,
  .gx-lg-12 {
    --bs-gutter-x: 8rem;
  }
  .g-lg-12,
  .gy-lg-12 {
    --bs-gutter-y: 8rem;
  }
  .g-lg-13,
  .gx-lg-13 {
    --bs-gutter-x: 10rem;
  }
  .g-lg-13,
  .gy-lg-13 {
    --bs-gutter-y: 10rem;
  }
  .g-lg-14,
  .gx-lg-14 {
    --bs-gutter-x: 12rem;
  }
  .g-lg-14,
  .gy-lg-14 {
    --bs-gutter-y: 12rem;
  }
  .g-lg-15,
  .gx-lg-15 {
    --bs-gutter-x: 16rem;
  }
  .g-lg-15,
  .gy-lg-15 {
    --bs-gutter-y: 16rem;
  }
  .g-lg-16,
  .gx-lg-16 {
    --bs-gutter-x: 25rem;
  }
  .g-lg-16,
  .gy-lg-16 {
    --bs-gutter-y: 25rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-6,
  .gx-xl-6 {
    --bs-gutter-x: 2rem;
  }
  .g-xl-6,
  .gy-xl-6 {
    --bs-gutter-y: 2rem;
  }
  .g-xl-7,
  .gx-xl-7 {
    --bs-gutter-x: 2.5rem;
  }
  .g-xl-7,
  .gy-xl-7 {
    --bs-gutter-y: 2.5rem;
  }
  .g-xl-8,
  .gx-xl-8 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-8,
  .gy-xl-8 {
    --bs-gutter-y: 3rem;
  }
  .g-xl-9,
  .gx-xl-9 {
    --bs-gutter-x: 4rem;
  }
  .g-xl-9,
  .gy-xl-9 {
    --bs-gutter-y: 4rem;
  }
  .g-xl-10,
  .gx-xl-10 {
    --bs-gutter-x: 5rem;
  }
  .g-xl-10,
  .gy-xl-10 {
    --bs-gutter-y: 5rem;
  }
  .g-xl-11,
  .gx-xl-11 {
    --bs-gutter-x: 6rem;
  }
  .g-xl-11,
  .gy-xl-11 {
    --bs-gutter-y: 6rem;
  }
  .g-xl-12,
  .gx-xl-12 {
    --bs-gutter-x: 8rem;
  }
  .g-xl-12,
  .gy-xl-12 {
    --bs-gutter-y: 8rem;
  }
  .g-xl-13,
  .gx-xl-13 {
    --bs-gutter-x: 10rem;
  }
  .g-xl-13,
  .gy-xl-13 {
    --bs-gutter-y: 10rem;
  }
  .g-xl-14,
  .gx-xl-14 {
    --bs-gutter-x: 12rem;
  }
  .g-xl-14,
  .gy-xl-14 {
    --bs-gutter-y: 12rem;
  }
  .g-xl-15,
  .gx-xl-15 {
    --bs-gutter-x: 16rem;
  }
  .g-xl-15,
  .gy-xl-15 {
    --bs-gutter-y: 16rem;
  }
  .g-xl-16,
  .gx-xl-16 {
    --bs-gutter-x: 25rem;
  }
  .g-xl-16,
  .gy-xl-16 {
    --bs-gutter-y: 25rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-6,
  .gx-xxl-6 {
    --bs-gutter-x: 2rem;
  }
  .g-xxl-6,
  .gy-xxl-6 {
    --bs-gutter-y: 2rem;
  }
  .g-xxl-7,
  .gx-xxl-7 {
    --bs-gutter-x: 2.5rem;
  }
  .g-xxl-7,
  .gy-xxl-7 {
    --bs-gutter-y: 2.5rem;
  }
  .g-xxl-8,
  .gx-xxl-8 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-8,
  .gy-xxl-8 {
    --bs-gutter-y: 3rem;
  }
  .g-xxl-9,
  .gx-xxl-9 {
    --bs-gutter-x: 4rem;
  }
  .g-xxl-9,
  .gy-xxl-9 {
    --bs-gutter-y: 4rem;
  }
  .g-xxl-10,
  .gx-xxl-10 {
    --bs-gutter-x: 5rem;
  }
  .g-xxl-10,
  .gy-xxl-10 {
    --bs-gutter-y: 5rem;
  }
  .g-xxl-11,
  .gx-xxl-11 {
    --bs-gutter-x: 6rem;
  }
  .g-xxl-11,
  .gy-xxl-11 {
    --bs-gutter-y: 6rem;
  }
  .g-xxl-12,
  .gx-xxl-12 {
    --bs-gutter-x: 8rem;
  }
  .g-xxl-12,
  .gy-xxl-12 {
    --bs-gutter-y: 8rem;
  }
  .g-xxl-13,
  .gx-xxl-13 {
    --bs-gutter-x: 10rem;
  }
  .g-xxl-13,
  .gy-xxl-13 {
    --bs-gutter-y: 10rem;
  }
  .g-xxl-14,
  .gx-xxl-14 {
    --bs-gutter-x: 12rem;
  }
  .g-xxl-14,
  .gy-xxl-14 {
    --bs-gutter-y: 12rem;
  }
  .g-xxl-15,
  .gx-xxl-15 {
    --bs-gutter-x: 16rem;
  }
  .g-xxl-15,
  .gy-xxl-15 {
    --bs-gutter-y: 16rem;
  }
  .g-xxl-16,
  .gx-xxl-16 {
    --bs-gutter-x: 25rem;
  }
  .g-xxl-16,
  .gy-xxl-16 {
    --bs-gutter-y: 25rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-white);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: var(--bs-gray-100);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: var(--bs-gray-100);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: var(--bs-gray-100);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 1.5rem 2rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}
.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}
.caption-top {
  caption-side: top;
}
.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}
.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}
.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}
.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}
.table-primary {
  --bs-table-color: #1B2A4E;
  --bs-table-bg: rgb(234.6, 238.9, 252.9);
  --bs-table-border-color: rgb(193.08, 199.52, 217.92);
  --bs-table-striped-bg: rgb(224.22, 229.055, 244.155);
  --bs-table-striped-color: #1B2A4E;
  --bs-table-active-bg: rgb(213.84, 219.21, 235.41);
  --bs-table-active-color: #1B2A4E;
  --bs-table-hover-bg: rgb(219.03, 224.1325, 239.7825);
  --bs-table-hover-color: #1B2A4E;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-secondary {
  --bs-table-color: #1B2A4E;
  --bs-table-bg: rgb(237.5, 239.7, 243.9);
  --bs-table-border-color: rgb(195.4, 200.16, 210.72);
  --bs-table-striped-bg: rgb(226.975, 229.815, 235.605);
  --bs-table-striped-color: #1B2A4E;
  --bs-table-active-bg: rgb(216.45, 219.93, 227.31);
  --bs-table-active-color: #1B2A4E;
  --bs-table-hover-bg: rgb(221.7125, 224.8725, 231.4575);
  --bs-table-hover-color: #1B2A4E;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-success {
  --bs-table-color: #1B2A4E;
  --bs-table-bg: rgb(236.1, 248.1, 244.5);
  --bs-table-border-color: rgb(194.28, 206.88, 211.2);
  --bs-table-striped-bg: rgb(225.645, 237.795, 236.175);
  --bs-table-striped-color: #1B2A4E;
  --bs-table-active-bg: rgb(215.19, 227.49, 227.85);
  --bs-table-active-color: #1B2A4E;
  --bs-table-hover-bg: rgb(220.4175, 232.6425, 232.0125);
  --bs-table-hover-color: #1B2A4E;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-info {
  --bs-table-color: #1B2A4E;
  --bs-table-bg: rgb(241.9, 240, 253.4);
  --bs-table-border-color: rgb(198.92, 200.4, 218.32);
  --bs-table-striped-bg: rgb(231.155, 230.1, 244.63);
  --bs-table-striped-color: #1B2A4E;
  --bs-table-active-bg: rgb(220.41, 220.2, 235.86);
  --bs-table-active-color: #1B2A4E;
  --bs-table-hover-bg: rgb(225.7825, 225.15, 240.245);
  --bs-table-hover-color: #1B2A4E;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-warning {
  --bs-table-color: #1B2A4E;
  --bs-table-bg: rgb(254.5, 251, 241.3);
  --bs-table-border-color: rgb(209, 209.2, 208.64);
  --bs-table-striped-bg: rgb(243.125, 240.55, 233.135);
  --bs-table-striped-color: #1B2A4E;
  --bs-table-active-bg: rgb(231.75, 230.1, 224.97);
  --bs-table-active-color: #1B2A4E;
  --bs-table-hover-bg: rgb(237.4375, 235.325, 229.0525);
  --bs-table-hover-color: #1B2A4E;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-danger {
  --bs-table-color: #1B2A4E;
  --bs-table-bg: rgb(251.8, 236.6, 238.4);
  --bs-table-border-color: rgb(206.84, 197.68, 206.32);
  --bs-table-striped-bg: rgb(240.56, 226.87, 230.38);
  --bs-table-striped-color: #1B2A4E;
  --bs-table-active-bg: rgb(229.32, 217.14, 222.36);
  --bs-table-active-color: #1B2A4E;
  --bs-table-hover-bg: rgb(234.94, 222.005, 226.37);
  --bs-table-hover-color: #1B2A4E;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-light {
  --bs-table-color: #1B2A4E;
  --bs-table-bg: #F9FBFD;
  --bs-table-border-color: rgb(204.6, 209.2, 218);
  --bs-table-striped-bg: rgb(237.9, 240.55, 244.25);
  --bs-table-striped-color: #1B2A4E;
  --bs-table-active-bg: rgb(226.8, 230.1, 235.5);
  --bs-table-active-color: #1B2A4E;
  --bs-table-hover-bg: rgb(232.35, 235.325, 239.875);
  --bs-table-hover-color: #1B2A4E;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-dark {
  --bs-table-color: #FFFFFF;
  --bs-table-bg: #384C74;
  --bs-table-border-color: rgb(95.8, 111.8, 143.8);
  --bs-table-striped-bg: rgb(65.95, 84.95, 122.95);
  --bs-table-striped-color: #FFFFFF;
  --bs-table-active-bg: rgb(75.9, 93.9, 129.9);
  --bs-table-active-color: #FFFFFF;
  --bs-table-hover-bg: rgb(70.925, 89.425, 126.425);
  --bs-table-hover-color: #FFFFFF;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}
.col-form-label {
  padding-top: calc(0.8125rem + 1px);
  padding-bottom: calc(0.8125rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.6;
}
.col-form-label-lg {
  padding-top: calc(1.122rem + 1px);
  padding-bottom: calc(1.122rem + 1px);
  font-size: 1.0625rem;
}
.col-form-label-sm {
  padding-top: calc(0.5625rem + 1px);
  padding-bottom: calc(0.5625rem + 1px);
  font-size: 1.0625rem;
}
.form-text {
  margin-top: 0.25rem;
  font-size: 88.2%;
  color: var(--bs-secondary-color);
}
.form-control {
  display: block;
  width: 100%;
  padding: 0.8125rem 1.25rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-white);
  background-clip: padding-box;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: 0 0;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-white);
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0, 0 0;
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.6em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: #869AB8;
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.8125rem 1.25rem;
  margin: -0.8125rem -1.25rem;
  margin-inline-end: 1.25rem;
  color: var(--bs-body-color);
  background-color: #F9FBFD;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}
.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.8125rem 0;
  margin-bottom: 0;
  line-height: 1.6;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}
.form-control-sm {
  min-height: calc(1.6em + 1.125rem + calc(1px * 2));
  padding: 0.5625rem 1rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius);
}
.form-control-sm::file-selector-button {
  padding: 0.5625rem 1rem;
  margin: -0.5625rem -1rem;
  margin-inline-end: 1rem;
}
.form-control-lg {
  min-height: calc(1.6em + 2.244rem + calc(1px * 2));
  padding: 1.122rem 1.5rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius);
}
.form-control-lg::file-selector-button {
  padding: 1.122rem 1.5rem;
  margin: -1.122rem -1.5rem;
  margin-inline-end: 1.5rem;
}
textarea.form-control {
  min-height: calc(1.6em + 1.625rem + calc(1px * 2));
}
textarea.form-control-sm {
  min-height: calc(1.6em + 1.125rem + calc(1px * 2));
}
textarea.form-control-lg {
  min-height: calc(1.6em + 2.244rem + calc(1px * 2));
}
.form-control-color {
  width: 3rem;
  height: calc(1.6em + 1.625rem + calc(1px * 2));
  padding: 0.8125rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.6em + 1.125rem + calc(1px * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.6em + 2.244rem + calc(1px * 2));
}
.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg viewBox='0 0 9 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1 1L4.25 4.25L7.5 1' stroke='%23C6D3E6' stroke-width='1.08333' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.8125rem 1.25rem 0.8125rem 1.25rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-white);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
  background-size: 1em 1em;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: 0 0;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0, 0 0;
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 1.25rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}
.form-select-sm {
  padding-top: 0.5625rem;
  padding-bottom: 0.5625rem;
  padding-left: 1rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius);
}
.form-select-lg {
  padding-top: 1.122rem;
  padding-bottom: 1.122rem;
  padding-left: 1.5rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius);
}
.form-check {
  display: block;
  min-height: 1.7rem;
  padding-left: 1.5rem;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5rem;
}
.form-check-reverse {
  padding-right: 1.5rem;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5rem;
  margin-left: 0;
}
.form-check-input {
  --bs-form-check-bg: var(--bs-gray-300);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.3em;
  vertical-align: top;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: transparent;
  print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: var(--bs-border-radius);
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: none;
}
.form-check-input:focus {
  border-color: transparent;
  outline: 0;
  box-shadow: 0 0;
}
.form-check-input:checked {
  background-color: #335EEA;
  border-color: #335EEA;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23FFFFFF'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #335EEA;
  border-color: #335EEA;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}
.form-check-label {
  cursor: pointer;
}
.form-switch {
  padding-left: 3rem;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
  width: 2.5rem;
  margin-left: -3rem;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2.5rem;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 3rem;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -3rem;
  margin-left: 0;
}
.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}
.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}
.form-range {
  width: 100%;
  height: 1rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0;
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0;
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #335EEA;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(22, 28, 45, 0.1);
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: rgb(193.8, 206.7, 248.7);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: var(--bs-box-shadow-inset);
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #335EEA;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(22, 28, 45, 0.1);
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: rgb(193.8, 206.7, 248.7);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: var(--bs-box-shadow-inset);
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}
.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(1px * 2));
  min-height: calc(3.5rem + calc(1px * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 1.25rem;
  overflow: hidden;
  color: rgba(var(--bs-body-color-rgb), 1);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 1.25rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  transform: translateY(-0.5rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: translateY(-0.5rem);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.625rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-white);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: 1px 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #869AB8;
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.8125rem 1.25rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6;
  color: #869AB8;
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-white);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 1.122rem 1.5rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius);
}
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.5625rem 1rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius);
}
.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 2.5rem;
}
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * 1px);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 88.2%;
  color: var(--bs-form-valid-color);
}
.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.9375rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}
.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0, 0 0 0 0 rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0, 0 0 0 0 rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}
.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 88.2%;
  color: var(--bs-form-invalid-color);
}
.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.9375rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}
.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0, 0 0 0 0 rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0, 0 0 0 0 rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}
.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}
.btn {
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: 0.8125rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1.0625rem;
  --bs-btn-font-weight: 600;
  --bs-btn-line-height: 1.6;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: 0 0;
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0 rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  box-shadow: var(--bs-btn-box-shadow);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  text-decoration: none;
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
  box-shadow: var(--bs-btn-active-shadow);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
  box-shadow: none;
}
.btn-primary {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #335EEA;
  --bs-btn-border-color: #335EEA;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(43.35, 79.9, 198.9);
  --bs-btn-hover-border-color: rgb(40.8, 75.2, 187.2);
  --bs-btn-focus-shadow-rgb: 82, 118, 237;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(40.8, 75.2, 187.2);
  --bs-btn-active-border-color: rgb(38.25, 70.5, 175.5);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #335EEA;
  --bs-btn-disabled-border-color: #335EEA;
}
.btn-primary-desat {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #6C8AEC;
  --bs-btn-border-color: #6C8AEC;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(91.8, 117.3, 200.6);
  --bs-btn-hover-border-color: rgb(86.4, 110.4, 188.8);
  --bs-btn-focus-shadow-rgb: 130, 156, 239;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(86.4, 110.4, 188.8);
  --bs-btn-active-border-color: rgb(81, 103.5, 177);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #6C8AEC;
  --bs-btn-disabled-border-color: #6C8AEC;
}
.btn-secondary {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #506690;
  --bs-btn-border-color: #506690;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(68, 86.7, 122.4);
  --bs-btn-hover-border-color: rgb(64, 81.6, 115.2);
  --bs-btn-focus-shadow-rgb: 106, 125, 161;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(64, 81.6, 115.2);
  --bs-btn-active-border-color: rgb(60, 76.5, 108);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #506690;
  --bs-btn-disabled-border-color: #506690;
}
.btn-success {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #42BA96;
  --bs-btn-border-color: #42BA96;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(56.1, 158.1, 127.5);
  --bs-btn-hover-border-color: rgb(52.8, 148.8, 120);
  --bs-btn-focus-shadow-rgb: 94, 196, 166;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(52.8, 148.8, 120);
  --bs-btn-active-border-color: rgb(49.5, 139.5, 112.5);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #42BA96;
  --bs-btn-disabled-border-color: #42BA96;
}
.btn-info {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #7C69EF;
  --bs-btn-border-color: #7C69EF;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(105.4, 89.25, 203.15);
  --bs-btn-hover-border-color: rgb(99.2, 84, 191.2);
  --bs-btn-focus-shadow-rgb: 144, 128, 241;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(99.2, 84, 191.2);
  --bs-btn-active-border-color: rgb(93, 78.75, 179.25);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #7C69EF;
  --bs-btn-disabled-border-color: #7C69EF;
}
.btn-warning {
  --bs-btn-color: #1B2A4E;
  --bs-btn-bg: #FAD776;
  --bs-btn-border-color: #FAD776;
  --bs-btn-hover-color: #1B2A4E;
  --bs-btn-hover-bg: rgb(250.75, 221, 138.55);
  --bs-btn-hover-border-color: rgb(250.5, 219, 131.7);
  --bs-btn-focus-shadow-rgb: 217, 189, 112;
  --bs-btn-active-color: #1B2A4E;
  --bs-btn-active-bg: rgb(251, 223, 145.4);
  --bs-btn-active-border-color: rgb(250.5, 219, 131.7);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #1B2A4E;
  --bs-btn-disabled-bg: #FAD776;
  --bs-btn-disabled-border-color: #FAD776;
}
.btn-danger {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #DF4759;
  --bs-btn-border-color: #DF4759;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(189.55, 60.35, 75.65);
  --bs-btn-hover-border-color: rgb(178.4, 56.8, 71.2);
  --bs-btn-focus-shadow-rgb: 228, 99, 114;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(178.4, 56.8, 71.2);
  --bs-btn-active-border-color: rgb(167.25, 53.25, 66.75);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #DF4759;
  --bs-btn-disabled-border-color: #DF4759;
}
.btn-light {
  --bs-btn-color: #1B2A4E;
  --bs-btn-bg: #F9FBFD;
  --bs-btn-border-color: #F9FBFD;
  --bs-btn-hover-color: #1B2A4E;
  --bs-btn-hover-bg: rgb(211.65, 213.35, 215.05);
  --bs-btn-hover-border-color: rgb(199.2, 200.8, 202.4);
  --bs-btn-focus-shadow-rgb: 216, 220, 227;
  --bs-btn-active-color: #1B2A4E;
  --bs-btn-active-bg: rgb(199.2, 200.8, 202.4);
  --bs-btn-active-border-color: rgb(186.75, 188.25, 189.75);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #1B2A4E;
  --bs-btn-disabled-bg: #F9FBFD;
  --bs-btn-disabled-border-color: #F9FBFD;
}
.btn-dark {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #1B2A4E;
  --bs-btn-border-color: #1B2A4E;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(61.2, 73.95, 104.55);
  --bs-btn-hover-border-color: rgb(49.8, 63.3, 95.7);
  --bs-btn-focus-shadow-rgb: 61, 74, 105;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(72.6, 84.6, 113.4);
  --bs-btn-active-border-color: rgb(49.8, 63.3, 95.7);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #1B2A4E;
  --bs-btn-disabled-border-color: #1B2A4E;
}
.btn-outline-primary {
  --bs-btn-color: #335EEA;
  --bs-btn-border-color: #335EEA;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #335EEA;
  --bs-btn-hover-border-color: #335EEA;
  --bs-btn-focus-shadow-rgb: 51, 94, 234;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #335EEA;
  --bs-btn-active-border-color: #335EEA;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #335EEA;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #335EEA;
  --bs-gradient: none;
}
.btn-outline-primary-desat {
  --bs-btn-color: #6C8AEC;
  --bs-btn-border-color: #6C8AEC;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #6C8AEC;
  --bs-btn-hover-border-color: #6C8AEC;
  --bs-btn-focus-shadow-rgb: 108, 138, 236;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #6C8AEC;
  --bs-btn-active-border-color: #6C8AEC;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #6C8AEC;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6C8AEC;
  --bs-gradient: none;
}
.btn-outline-secondary {
  --bs-btn-color: #506690;
  --bs-btn-border-color: #506690;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #506690;
  --bs-btn-hover-border-color: #506690;
  --bs-btn-focus-shadow-rgb: 80, 102, 144;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #506690;
  --bs-btn-active-border-color: #506690;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #506690;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #506690;
  --bs-gradient: none;
}
.btn-outline-success {
  --bs-btn-color: #42BA96;
  --bs-btn-border-color: #42BA96;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #42BA96;
  --bs-btn-hover-border-color: #42BA96;
  --bs-btn-focus-shadow-rgb: 66, 186, 150;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #42BA96;
  --bs-btn-active-border-color: #42BA96;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #42BA96;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #42BA96;
  --bs-gradient: none;
}
.btn-outline-info {
  --bs-btn-color: #7C69EF;
  --bs-btn-border-color: #7C69EF;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #7C69EF;
  --bs-btn-hover-border-color: #7C69EF;
  --bs-btn-focus-shadow-rgb: 124, 105, 239;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #7C69EF;
  --bs-btn-active-border-color: #7C69EF;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #7C69EF;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #7C69EF;
  --bs-gradient: none;
}
.btn-outline-warning {
  --bs-btn-color: #FAD776;
  --bs-btn-border-color: #FAD776;
  --bs-btn-hover-color: #1B2A4E;
  --bs-btn-hover-bg: #FAD776;
  --bs-btn-hover-border-color: #FAD776;
  --bs-btn-focus-shadow-rgb: 250, 215, 118;
  --bs-btn-active-color: #1B2A4E;
  --bs-btn-active-bg: #FAD776;
  --bs-btn-active-border-color: #FAD776;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FAD776;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #FAD776;
  --bs-gradient: none;
}
.btn-outline-danger {
  --bs-btn-color: #DF4759;
  --bs-btn-border-color: #DF4759;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #DF4759;
  --bs-btn-hover-border-color: #DF4759;
  --bs-btn-focus-shadow-rgb: 223, 71, 89;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #DF4759;
  --bs-btn-active-border-color: #DF4759;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #DF4759;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #DF4759;
  --bs-gradient: none;
}
.btn-outline-light {
  --bs-btn-color: #F9FBFD;
  --bs-btn-border-color: #F9FBFD;
  --bs-btn-hover-color: #1B2A4E;
  --bs-btn-hover-bg: #F9FBFD;
  --bs-btn-hover-border-color: #F9FBFD;
  --bs-btn-focus-shadow-rgb: 249, 251, 253;
  --bs-btn-active-color: #1B2A4E;
  --bs-btn-active-bg: #F9FBFD;
  --bs-btn-active-border-color: #F9FBFD;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #F9FBFD;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #F9FBFD;
  --bs-gradient: none;
}
.btn-outline-dark {
  --bs-btn-color: #1B2A4E;
  --bs-btn-border-color: #1B2A4E;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #1B2A4E;
  --bs-btn-hover-border-color: #1B2A4E;
  --bs-btn-focus-shadow-rgb: 27, 42, 78;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #1B2A4E;
  --bs-btn-active-border-color: #1B2A4E;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #1B2A4E;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1B2A4E;
  --bs-gradient: none;
}
.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #869AB8;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 82, 118, 237;
  text-decoration: none;
}
.btn-link:hover, .btn-link:focus-visible {
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}
.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 1.122rem;
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-font-size: 1.0625rem;
  --bs-btn-border-radius: var(--bs-border-radius);
}
.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.5625rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.0625rem;
  --bs-btn-border-radius: var(--bs-border-radius);
}
.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}
.collapse:not(.show) {
  display: none;
}
.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}
.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}
.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 14rem;
  --bs-dropdown-padding-x: var(--bs-dropdown-item-padding-x);
  --bs-dropdown-padding-y: 1.625rem;
  --bs-dropdown-spacer: 0;
  --bs-dropdown-font-size: 0.9375rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: 0px;
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - 0px);
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.1);
  --bs-dropdown-link-color: var(--bs-gray-700);
  --bs-dropdown-link-hover-color: var(--bs-primary);
  --bs-dropdown-link-hover-bg: none;
  --bs-dropdown-link-active-color: var(--bs-primary);
  --bs-dropdown-link-active-bg: none;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1.75rem;
  --bs-dropdown-item-padding-y: 0;
  --bs-dropdown-header-color: var(--bs-primary);
  --bs-dropdown-header-padding-x: 1.75rem;
  --bs-dropdown-header-padding-y: 1.625rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
  box-shadow: var(--bs-dropdown-box-shadow);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}
.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}
.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}
@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}
.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}
.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}
.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.9375rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}
.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}
.dropdown-menu-dark {
  --bs-dropdown-color: #D9E2EF;
  --bs-dropdown-bg: #384C74;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #D9E2EF;
  --bs-dropdown-link-hover-color: #FFFFFF;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: var(--bs-primary);
  --bs-dropdown-link-active-bg: none;
  --bs-dropdown-link-disabled-color: #ABBCD5;
  --bs-dropdown-header-color: #ABBCD5;
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}
.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}
.btn-group {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(-1 * var(--bs-border-width));
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 1.125rem;
  padding-left: 1.125rem;
}
.btn-group.show .dropdown-toggle {
  box-shadow: 0 0;
}
.btn-group.show .dropdown-toggle.btn-link {
  box-shadow: none;
}
.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(-1 * var(--bs-border-width));
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
  text-decoration: none;
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(51, 94, 234, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}
.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #FFFFFF;
  --bs-nav-pills-link-active-bg: #335EEA;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}
.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 600;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}
.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}
.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
}
.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 1.25rem;
  --bs-navbar-color: var(--bs-gray-700);
  --bs-navbar-hover-color: var(--bs-primary);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: var(--bs-primary);
  --bs-navbar-brand-padding-y: 0.15rem;
  --bs-navbar-brand-margin-end: 0;
  --bs-navbar-brand-font-size: 1.5rem;
  --bs-navbar-brand-color: var(--bs-primary);
  --bs-navbar-brand-hover-color: var(--bs-primary);
  --bs-navbar-nav-link-padding-x: 1.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.1875rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23506690' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: transparent;
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
  text-decoration: none;
}
.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}
.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}
.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}
.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  box-shadow: none;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}
.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: var(--bs-white);
  --bs-navbar-hover-color: var(--bs-white);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: var(--bs-white);
  --bs-navbar-brand-color: var(--bs-white);
  --bs-navbar-brand-hover-color: var(--bs-white);
  --bs-navbar-toggler-border-color: transparent;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.card {
  --bs-card-spacer-y: 2rem;
  --bs-card-spacer-x: 2rem;
  --bs-card-title-spacer-y: 1.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: 0px;
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - 0px);
  --bs-card-cap-padding-y: 1.5rem;
  --bs-card-cap-padding-x: 2rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 1.25rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
  box-shadow: var(--bs-card-box-shadow);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}
.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}
.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}
.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}
.card-text:last-child {
  margin-bottom: 0;
}
.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}
.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}
.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}
.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}
.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}
.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}
.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-top,
  .card-group > .card:not(:last-child) > .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-bottom,
  .card-group > .card:not(:last-child) > .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-top,
  .card-group > .card:not(:first-child) > .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-bottom,
  .card-group > .card:not(:first-child) > .card-footer {
    border-bottom-left-radius: 0;
  }
}
.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 2rem;
  --bs-accordion-btn-padding-y: 1.5rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23869AB8' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 0.85rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23869AB8' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0;
  --bs-accordion-body-padding-x: 2rem;
  --bs-accordion-body-padding-y: 1.5rem;
  --bs-accordion-active-color: var(--bs-body-color);
  --bs-accordion-active-bg: var(--bs-body-bg);
}
.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1.0625rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}
.accordion-header {
  margin-bottom: 0;
}
.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}
.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}
.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0.75rem;
  --bs-breadcrumb-margin-bottom: 0;
  --bs-breadcrumb-font-size: 0.9375rem;
  --bs-breadcrumb-bg: transparent;
  --bs-breadcrumb-border-radius: 0;
  --bs-breadcrumb-divider-color: var(--bs-gray-700);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-gray-700);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}
.pagination {
  --bs-pagination-padding-x: 1.25rem;
  --bs-pagination-padding-y: 0.8125rem;
  --bs-pagination-font-size: 1.0625rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-gray-300);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-gray-200);
  --bs-pagination-hover-border-color: var(--bs-pagination-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0;
  --bs-pagination-active-color: #FFFFFF;
  --bs-pagination-active-bg: #335EEA;
  --bs-pagination-active-border-color: #335EEA;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-pagination-bg);
  --bs-pagination-disabled-border-color: var(--bs-pagination-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}
.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  text-decoration: none;
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}
.page-item:not(:first-child) .page-link {
  margin-left: calc(-1 * var(--bs-border-width));
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}
.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 1.122rem;
  --bs-pagination-font-size: 1.1875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}
.pagination-sm {
  --bs-pagination-padding-x: 1rem;
  --bs-pagination-padding-y: 0.5625rem;
  --bs-pagination-font-size: 0.9375rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}
.badge {
  --bs-badge-padding-x: 0.75rem;
  --bs-badge-padding-y: 0.25rem;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 600;
  --bs-badge-color: #FFFFFF;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1.25rem;
  --bs-alert-padding-y: 0.75rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}
.alert-heading {
  color: inherit;
}
.alert-link {
  font-weight: 600;
  color: var(--bs-alert-link-color);
}
.alert-dismissible {
  padding-right: 3.75rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.9375rem 1.25rem;
}
.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}
.alert-primary-desat {
  --bs-alert-color: var(--bs-primary-desat-text-emphasis);
  --bs-alert-bg: var(--bs-primary-desat-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-desat-border-subtle);
  --bs-alert-link-color: var(--bs-primary-desat-text-emphasis);
}
.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}
.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}
.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}
.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}
.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}
.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}
.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}
@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--bs-progress-height);
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.796875rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #FFFFFF;
  --bs-progress-bar-bg: #335EEA;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
  box-shadow: var(--bs-progress-box-shadow);
}
.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}
.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--bs-progress-height) var(--bs-progress-height);
}
.progress-stacked > .progress {
  overflow: visible;
}
.progress-stacked > .progress > .progress-bar {
  width: 100%;
}
.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}
.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 2rem;
  --bs-list-group-item-padding-y: 1.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #FFFFFF;
  --bs-list-group-active-bg: #335EEA;
  --bs-list-group-active-border-color: #335EEA;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}
.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}
.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}
.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:not(.active):active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}
.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}
@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}
.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}
.list-group-item-primary-desat {
  --bs-list-group-color: var(--bs-primary-desat-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-desat-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-desat-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-desat-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-desat-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-desat-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-desat-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-desat-text-emphasis);
}
.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}
.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}
.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}
.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}
.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}
.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}
.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}
.btn-close {
  --bs-btn-close-color: #869AB8;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23869AB8'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: none;
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 0.5em;
  height: 0.5em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/0.5em auto no-repeat;
  filter: var(--bs-btn-close-filter);
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}
.btn-close-white {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}
:root,
[data-bs-theme=light] {
  --bs-btn-close-filter: ;
}
.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 2.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}
.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}
.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}
.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}
.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 2.5rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 2.5rem;
  --bs-modal-header-padding-y: 2.5rem;
  --bs-modal-header-padding: 2.5rem 2.5rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.6;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}
.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  box-shadow: var(--bs-modal-box-shadow);
  outline: 0;
}
.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #161C2D;
  --bs-backdrop-opacity: 0.8;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}
.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}
.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}
.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}
@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}
@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.9375rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: "HKGroteskPro", serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}
.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 380px;
  --bs-popover-font-size: 0.9375rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: transparent;
  --bs-popover-border-radius: var(--bs-border-radius);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-popover-box-shadow: 0 1.5rem 4rem rgba(22, 28, 45, 0.1);
  --bs-popover-header-padding-x: 2rem;
  --bs-popover-header-padding-y: 1.5rem;
  --bs-popover-header-font-size: 0.75rem;
  --bs-popover-header-color: var(--bs-primary);
  --bs-popover-header-bg: transparent;
  --bs-popover-body-padding-x: 2rem;
  --bs-popover-body-padding-y: 1.5rem;
  --bs-popover-body-color: #869AB8;
  --bs-popover-arrow-width: 1.25rem;
  --bs-popover-arrow-height: 0.625rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: "HKGroteskPro", serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
  box-shadow: var(--bs-popover-box-shadow);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}
.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}
/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}
/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}
.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}
.carousel {
  position: relative;
}
.carousel.pointer-event {
  touch-action: pan-y;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}
.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #FFFFFF;
  text-align: center;
  background: none;
  filter: var(--bs-carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #FFFFFF;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}
.carousel-control-prev {
  left: 0;
}
.carousel-control-next {
  right: 0;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/;
}
.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/;
}
.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: var(--bs-carousel-indicator-active-bg);
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: var(--bs-carousel-caption-color);
  text-align: center;
}
.carousel-dark {
  --bs-carousel-indicator-active-bg: #161C2D;
  --bs-carousel-caption-color: #161C2D;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}
:root,
[data-bs-theme=light] {
  --bs-carousel-indicator-active-bg: #FFFFFF;
  --bs-carousel-caption-color: #FFFFFF;
  --bs-carousel-control-icon-filter: ;
}
.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}
.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}
.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}
@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 2.5rem;
  --bs-offcanvas-padding-y: 2.5rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.6;
}
@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--bs-offcanvas-box-shadow);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--bs-offcanvas-box-shadow);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--bs-offcanvas-box-shadow);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--bs-offcanvas-box-shadow);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--bs-offcanvas-box-shadow);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  box-shadow: var(--bs-offcanvas-box-shadow);
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}
.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #161C2D;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.8;
}
.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-left: auto;
}
.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}
.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}
.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}
.placeholder-xs {
  min-height: 0.6em;
}
.placeholder-sm {
  min-height: 0.8em;
}
.placeholder-lg {
  min-height: 1.2em;
}
.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}
@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  mask-image: linear-gradient(130deg, #161C2D 55%, rgba(0, 0, 0, 0.8) 75%, #161C2D 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}
@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}
.text-bg-primary {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-primary-desat {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-primary-desat-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-secondary {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-success {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-info {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-warning {
  color: #1B2A4E !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-danger {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-light {
  color: #1B2A4E !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-dark {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}
.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(41, 75, 187, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(41, 75, 187, var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary-desat {
  color: RGBA(var(--bs-primary-desat-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-desat-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary-desat:hover, .link-primary-desat:focus {
  color: RGBA(86, 110, 189, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 110, 189, var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(64, 82, 115, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(64, 82, 115, var(--bs-link-underline-opacity, 1)) !important;
}
.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(53, 149, 120, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(53, 149, 120, var(--bs-link-underline-opacity, 1)) !important;
}
.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(99, 84, 191, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(99, 84, 191, var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(251, 223, 145, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(251, 223, 145, var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(178, 57, 71, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(178, 57, 71, var(--bs-link-underline-opacity, 1)) !important;
}
.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(250, 252, 253, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(250, 252, 253, var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(22, 34, 62, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(22, 34, 62, var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}
.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}
.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}
.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}
.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}
.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}
.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}
.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}
@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}
.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 1;
}
.bg-cover {
  background: no-repeat center center/cover;
}
@media (max-width: 991.98px) {
  .bg-between {
    background-image: none !important;
  }
}
@media (min-width: 992px) {
  .bg-between {
    background-repeat: no-repeat;
    background-position: left center, right center;
    background-size: auto 70%;
  }
}
.bg-gradient-light-white {
  background-image: linear-gradient(to bottom, var(--bs-light) 0%, var(--bs-white) 100%);
}
.bg-gradient-dark-black {
  background-image: linear-gradient(to bottom, var(--bs-dark) 0%, var(--bs-black) 100%);
}
.bg-gradient-multicolor {
  background-image: conic-gradient(from 52deg at 50% 50%, #8024A0 0deg, #31EEC1 33deg, #6924A0 222deg, #D6723B 264deg, #D5498C 295deg, #8024A0 360deg);
}
.img-skewed {
  perspective: 1500px;
  transform-style: preserve-3d;
}
.img-skewed-start {
  perspective-origin: left center;
}
.img-skewed-start .img-skewed-item {
  transform: rotateY(calc(35deg * -1)) rotateX(15deg);
  backface-visibility: hidden;
}
.img-skewed-end {
  perspective-origin: right center;
}
.img-skewed-end .img-skewed-item {
  transform: rotateY(35deg) rotateX(15deg);
  backface-visibility: hidden;
}
.lift {
  box-shadow: 0 0 0 rgba(22, 28, 45, 0);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.lift:hover,
.lift:focus {
  box-shadow: 0 1rem 2.5rem rgba(22, 28, 45, 0.1), 0 0.5rem 1rem -0.75rem rgba(22, 28, 45, 0.1) !important;
  transform: translate3d(0, -3px, 0);
}
.lift-lg:hover,
.lift-lg:focus {
  box-shadow: 0 2rem 5rem rgba(22, 28, 45, 0.1), 0 0.5rem 1rem -0.75rem rgba(22, 28, 45, 0.05) !important;
  transform: translate3d(0, -5px, 0);
}
.overlay {
  position: relative;
}
.overlay::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
}
.overlay-primary::before {
  background-color: #335EEA;
}
.overlay-gradient-primary-end::before {
  background-image: linear-gradient(to bottom, transparent, #335EEA);
}
@media (min-width: 992px) {
  .overlay-gradient-primary-end::before {
    background-image: linear-gradient(to right, transparent, #335EEA 50%, #335EEA);
  }
}
.overlay-gradient-primary-down::before {
  background-image: linear-gradient(to bottom, transparent, #335EEA);
}
@media (min-width: 992px) {
  .overlay-gradient-primary-down::before {
    background-image: linear-gradient(to bottom, transparent, #335EEA 50%, #335EEA);
  }
}
.overlay-gradient-primary-start::before {
  background-image: linear-gradient(to bottom, transparent, #335EEA);
}
@media (min-width: 992px) {
  .overlay-gradient-primary-start::before {
    background-image: linear-gradient(to left, transparent, #335EEA 50%, #335EEA);
  }
}
.overlay-primary-desat::before {
  background-color: #6C8AEC;
}
.overlay-gradient-primary-desat-end::before {
  background-image: linear-gradient(to bottom, transparent, #6C8AEC);
}
@media (min-width: 992px) {
  .overlay-gradient-primary-desat-end::before {
    background-image: linear-gradient(to right, transparent, #6C8AEC 50%, #6C8AEC);
  }
}
.overlay-gradient-primary-desat-down::before {
  background-image: linear-gradient(to bottom, transparent, #6C8AEC);
}
@media (min-width: 992px) {
  .overlay-gradient-primary-desat-down::before {
    background-image: linear-gradient(to bottom, transparent, #6C8AEC 50%, #6C8AEC);
  }
}
.overlay-gradient-primary-desat-start::before {
  background-image: linear-gradient(to bottom, transparent, #6C8AEC);
}
@media (min-width: 992px) {
  .overlay-gradient-primary-desat-start::before {
    background-image: linear-gradient(to left, transparent, #6C8AEC 50%, #6C8AEC);
  }
}
.overlay-secondary::before {
  background-color: #506690;
}
.overlay-gradient-secondary-end::before {
  background-image: linear-gradient(to bottom, transparent, #506690);
}
@media (min-width: 992px) {
  .overlay-gradient-secondary-end::before {
    background-image: linear-gradient(to right, transparent, #506690 50%, #506690);
  }
}
.overlay-gradient-secondary-down::before {
  background-image: linear-gradient(to bottom, transparent, #506690);
}
@media (min-width: 992px) {
  .overlay-gradient-secondary-down::before {
    background-image: linear-gradient(to bottom, transparent, #506690 50%, #506690);
  }
}
.overlay-gradient-secondary-start::before {
  background-image: linear-gradient(to bottom, transparent, #506690);
}
@media (min-width: 992px) {
  .overlay-gradient-secondary-start::before {
    background-image: linear-gradient(to left, transparent, #506690 50%, #506690);
  }
}
.overlay-success::before {
  background-color: #42BA96;
}
.overlay-gradient-success-end::before {
  background-image: linear-gradient(to bottom, transparent, #42BA96);
}
@media (min-width: 992px) {
  .overlay-gradient-success-end::before {
    background-image: linear-gradient(to right, transparent, #42BA96 50%, #42BA96);
  }
}
.overlay-gradient-success-down::before {
  background-image: linear-gradient(to bottom, transparent, #42BA96);
}
@media (min-width: 992px) {
  .overlay-gradient-success-down::before {
    background-image: linear-gradient(to bottom, transparent, #42BA96 50%, #42BA96);
  }
}
.overlay-gradient-success-start::before {
  background-image: linear-gradient(to bottom, transparent, #42BA96);
}
@media (min-width: 992px) {
  .overlay-gradient-success-start::before {
    background-image: linear-gradient(to left, transparent, #42BA96 50%, #42BA96);
  }
}
.overlay-info::before {
  background-color: #7C69EF;
}
.overlay-gradient-info-end::before {
  background-image: linear-gradient(to bottom, transparent, #7C69EF);
}
@media (min-width: 992px) {
  .overlay-gradient-info-end::before {
    background-image: linear-gradient(to right, transparent, #7C69EF 50%, #7C69EF);
  }
}
.overlay-gradient-info-down::before {
  background-image: linear-gradient(to bottom, transparent, #7C69EF);
}
@media (min-width: 992px) {
  .overlay-gradient-info-down::before {
    background-image: linear-gradient(to bottom, transparent, #7C69EF 50%, #7C69EF);
  }
}
.overlay-gradient-info-start::before {
  background-image: linear-gradient(to bottom, transparent, #7C69EF);
}
@media (min-width: 992px) {
  .overlay-gradient-info-start::before {
    background-image: linear-gradient(to left, transparent, #7C69EF 50%, #7C69EF);
  }
}
.overlay-warning::before {
  background-color: #FAD776;
}
.overlay-gradient-warning-end::before {
  background-image: linear-gradient(to bottom, transparent, #FAD776);
}
@media (min-width: 992px) {
  .overlay-gradient-warning-end::before {
    background-image: linear-gradient(to right, transparent, #FAD776 50%, #FAD776);
  }
}
.overlay-gradient-warning-down::before {
  background-image: linear-gradient(to bottom, transparent, #FAD776);
}
@media (min-width: 992px) {
  .overlay-gradient-warning-down::before {
    background-image: linear-gradient(to bottom, transparent, #FAD776 50%, #FAD776);
  }
}
.overlay-gradient-warning-start::before {
  background-image: linear-gradient(to bottom, transparent, #FAD776);
}
@media (min-width: 992px) {
  .overlay-gradient-warning-start::before {
    background-image: linear-gradient(to left, transparent, #FAD776 50%, #FAD776);
  }
}
.overlay-danger::before {
  background-color: #DF4759;
}
.overlay-gradient-danger-end::before {
  background-image: linear-gradient(to bottom, transparent, #DF4759);
}
@media (min-width: 992px) {
  .overlay-gradient-danger-end::before {
    background-image: linear-gradient(to right, transparent, #DF4759 50%, #DF4759);
  }
}
.overlay-gradient-danger-down::before {
  background-image: linear-gradient(to bottom, transparent, #DF4759);
}
@media (min-width: 992px) {
  .overlay-gradient-danger-down::before {
    background-image: linear-gradient(to bottom, transparent, #DF4759 50%, #DF4759);
  }
}
.overlay-gradient-danger-start::before {
  background-image: linear-gradient(to bottom, transparent, #DF4759);
}
@media (min-width: 992px) {
  .overlay-gradient-danger-start::before {
    background-image: linear-gradient(to left, transparent, #DF4759 50%, #DF4759);
  }
}
.overlay-light::before {
  background-color: #F9FBFD;
}
.overlay-gradient-light-end::before {
  background-image: linear-gradient(to bottom, transparent, #F9FBFD);
}
@media (min-width: 992px) {
  .overlay-gradient-light-end::before {
    background-image: linear-gradient(to right, transparent, #F9FBFD 50%, #F9FBFD);
  }
}
.overlay-gradient-light-down::before {
  background-image: linear-gradient(to bottom, transparent, #F9FBFD);
}
@media (min-width: 992px) {
  .overlay-gradient-light-down::before {
    background-image: linear-gradient(to bottom, transparent, #F9FBFD 50%, #F9FBFD);
  }
}
.overlay-gradient-light-start::before {
  background-image: linear-gradient(to bottom, transparent, #F9FBFD);
}
@media (min-width: 992px) {
  .overlay-gradient-light-start::before {
    background-image: linear-gradient(to left, transparent, #F9FBFD 50%, #F9FBFD);
  }
}
.overlay-dark::before {
  background-color: #1B2A4E;
}
.overlay-gradient-dark-end::before {
  background-image: linear-gradient(to bottom, transparent, #1B2A4E);
}
@media (min-width: 992px) {
  .overlay-gradient-dark-end::before {
    background-image: linear-gradient(to right, transparent, #1B2A4E 50%, #1B2A4E);
  }
}
.overlay-gradient-dark-down::before {
  background-image: linear-gradient(to bottom, transparent, #1B2A4E);
}
@media (min-width: 992px) {
  .overlay-gradient-dark-down::before {
    background-image: linear-gradient(to bottom, transparent, #1B2A4E 50%, #1B2A4E);
  }
}
.overlay-gradient-dark-start::before {
  background-image: linear-gradient(to bottom, transparent, #1B2A4E);
}
@media (min-width: 992px) {
  .overlay-gradient-dark-start::before {
    background-image: linear-gradient(to left, transparent, #1B2A4E 50%, #1B2A4E);
  }
}
.overlay-black::before {
  background-color: #161C2D;
}
.overlay-gradient-black-end::before {
  background-image: linear-gradient(to bottom, transparent, #161C2D);
}
@media (min-width: 992px) {
  .overlay-gradient-black-end::before {
    background-image: linear-gradient(to right, transparent, #161C2D 50%, #161C2D);
  }
}
.overlay-gradient-black-down::before {
  background-image: linear-gradient(to bottom, transparent, #161C2D);
}
@media (min-width: 992px) {
  .overlay-gradient-black-down::before {
    background-image: linear-gradient(to bottom, transparent, #161C2D 50%, #161C2D);
  }
}
.overlay-gradient-black-start::before {
  background-image: linear-gradient(to bottom, transparent, #161C2D);
}
@media (min-width: 992px) {
  .overlay-gradient-black-start::before {
    background-image: linear-gradient(to left, transparent, #161C2D 50%, #161C2D);
  }
}
.overlay-white::before {
  background-color: #FFFFFF;
}
.overlay-gradient-white-end::before {
  background-image: linear-gradient(to bottom, transparent, #FFFFFF);
}
@media (min-width: 992px) {
  .overlay-gradient-white-end::before {
    background-image: linear-gradient(to right, transparent, #FFFFFF 50%, #FFFFFF);
  }
}
.overlay-gradient-white-down::before {
  background-image: linear-gradient(to bottom, transparent, #FFFFFF);
}
@media (min-width: 992px) {
  .overlay-gradient-white-down::before {
    background-image: linear-gradient(to bottom, transparent, #FFFFFF 50%, #FFFFFF);
  }
}
.overlay-gradient-white-start::before {
  background-image: linear-gradient(to bottom, transparent, #FFFFFF);
}
@media (min-width: 992px) {
  .overlay-gradient-white-start::before {
    background-image: linear-gradient(to left, transparent, #FFFFFF 50%, #FFFFFF);
  }
}
.overlay-10::before {
  opacity: 0.1;
}
.overlay-20::before {
  opacity: 0.2;
}
.overlay-30::before {
  opacity: 0.3;
}
.overlay-40::before {
  opacity: 0.4;
}
.overlay-50::before {
  opacity: 0.5;
}
.overlay-60::before {
  opacity: 0.6;
}
.overlay-70::before {
  opacity: 0.7;
}
.overlay-80::before {
  opacity: 0.8;
}
.overlay-90::before {
  opacity: 0.9;
}
.center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.shadow-multicolor {
  box-shadow: -300px 100px 300px rgba(80, 26, 232, 0.2), 300px -100px 300px rgba(36, 161, 252, 0.2);
}
@media (min-width: 576px) {
  .w-cover {
    width: calc(100% + (100vw - 540px) * 0.5 + 2.5rem);
  }
}
@media (min-width: 768px) {
  .w-cover {
    width: calc(100% + (100vw - 720px) * 0.5 + 2.5rem);
  }
}
@media (min-width: 992px) {
  .w-cover {
    width: calc(100% + (100vw - 960px) * 0.5 + 2.5rem);
  }
}
@media (min-width: 1200px) {
  .w-cover {
    width: calc(100% + (100vw - 1040px) * 0.5 + 2.5rem);
  }
}
@media (max-width: 991.98px) {
  [class].fs-lg {
    font-size: 1.0625rem !important;
  }
}
.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}
.float-start {
  float: left !important;
}
.float-end {
  float: right !important;
}
.float-none {
  float: none !important;
}
.object-fit-contain {
  object-fit: contain !important;
}
.object-fit-cover {
  object-fit: cover !important;
}
.object-fit-fill {
  object-fit: fill !important;
}
.object-fit-scale {
  object-fit: scale-down !important;
}
.object-fit-none {
  object-fit: none !important;
}
.opacity-0 {
  opacity: 0 !important;
}
.opacity-25 {
  opacity: 0.25 !important;
}
.opacity-50 {
  opacity: 0.5 !important;
}
.opacity-75 {
  opacity: 0.75 !important;
}
.opacity-100 {
  opacity: 1 !important;
}
.overflow-auto {
  overflow: auto !important;
}
.overflow-hidden {
  overflow: hidden !important;
}
.overflow-visible {
  overflow: visible !important;
}
.overflow-scroll {
  overflow: scroll !important;
}
.overflow-x-auto {
  overflow-x: auto !important;
}
.overflow-x-hidden {
  overflow-x: hidden !important;
}
.overflow-x-visible {
  overflow-x: visible !important;
}
.overflow-x-scroll {
  overflow-x: scroll !important;
}
.overflow-y-auto {
  overflow-y: auto !important;
}
.overflow-y-hidden {
  overflow-y: hidden !important;
}
.overflow-y-visible {
  overflow-y: visible !important;
}
.overflow-y-scroll {
  overflow-y: scroll !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-grid {
  display: grid !important;
}
.d-inline-grid {
  display: inline-grid !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-none {
  display: none !important;
}
.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}
.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}
.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}
.shadow-none {
  box-shadow: none !important;
}
.shadow-light {
  box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.05) !important;
}
.shadow-dark {
  box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.15) !important;
}
.shadow-light-lg {
  box-shadow: 0 1.5rem 4rem rgba(22, 28, 45, 0.05) !important;
}
.shadow-dark-lg {
  box-shadow: 0 1.5rem 4rem rgba(22, 28, 45, 0.15) !important;
}
.shadow-lift {
  box-shadow: 0 1rem 2.5rem rgba(22, 28, 45, 0.1), 0 0.5rem 1rem -0.75rem rgba(22, 28, 45, 0.1) !important;
}
.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-primary-desat {
  --bs-focus-ring-color: rgba(var(--bs-primary-desat-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: sticky !important;
}
.top-0 {
  top: 0 !important;
}
.top-50 {
  top: 50% !important;
}
.top-100 {
  top: 100% !important;
}
.bottom-0 {
  bottom: 0 !important;
}
.bottom-50 {
  bottom: 50% !important;
}
.bottom-100 {
  bottom: 100% !important;
}
.start-0 {
  left: 0 !important;
}
.start-50 {
  left: 50% !important;
}
.start-100 {
  left: 100% !important;
}
.end-0 {
  right: 0 !important;
}
.end-50 {
  right: 50% !important;
}
.end-100 {
  right: 100% !important;
}
.translate-middle {
  transform: translate(-50%, -50%) !important;
}
.translate-middle-x {
  transform: translateX(-50%) !important;
}
.translate-middle-y {
  transform: translateY(-50%) !important;
}
.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-0 {
  border: 0 !important;
}
.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-end-0 {
  border-right: 0 !important;
}
.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-bottom-0 {
  border-bottom: 0 !important;
}
.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-start-0 {
  border-left: 0 !important;
}
.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}
.border-primary-desat {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-desat-rgb), var(--bs-border-opacity)) !important;
}
.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}
.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}
.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}
.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}
.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}
.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}
.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}
.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}
.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}
.border-gray-100 {
  --bs-border-opacity: 1;
  border-color: rgba(249, 251, 253, var(--bs-border-opacity)) !important;
}
.border-gray-200 {
  --bs-border-opacity: 1;
  border-color: rgba(241, 244, 248, var(--bs-border-opacity)) !important;
}
.border-gray-300 {
  --bs-border-opacity: 1;
  border-color: rgba(217, 226, 239, var(--bs-border-opacity)) !important;
}
.border-gray-400 {
  --bs-border-opacity: 1;
  border-color: rgba(198, 211, 230, var(--bs-border-opacity)) !important;
}
.border-gray-500 {
  --bs-border-opacity: 1;
  border-color: rgba(171, 188, 213, var(--bs-border-opacity)) !important;
}
.border-gray-600 {
  --bs-border-opacity: 1;
  border-color: rgba(134, 154, 184, var(--bs-border-opacity)) !important;
}
.border-gray-700 {
  --bs-border-opacity: 1;
  border-color: rgba(80, 102, 144, var(--bs-border-opacity)) !important;
}
.border-gray-800 {
  --bs-border-opacity: 1;
  border-color: rgba(56, 76, 116, var(--bs-border-opacity)) !important;
}
.border-gray-900 {
  --bs-border-opacity: 1;
  border-color: rgba(27, 42, 78, var(--bs-border-opacity)) !important;
}
.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}
.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}
.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}
.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}
.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}
.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}
.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}
.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}
.border-1 {
  border-width: 1px !important;
}
.border-2 {
  border-width: 2px !important;
}
.border-3 {
  border-width: 3px !important;
}
.border-4 {
  border-width: 4px !important;
}
.border-5 {
  border-width: 5px !important;
}
.border-opacity-10 {
  --bs-border-opacity: 0.1;
}
.border-opacity-25 {
  --bs-border-opacity: 0.25;
}
.border-opacity-50 {
  --bs-border-opacity: 0.5;
}
.border-opacity-75 {
  --bs-border-opacity: 0.75;
}
.border-opacity-100 {
  --bs-border-opacity: 1;
}
.border-opacity-5 {
  --bs-border-opacity: 0.05;
}
.border-opacity-15 {
  --bs-border-opacity: 0.15;
}
.border-opacity-20 {
  --bs-border-opacity: 0.2;
}
.border-opacity-30 {
  --bs-border-opacity: 0.3;
}
.border-opacity-35 {
  --bs-border-opacity: 0.35;
}
.border-opacity-40 {
  --bs-border-opacity: 0.4;
}
.border-opacity-45 {
  --bs-border-opacity: 0.45;
}
.border-opacity-55 {
  --bs-border-opacity: 0.55;
}
.border-opacity-60 {
  --bs-border-opacity: 0.6;
}
.border-opacity-65 {
  --bs-border-opacity: 0.65;
}
.border-opacity-70 {
  --bs-border-opacity: 0.7;
}
.border-opacity-80 {
  --bs-border-opacity: 0.8;
}
.border-opacity-85 {
  --bs-border-opacity: 0.85;
}
.border-opacity-90 {
  --bs-border-opacity: 0.9;
}
.border-opacity-95 {
  --bs-border-opacity: 0.95;
}
.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.w-110 {
  width: 110% !important;
}
.w-120 {
  width: 120% !important;
}
.w-130 {
  width: 130% !important;
}
.w-140 {
  width: 140% !important;
}
.w-150 {
  width: 150% !important;
}
.mw-100 {
  max-width: 100% !important;
}
.mw-25 {
  max-width: 25% !important;
}
.mw-50 {
  max-width: 50% !important;
}
.mw-75 {
  max-width: 75% !important;
}
.mw-110 {
  max-width: 110% !important;
}
.mw-120 {
  max-width: 120% !important;
}
.mw-130 {
  max-width: 130% !important;
}
.mw-140 {
  max-width: 140% !important;
}
.mw-150 {
  max-width: 150% !important;
}
.vw-100 {
  width: 100vw !important;
}
.vw-25 {
  width: 25vw !important;
}
.vw-50 {
  width: 50vw !important;
}
.vw-75 {
  width: 75vw !important;
}
.vw-110 {
  width: 110vw !important;
}
.vw-120 {
  width: 120vw !important;
}
.vw-130 {
  width: 130vw !important;
}
.vw-140 {
  width: 140vw !important;
}
.vw-150 {
  width: 150vw !important;
}
.min-vw-100 {
  min-width: 100vw !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.h-110 {
  height: 110% !important;
}
.h-120 {
  height: 120% !important;
}
.h-130 {
  height: 130% !important;
}
.h-140 {
  height: 140% !important;
}
.h-150 {
  height: 150% !important;
}
.mh-100 {
  max-height: 100% !important;
}
.vh-100 {
  height: 100vh !important;
}
.vh-25 {
  height: 25vw !important;
}
.vh-50 {
  height: 50vw !important;
}
.vh-75 {
  height: 75vw !important;
}
.vh-110 {
  height: 110vw !important;
}
.vh-120 {
  height: 120vw !important;
}
.vh-130 {
  height: 130vw !important;
}
.vh-140 {
  height: 140vw !important;
}
.vh-150 {
  height: 150vw !important;
}
.min-vh-100 {
  min-height: 100vh !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.justify-content-evenly {
  justify-content: space-evenly !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
.order-first {
  order: -1 !important;
}
.order-0 {
  order: 0 !important;
}
.order-1 {
  order: 1 !important;
}
.order-2 {
  order: 2 !important;
}
.order-3 {
  order: 3 !important;
}
.order-4 {
  order: 4 !important;
}
.order-5 {
  order: 5 !important;
}
.order-last {
  order: 6 !important;
}
.m-0 {
  margin: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.m-3 {
  margin: 0.75rem !important;
}
.m-4 {
  margin: 1rem !important;
}
.m-5 {
  margin: 1.5rem !important;
}
.m-6 {
  margin: 2rem !important;
}
.m-7 {
  margin: 2.5rem !important;
}
.m-8 {
  margin: 3rem !important;
}
.m-9 {
  margin: 4rem !important;
}
.m-10 {
  margin: 5rem !important;
}
.m-11 {
  margin: 6rem !important;
}
.m-12 {
  margin: 8rem !important;
}
.m-13 {
  margin: 10rem !important;
}
.m-14 {
  margin: 12rem !important;
}
.m-15 {
  margin: 16rem !important;
}
.m-16 {
  margin: 25rem !important;
}
.m-auto {
  margin: auto !important;
}
.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}
.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}
.mx-3 {
  margin-right: 0.75rem !important;
  margin-left: 0.75rem !important;
}
.mx-4 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}
.mx-5 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}
.mx-6 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}
.mx-7 {
  margin-right: 2.5rem !important;
  margin-left: 2.5rem !important;
}
.mx-8 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}
.mx-9 {
  margin-right: 4rem !important;
  margin-left: 4rem !important;
}
.mx-10 {
  margin-right: 5rem !important;
  margin-left: 5rem !important;
}
.mx-11 {
  margin-right: 6rem !important;
  margin-left: 6rem !important;
}
.mx-12 {
  margin-right: 8rem !important;
  margin-left: 8rem !important;
}
.mx-13 {
  margin-right: 10rem !important;
  margin-left: 10rem !important;
}
.mx-14 {
  margin-right: 12rem !important;
  margin-left: 12rem !important;
}
.mx-15 {
  margin-right: 16rem !important;
  margin-left: 16rem !important;
}
.mx-16 {
  margin-right: 25rem !important;
  margin-left: 25rem !important;
}
.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}
.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}
.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.my-3 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}
.my-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.my-5 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.my-6 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
.my-7 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}
.my-8 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
.my-9 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}
.my-10 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}
.my-11 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}
.my-12 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}
.my-13 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}
.my-14 {
  margin-top: 12rem !important;
  margin-bottom: 12rem !important;
}
.my-15 {
  margin-top: 16rem !important;
  margin-bottom: 16rem !important;
}
.my-16 {
  margin-top: 25rem !important;
  margin-bottom: 25rem !important;
}
.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.mt-1 {
  margin-top: 0.25rem !important;
}
.mt-2 {
  margin-top: 0.5rem !important;
}
.mt-3 {
  margin-top: 0.75rem !important;
}
.mt-4 {
  margin-top: 1rem !important;
}
.mt-5 {
  margin-top: 1.5rem !important;
}
.mt-6 {
  margin-top: 2rem !important;
}
.mt-7 {
  margin-top: 2.5rem !important;
}
.mt-8 {
  margin-top: 3rem !important;
}
.mt-9 {
  margin-top: 4rem !important;
}
.mt-10 {
  margin-top: 5rem !important;
}
.mt-11 {
  margin-top: 6rem !important;
}
.mt-12 {
  margin-top: 8rem !important;
}
.mt-13 {
  margin-top: 10rem !important;
}
.mt-14 {
  margin-top: 12rem !important;
}
.mt-15 {
  margin-top: 16rem !important;
}
.mt-16 {
  margin-top: 25rem !important;
}
.mt-auto {
  margin-top: auto !important;
}
.me-0 {
  margin-right: 0 !important;
}
.me-1 {
  margin-right: 0.25rem !important;
}
.me-2 {
  margin-right: 0.5rem !important;
}
.me-3 {
  margin-right: 0.75rem !important;
}
.me-4 {
  margin-right: 1rem !important;
}
.me-5 {
  margin-right: 1.5rem !important;
}
.me-6 {
  margin-right: 2rem !important;
}
.me-7 {
  margin-right: 2.5rem !important;
}
.me-8 {
  margin-right: 3rem !important;
}
.me-9 {
  margin-right: 4rem !important;
}
.me-10 {
  margin-right: 5rem !important;
}
.me-11 {
  margin-right: 6rem !important;
}
.me-12 {
  margin-right: 8rem !important;
}
.me-13 {
  margin-right: 10rem !important;
}
.me-14 {
  margin-right: 12rem !important;
}
.me-15 {
  margin-right: 16rem !important;
}
.me-16 {
  margin-right: 25rem !important;
}
.me-auto {
  margin-right: auto !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-1 {
  margin-bottom: 0.25rem !important;
}
.mb-2 {
  margin-bottom: 0.5rem !important;
}
.mb-3 {
  margin-bottom: 0.75rem !important;
}
.mb-4 {
  margin-bottom: 1rem !important;
}
.mb-5 {
  margin-bottom: 1.5rem !important;
}
.mb-6 {
  margin-bottom: 2rem !important;
}
.mb-7 {
  margin-bottom: 2.5rem !important;
}
.mb-8 {
  margin-bottom: 3rem !important;
}
.mb-9 {
  margin-bottom: 4rem !important;
}
.mb-10 {
  margin-bottom: 5rem !important;
}
.mb-11 {
  margin-bottom: 6rem !important;
}
.mb-12 {
  margin-bottom: 8rem !important;
}
.mb-13 {
  margin-bottom: 10rem !important;
}
.mb-14 {
  margin-bottom: 12rem !important;
}
.mb-15 {
  margin-bottom: 16rem !important;
}
.mb-16 {
  margin-bottom: 25rem !important;
}
.mb-auto {
  margin-bottom: auto !important;
}
.ms-0 {
  margin-left: 0 !important;
}
.ms-1 {
  margin-left: 0.25rem !important;
}
.ms-2 {
  margin-left: 0.5rem !important;
}
.ms-3 {
  margin-left: 0.75rem !important;
}
.ms-4 {
  margin-left: 1rem !important;
}
.ms-5 {
  margin-left: 1.5rem !important;
}
.ms-6 {
  margin-left: 2rem !important;
}
.ms-7 {
  margin-left: 2.5rem !important;
}
.ms-8 {
  margin-left: 3rem !important;
}
.ms-9 {
  margin-left: 4rem !important;
}
.ms-10 {
  margin-left: 5rem !important;
}
.ms-11 {
  margin-left: 6rem !important;
}
.ms-12 {
  margin-left: 8rem !important;
}
.ms-13 {
  margin-left: 10rem !important;
}
.ms-14 {
  margin-left: 12rem !important;
}
.ms-15 {
  margin-left: 16rem !important;
}
.ms-16 {
  margin-left: 25rem !important;
}
.ms-auto {
  margin-left: auto !important;
}
.m-n1 {
  margin: -0.25rem !important;
}
.m-n2 {
  margin: -0.5rem !important;
}
.m-n3 {
  margin: -0.75rem !important;
}
.m-n4 {
  margin: -1rem !important;
}
.m-n5 {
  margin: -1.5rem !important;
}
.m-n6 {
  margin: -2rem !important;
}
.m-n7 {
  margin: -2.5rem !important;
}
.m-n8 {
  margin: -3rem !important;
}
.m-n9 {
  margin: -4rem !important;
}
.m-n10 {
  margin: -5rem !important;
}
.m-n11 {
  margin: -6rem !important;
}
.m-n12 {
  margin: -8rem !important;
}
.m-n13 {
  margin: -10rem !important;
}
.m-n14 {
  margin: -12rem !important;
}
.m-n15 {
  margin: -16rem !important;
}
.m-n16 {
  margin: -25rem !important;
}
.mx-n1 {
  margin-right: -0.25rem !important;
  margin-left: -0.25rem !important;
}
.mx-n2 {
  margin-right: -0.5rem !important;
  margin-left: -0.5rem !important;
}
.mx-n3 {
  margin-right: -0.75rem !important;
  margin-left: -0.75rem !important;
}
.mx-n4 {
  margin-right: -1rem !important;
  margin-left: -1rem !important;
}
.mx-n5 {
  margin-right: -1.5rem !important;
  margin-left: -1.5rem !important;
}
.mx-n6 {
  margin-right: -2rem !important;
  margin-left: -2rem !important;
}
.mx-n7 {
  margin-right: -2.5rem !important;
  margin-left: -2.5rem !important;
}
.mx-n8 {
  margin-right: -3rem !important;
  margin-left: -3rem !important;
}
.mx-n9 {
  margin-right: -4rem !important;
  margin-left: -4rem !important;
}
.mx-n10 {
  margin-right: -5rem !important;
  margin-left: -5rem !important;
}
.mx-n11 {
  margin-right: -6rem !important;
  margin-left: -6rem !important;
}
.mx-n12 {
  margin-right: -8rem !important;
  margin-left: -8rem !important;
}
.mx-n13 {
  margin-right: -10rem !important;
  margin-left: -10rem !important;
}
.mx-n14 {
  margin-right: -12rem !important;
  margin-left: -12rem !important;
}
.mx-n15 {
  margin-right: -16rem !important;
  margin-left: -16rem !important;
}
.mx-n16 {
  margin-right: -25rem !important;
  margin-left: -25rem !important;
}
.my-n1 {
  margin-top: -0.25rem !important;
  margin-bottom: -0.25rem !important;
}
.my-n2 {
  margin-top: -0.5rem !important;
  margin-bottom: -0.5rem !important;
}
.my-n3 {
  margin-top: -0.75rem !important;
  margin-bottom: -0.75rem !important;
}
.my-n4 {
  margin-top: -1rem !important;
  margin-bottom: -1rem !important;
}
.my-n5 {
  margin-top: -1.5rem !important;
  margin-bottom: -1.5rem !important;
}
.my-n6 {
  margin-top: -2rem !important;
  margin-bottom: -2rem !important;
}
.my-n7 {
  margin-top: -2.5rem !important;
  margin-bottom: -2.5rem !important;
}
.my-n8 {
  margin-top: -3rem !important;
  margin-bottom: -3rem !important;
}
.my-n9 {
  margin-top: -4rem !important;
  margin-bottom: -4rem !important;
}
.my-n10 {
  margin-top: -5rem !important;
  margin-bottom: -5rem !important;
}
.my-n11 {
  margin-top: -6rem !important;
  margin-bottom: -6rem !important;
}
.my-n12 {
  margin-top: -8rem !important;
  margin-bottom: -8rem !important;
}
.my-n13 {
  margin-top: -10rem !important;
  margin-bottom: -10rem !important;
}
.my-n14 {
  margin-top: -12rem !important;
  margin-bottom: -12rem !important;
}
.my-n15 {
  margin-top: -16rem !important;
  margin-bottom: -16rem !important;
}
.my-n16 {
  margin-top: -25rem !important;
  margin-bottom: -25rem !important;
}
.mt-n1 {
  margin-top: -0.25rem !important;
}
.mt-n2 {
  margin-top: -0.5rem !important;
}
.mt-n3 {
  margin-top: -0.75rem !important;
}
.mt-n4 {
  margin-top: -1rem !important;
}
.mt-n5 {
  margin-top: -1.5rem !important;
}
.mt-n6 {
  margin-top: -2rem !important;
}
.mt-n7 {
  margin-top: -2.5rem !important;
}
.mt-n8 {
  margin-top: -3rem !important;
}
.mt-n9 {
  margin-top: -4rem !important;
}
.mt-n10 {
  margin-top: -5rem !important;
}
.mt-n11 {
  margin-top: -6rem !important;
}
.mt-n12 {
  margin-top: -8rem !important;
}
.mt-n13 {
  margin-top: -10rem !important;
}
.mt-n14 {
  margin-top: -12rem !important;
}
.mt-n15 {
  margin-top: -16rem !important;
}
.mt-n16 {
  margin-top: -25rem !important;
}
.me-n1 {
  margin-right: -0.25rem !important;
}
.me-n2 {
  margin-right: -0.5rem !important;
}
.me-n3 {
  margin-right: -0.75rem !important;
}
.me-n4 {
  margin-right: -1rem !important;
}
.me-n5 {
  margin-right: -1.5rem !important;
}
.me-n6 {
  margin-right: -2rem !important;
}
.me-n7 {
  margin-right: -2.5rem !important;
}
.me-n8 {
  margin-right: -3rem !important;
}
.me-n9 {
  margin-right: -4rem !important;
}
.me-n10 {
  margin-right: -5rem !important;
}
.me-n11 {
  margin-right: -6rem !important;
}
.me-n12 {
  margin-right: -8rem !important;
}
.me-n13 {
  margin-right: -10rem !important;
}
.me-n14 {
  margin-right: -12rem !important;
}
.me-n15 {
  margin-right: -16rem !important;
}
.me-n16 {
  margin-right: -25rem !important;
}
.mb-n1 {
  margin-bottom: -0.25rem !important;
}
.mb-n2 {
  margin-bottom: -0.5rem !important;
}
.mb-n3 {
  margin-bottom: -0.75rem !important;
}
.mb-n4 {
  margin-bottom: -1rem !important;
}
.mb-n5 {
  margin-bottom: -1.5rem !important;
}
.mb-n6 {
  margin-bottom: -2rem !important;
}
.mb-n7 {
  margin-bottom: -2.5rem !important;
}
.mb-n8 {
  margin-bottom: -3rem !important;
}
.mb-n9 {
  margin-bottom: -4rem !important;
}
.mb-n10 {
  margin-bottom: -5rem !important;
}
.mb-n11 {
  margin-bottom: -6rem !important;
}
.mb-n12 {
  margin-bottom: -8rem !important;
}
.mb-n13 {
  margin-bottom: -10rem !important;
}
.mb-n14 {
  margin-bottom: -12rem !important;
}
.mb-n15 {
  margin-bottom: -16rem !important;
}
.mb-n16 {
  margin-bottom: -25rem !important;
}
.ms-n1 {
  margin-left: -0.25rem !important;
}
.ms-n2 {
  margin-left: -0.5rem !important;
}
.ms-n3 {
  margin-left: -0.75rem !important;
}
.ms-n4 {
  margin-left: -1rem !important;
}
.ms-n5 {
  margin-left: -1.5rem !important;
}
.ms-n6 {
  margin-left: -2rem !important;
}
.ms-n7 {
  margin-left: -2.5rem !important;
}
.ms-n8 {
  margin-left: -3rem !important;
}
.ms-n9 {
  margin-left: -4rem !important;
}
.ms-n10 {
  margin-left: -5rem !important;
}
.ms-n11 {
  margin-left: -6rem !important;
}
.ms-n12 {
  margin-left: -8rem !important;
}
.ms-n13 {
  margin-left: -10rem !important;
}
.ms-n14 {
  margin-left: -12rem !important;
}
.ms-n15 {
  margin-left: -16rem !important;
}
.ms-n16 {
  margin-left: -25rem !important;
}
.p-0 {
  padding: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.p-3 {
  padding: 0.75rem !important;
}
.p-4 {
  padding: 1rem !important;
}
.p-5 {
  padding: 1.5rem !important;
}
.p-6 {
  padding: 2rem !important;
}
.p-7 {
  padding: 2.5rem !important;
}
.p-8 {
  padding: 3rem !important;
}
.p-9 {
  padding: 4rem !important;
}
.p-10 {
  padding: 5rem !important;
}
.p-11 {
  padding: 6rem !important;
}
.p-12 {
  padding: 8rem !important;
}
.p-13 {
  padding: 10rem !important;
}
.p-14 {
  padding: 12rem !important;
}
.p-15 {
  padding: 16rem !important;
}
.p-16 {
  padding: 25rem !important;
}
.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}
.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}
.px-3 {
  padding-right: 0.75rem !important;
  padding-left: 0.75rem !important;
}
.px-4 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.px-5 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}
.px-6 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}
.px-7 {
  padding-right: 2.5rem !important;
  padding-left: 2.5rem !important;
}
.px-8 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}
.px-9 {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}
.px-10 {
  padding-right: 5rem !important;
  padding-left: 5rem !important;
}
.px-11 {
  padding-right: 6rem !important;
  padding-left: 6rem !important;
}
.px-12 {
  padding-right: 8rem !important;
  padding-left: 8rem !important;
}
.px-13 {
  padding-right: 10rem !important;
  padding-left: 10rem !important;
}
.px-14 {
  padding-right: 12rem !important;
  padding-left: 12rem !important;
}
.px-15 {
  padding-right: 16rem !important;
  padding-left: 16rem !important;
}
.px-16 {
  padding-right: 25rem !important;
  padding-left: 25rem !important;
}
.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}
.py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.py-5 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
.py-6 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
.py-7 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}
.py-8 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}
.py-9 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
.py-10 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}
.py-11 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}
.py-12 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}
.py-13 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}
.py-14 {
  padding-top: 12rem !important;
  padding-bottom: 12rem !important;
}
.py-15 {
  padding-top: 16rem !important;
  padding-bottom: 16rem !important;
}
.py-16 {
  padding-top: 25rem !important;
  padding-bottom: 25rem !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pt-1 {
  padding-top: 0.25rem !important;
}
.pt-2 {
  padding-top: 0.5rem !important;
}
.pt-3 {
  padding-top: 0.75rem !important;
}
.pt-4 {
  padding-top: 1rem !important;
}
.pt-5 {
  padding-top: 1.5rem !important;
}
.pt-6 {
  padding-top: 2rem !important;
}
.pt-7 {
  padding-top: 2.5rem !important;
}
.pt-8 {
  padding-top: 3rem !important;
}
.pt-9 {
  padding-top: 4rem !important;
}
.pt-10 {
  padding-top: 5rem !important;
}
.pt-11 {
  padding-top: 6rem !important;
}
.pt-12 {
  padding-top: 8rem !important;
}
.pt-13 {
  padding-top: 10rem !important;
}
.pt-14 {
  padding-top: 12rem !important;
}
.pt-15 {
  padding-top: 16rem !important;
}
.pt-16 {
  padding-top: 25rem !important;
}
.pe-0 {
  padding-right: 0 !important;
}
.pe-1 {
  padding-right: 0.25rem !important;
}
.pe-2 {
  padding-right: 0.5rem !important;
}
.pe-3 {
  padding-right: 0.75rem !important;
}
.pe-4 {
  padding-right: 1rem !important;
}
.pe-5 {
  padding-right: 1.5rem !important;
}
.pe-6 {
  padding-right: 2rem !important;
}
.pe-7 {
  padding-right: 2.5rem !important;
}
.pe-8 {
  padding-right: 3rem !important;
}
.pe-9 {
  padding-right: 4rem !important;
}
.pe-10 {
  padding-right: 5rem !important;
}
.pe-11 {
  padding-right: 6rem !important;
}
.pe-12 {
  padding-right: 8rem !important;
}
.pe-13 {
  padding-right: 10rem !important;
}
.pe-14 {
  padding-right: 12rem !important;
}
.pe-15 {
  padding-right: 16rem !important;
}
.pe-16 {
  padding-right: 25rem !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pb-1 {
  padding-bottom: 0.25rem !important;
}
.pb-2 {
  padding-bottom: 0.5rem !important;
}
.pb-3 {
  padding-bottom: 0.75rem !important;
}
.pb-4 {
  padding-bottom: 1rem !important;
}
.pb-5 {
  padding-bottom: 1.5rem !important;
}
.pb-6 {
  padding-bottom: 2rem !important;
}
.pb-7 {
  padding-bottom: 2.5rem !important;
}
.pb-8 {
  padding-bottom: 3rem !important;
}
.pb-9 {
  padding-bottom: 4rem !important;
}
.pb-10 {
  padding-bottom: 5rem !important;
}
.pb-11 {
  padding-bottom: 6rem !important;
}
.pb-12 {
  padding-bottom: 8rem !important;
}
.pb-13 {
  padding-bottom: 10rem !important;
}
.pb-14 {
  padding-bottom: 12rem !important;
}
.pb-15 {
  padding-bottom: 16rem !important;
}
.pb-16 {
  padding-bottom: 25rem !important;
}
.ps-0 {
  padding-left: 0 !important;
}
.ps-1 {
  padding-left: 0.25rem !important;
}
.ps-2 {
  padding-left: 0.5rem !important;
}
.ps-3 {
  padding-left: 0.75rem !important;
}
.ps-4 {
  padding-left: 1rem !important;
}
.ps-5 {
  padding-left: 1.5rem !important;
}
.ps-6 {
  padding-left: 2rem !important;
}
.ps-7 {
  padding-left: 2.5rem !important;
}
.ps-8 {
  padding-left: 3rem !important;
}
.ps-9 {
  padding-left: 4rem !important;
}
.ps-10 {
  padding-left: 5rem !important;
}
.ps-11 {
  padding-left: 6rem !important;
}
.ps-12 {
  padding-left: 8rem !important;
}
.ps-13 {
  padding-left: 10rem !important;
}
.ps-14 {
  padding-left: 12rem !important;
}
.ps-15 {
  padding-left: 16rem !important;
}
.ps-16 {
  padding-left: 25rem !important;
}
.gap-0 {
  gap: 0 !important;
}
.gap-1 {
  gap: 0.25rem !important;
}
.gap-2 {
  gap: 0.5rem !important;
}
.gap-3 {
  gap: 0.75rem !important;
}
.gap-4 {
  gap: 1rem !important;
}
.gap-5 {
  gap: 1.5rem !important;
}
.gap-6 {
  gap: 2rem !important;
}
.gap-7 {
  gap: 2.5rem !important;
}
.gap-8 {
  gap: 3rem !important;
}
.gap-9 {
  gap: 4rem !important;
}
.gap-10 {
  gap: 5rem !important;
}
.gap-11 {
  gap: 6rem !important;
}
.gap-12 {
  gap: 8rem !important;
}
.gap-13 {
  gap: 10rem !important;
}
.gap-14 {
  gap: 12rem !important;
}
.gap-15 {
  gap: 16rem !important;
}
.gap-16 {
  gap: 25rem !important;
}
.row-gap-0 {
  row-gap: 0 !important;
}
.row-gap-1 {
  row-gap: 0.25rem !important;
}
.row-gap-2 {
  row-gap: 0.5rem !important;
}
.row-gap-3 {
  row-gap: 0.75rem !important;
}
.row-gap-4 {
  row-gap: 1rem !important;
}
.row-gap-5 {
  row-gap: 1.5rem !important;
}
.row-gap-6 {
  row-gap: 2rem !important;
}
.row-gap-7 {
  row-gap: 2.5rem !important;
}
.row-gap-8 {
  row-gap: 3rem !important;
}
.row-gap-9 {
  row-gap: 4rem !important;
}
.row-gap-10 {
  row-gap: 5rem !important;
}
.row-gap-11 {
  row-gap: 6rem !important;
}
.row-gap-12 {
  row-gap: 8rem !important;
}
.row-gap-13 {
  row-gap: 10rem !important;
}
.row-gap-14 {
  row-gap: 12rem !important;
}
.row-gap-15 {
  row-gap: 16rem !important;
}
.row-gap-16 {
  row-gap: 25rem !important;
}
.column-gap-0 {
  column-gap: 0 !important;
}
.column-gap-1 {
  column-gap: 0.25rem !important;
}
.column-gap-2 {
  column-gap: 0.5rem !important;
}
.column-gap-3 {
  column-gap: 0.75rem !important;
}
.column-gap-4 {
  column-gap: 1rem !important;
}
.column-gap-5 {
  column-gap: 1.5rem !important;
}
.column-gap-6 {
  column-gap: 2rem !important;
}
.column-gap-7 {
  column-gap: 2.5rem !important;
}
.column-gap-8 {
  column-gap: 3rem !important;
}
.column-gap-9 {
  column-gap: 4rem !important;
}
.column-gap-10 {
  column-gap: 5rem !important;
}
.column-gap-11 {
  column-gap: 6rem !important;
}
.column-gap-12 {
  column-gap: 8rem !important;
}
.column-gap-13 {
  column-gap: 10rem !important;
}
.column-gap-14 {
  column-gap: 12rem !important;
}
.column-gap-15 {
  column-gap: 16rem !important;
}
.column-gap-16 {
  column-gap: 25rem !important;
}
.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}
.fs-1 {
  font-size: 2.3125rem !important;
}
.fs-2 {
  font-size: 1.9375rem !important;
}
.fs-3 {
  font-size: 1.3125rem !important;
}
.fs-4 {
  font-size: 1.1875rem !important;
}
.fs-5 {
  font-size: 1.0625rem !important;
}
.fs-6 {
  font-size: 0.75rem !important;
}
.fs-sm {
  font-size: 0.9375rem !important;
}
.fs-lg {
  font-size: 1.1875rem !important;
}
.fst-italic {
  font-style: italic !important;
}
.fst-normal {
  font-style: normal !important;
}
.fw-lighter {
  font-weight: lighter !important;
}
.fw-light {
  font-weight: 300 !important;
}
.fw-normal {
  font-weight: 400 !important;
}
.fw-medium {
  font-weight: 500 !important;
}
.fw-semibold {
  font-weight: 600 !important;
}
.fw-bold {
  font-weight: 600 !important;
}
.fw-bolder {
  font-weight: 700 !important;
}
.lh-1 {
  line-height: 1 !important;
}
.lh-sm {
  line-height: 1.3 !important;
}
.lh-base {
  line-height: 1.6 !important;
}
.lh-lg {
  line-height: 1.3 !important;
}
.text-start {
  text-align: left !important;
}
.text-end {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-decoration-none {
  text-decoration: none !important;
}
.text-decoration-underline {
  text-decoration: underline !important;
}
.text-decoration-line-through {
  text-decoration: line-through !important;
}
.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}
.text-wrap {
  white-space: normal !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}
/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}
.text-primary-desat {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-desat-rgb), var(--bs-text-opacity)) !important;
}
.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}
.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}
.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}
.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}
.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}
.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}
.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}
.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}
.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}
.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(22, 28, 45, 0.5) !important;
}
.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}
.text-body-secondary {
  --bs-text-opacity: 1;
  color: rgba(134, 154, 184, var(--bs-text-opacity)) !important;
}
.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}
.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}
.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}
.text-gray-100 {
  --bs-text-opacity: 1;
  color: rgba(249, 251, 253, var(--bs-text-opacity)) !important;
}
.text-gray-200 {
  --bs-text-opacity: 1;
  color: rgba(241, 244, 248, var(--bs-text-opacity)) !important;
}
.text-gray-300 {
  --bs-text-opacity: 1;
  color: rgba(217, 226, 239, var(--bs-text-opacity)) !important;
}
.text-gray-400 {
  --bs-text-opacity: 1;
  color: rgba(198, 211, 230, var(--bs-text-opacity)) !important;
}
.text-gray-500 {
  --bs-text-opacity: 1;
  color: rgba(171, 188, 213, var(--bs-text-opacity)) !important;
}
.text-gray-600 {
  --bs-text-opacity: 1;
  color: rgba(134, 154, 184, var(--bs-text-opacity)) !important;
}
.text-gray-700 {
  --bs-text-opacity: 1;
  color: rgba(80, 102, 144, var(--bs-text-opacity)) !important;
}
.text-gray-800 {
  --bs-text-opacity: 1;
  color: rgba(56, 76, 116, var(--bs-text-opacity)) !important;
}
.text-gray-900 {
  --bs-text-opacity: 1;
  color: rgba(27, 42, 78, var(--bs-text-opacity)) !important;
}
.text-opacity-25 {
  --bs-text-opacity: 0.25;
}
.text-opacity-50 {
  --bs-text-opacity: 0.5;
}
.text-opacity-75 {
  --bs-text-opacity: 0.75;
}
.text-opacity-100 {
  --bs-text-opacity: 1;
}
.text-opacity-5 {
  --bs-text-opacity: 0.05;
}
.text-opacity-10 {
  --bs-text-opacity: 0.1;
}
.text-opacity-15 {
  --bs-text-opacity: 0.15;
}
.text-opacity-20 {
  --bs-text-opacity: 0.2;
}
.text-opacity-30 {
  --bs-text-opacity: 0.3;
}
.text-opacity-35 {
  --bs-text-opacity: 0.35;
}
.text-opacity-40 {
  --bs-text-opacity: 0.4;
}
.text-opacity-45 {
  --bs-text-opacity: 0.45;
}
.text-opacity-55 {
  --bs-text-opacity: 0.55;
}
.text-opacity-60 {
  --bs-text-opacity: 0.6;
}
.text-opacity-65 {
  --bs-text-opacity: 0.65;
}
.text-opacity-70 {
  --bs-text-opacity: 0.7;
}
.text-opacity-80 {
  --bs-text-opacity: 0.8;
}
.text-opacity-85 {
  --bs-text-opacity: 0.85;
}
.text-opacity-90 {
  --bs-text-opacity: 0.9;
}
.text-opacity-95 {
  --bs-text-opacity: 0.95;
}
.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}
.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}
.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}
.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}
.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}
.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}
.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}
.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}
.link-opacity-10 {
  --bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}
.link-opacity-25 {
  --bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}
.link-opacity-50 {
  --bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}
.link-opacity-75 {
  --bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}
.link-opacity-100 {
  --bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}
.link-offset-1 {
  text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}
.link-offset-2 {
  text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}
.link-offset-3 {
  text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}
.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-primary-desat {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-desat-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}
.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-primary-desat {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-desat-rgb), var(--bs-bg-opacity)) !important;
}
.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}
.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}
.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}
.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}
.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}
.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}
.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}
.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}
.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-gray-100 {
  --bs-bg-opacity: 1;
  background-color: rgba(249, 251, 253, var(--bs-bg-opacity)) !important;
}
.bg-gray-200 {
  --bs-bg-opacity: 1;
  background-color: rgba(241, 244, 248, var(--bs-bg-opacity)) !important;
}
.bg-gray-300 {
  --bs-bg-opacity: 1;
  background-color: rgba(217, 226, 239, var(--bs-bg-opacity)) !important;
}
.bg-gray-400 {
  --bs-bg-opacity: 1;
  background-color: rgba(198, 211, 230, var(--bs-bg-opacity)) !important;
}
.bg-gray-500 {
  --bs-bg-opacity: 1;
  background-color: rgba(171, 188, 213, var(--bs-bg-opacity)) !important;
}
.bg-gray-600 {
  --bs-bg-opacity: 1;
  background-color: rgba(134, 154, 184, var(--bs-bg-opacity)) !important;
}
.bg-gray-700 {
  --bs-bg-opacity: 1;
  background-color: rgba(80, 102, 144, var(--bs-bg-opacity)) !important;
}
.bg-gray-800 {
  --bs-bg-opacity: 1;
  background-color: rgba(56, 76, 116, var(--bs-bg-opacity)) !important;
}
.bg-gray-900 {
  --bs-bg-opacity: 1;
  background-color: rgba(27, 42, 78, var(--bs-bg-opacity)) !important;
}
.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}
.bg-opacity-10-hover:hover {
  --bs-bg-opacity: 0.1;
}
.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}
.bg-opacity-25-hover:hover {
  --bs-bg-opacity: 0.25;
}
.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}
.bg-opacity-50-hover:hover {
  --bs-bg-opacity: 0.5;
}
.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}
.bg-opacity-75-hover:hover {
  --bs-bg-opacity: 0.75;
}
.bg-opacity-100 {
  --bs-bg-opacity: 1;
}
.bg-opacity-100-hover:hover {
  --bs-bg-opacity: 1;
}
.bg-opacity-5 {
  --bs-bg-opacity: 0.05;
}
.bg-opacity-5-hover:hover {
  --bs-bg-opacity: 0.05;
}
.bg-opacity-15 {
  --bs-bg-opacity: 0.15;
}
.bg-opacity-15-hover:hover {
  --bs-bg-opacity: 0.15;
}
.bg-opacity-20 {
  --bs-bg-opacity: 0.2;
}
.bg-opacity-20-hover:hover {
  --bs-bg-opacity: 0.2;
}
.bg-opacity-30 {
  --bs-bg-opacity: 0.3;
}
.bg-opacity-30-hover:hover {
  --bs-bg-opacity: 0.3;
}
.bg-opacity-35 {
  --bs-bg-opacity: 0.35;
}
.bg-opacity-35-hover:hover {
  --bs-bg-opacity: 0.35;
}
.bg-opacity-40 {
  --bs-bg-opacity: 0.4;
}
.bg-opacity-40-hover:hover {
  --bs-bg-opacity: 0.4;
}
.bg-opacity-45 {
  --bs-bg-opacity: 0.45;
}
.bg-opacity-45-hover:hover {
  --bs-bg-opacity: 0.45;
}
.bg-opacity-55 {
  --bs-bg-opacity: 0.55;
}
.bg-opacity-55-hover:hover {
  --bs-bg-opacity: 0.55;
}
.bg-opacity-60 {
  --bs-bg-opacity: 0.6;
}
.bg-opacity-60-hover:hover {
  --bs-bg-opacity: 0.6;
}
.bg-opacity-65 {
  --bs-bg-opacity: 0.65;
}
.bg-opacity-65-hover:hover {
  --bs-bg-opacity: 0.65;
}
.bg-opacity-70 {
  --bs-bg-opacity: 0.7;
}
.bg-opacity-70-hover:hover {
  --bs-bg-opacity: 0.7;
}
.bg-opacity-80 {
  --bs-bg-opacity: 0.8;
}
.bg-opacity-80-hover:hover {
  --bs-bg-opacity: 0.8;
}
.bg-opacity-85 {
  --bs-bg-opacity: 0.85;
}
.bg-opacity-85-hover:hover {
  --bs-bg-opacity: 0.85;
}
.bg-opacity-90 {
  --bs-bg-opacity: 0.9;
}
.bg-opacity-90-hover:hover {
  --bs-bg-opacity: 0.9;
}
.bg-opacity-95 {
  --bs-bg-opacity: 0.95;
}
.bg-opacity-95-hover:hover {
  --bs-bg-opacity: 0.95;
}
.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}
.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}
.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}
.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}
.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}
.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}
.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}
.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}
.bg-primary-desat-subtle {
  background-color: var(--bs-primary-desat-bg-subtle) !important;
}
.bg-white-subtle {
  background-color: var(--bs-white-bg-subtle) !important;
}
.bg-gray-700-subtle {
  background-color: var(--bs-gray-700-bg-subtle) !important;
}
.bg-gradient {
  background-image: var(--bs-gradient) !important;
}
.user-select-all {
  user-select: all !important;
}
.user-select-auto {
  user-select: auto !important;
}
.user-select-none {
  user-select: none !important;
}
.pe-none {
  pointer-events: none !important;
}
.pe-auto {
  pointer-events: auto !important;
}
.rounded {
  border-radius: var(--bs-border-radius) !important;
}
.rounded-0 {
  border-radius: 0 !important;
}
.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}
.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}
.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}
.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}
.rounded-circle {
  border-radius: 50% !important;
}
.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}
.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}
.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}
.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}
.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}
.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}
.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}
.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}
.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}
.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}
.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}
.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}
.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}
.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}
.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}
.z-n1 {
  z-index: -1 !important;
}
.z-0 {
  z-index: 0 !important;
}
.z-1 {
  z-index: 1 !important;
}
.z-2 {
  z-index: 2 !important;
}
.z-3 {
  z-index: 3 !important;
}
.letter-spacing-lg {
  letter-spacing: 0.08em !important;
}
@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .position-sm-static {
    position: static !important;
  }
  .position-sm-relative {
    position: relative !important;
  }
  .position-sm-absolute {
    position: absolute !important;
  }
  .position-sm-fixed {
    position: fixed !important;
  }
  .position-sm-sticky {
    position: sticky !important;
  }
  .border-sm {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-sm-0 {
    border: 0 !important;
  }
  .border-top-sm {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-top-sm-0 {
    border-top: 0 !important;
  }
  .border-end-sm {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-end-sm-0 {
    border-right: 0 !important;
  }
  .border-bottom-sm {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-bottom-sm-0 {
    border-bottom: 0 !important;
  }
  .border-start-sm {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-start-sm-0 {
    border-left: 0 !important;
  }
  .w-sm-25 {
    width: 25% !important;
  }
  .w-sm-50 {
    width: 50% !important;
  }
  .w-sm-75 {
    width: 75% !important;
  }
  .w-sm-100 {
    width: 100% !important;
  }
  .w-sm-auto {
    width: auto !important;
  }
  .w-sm-110 {
    width: 110% !important;
  }
  .w-sm-120 {
    width: 120% !important;
  }
  .w-sm-130 {
    width: 130% !important;
  }
  .w-sm-140 {
    width: 140% !important;
  }
  .w-sm-150 {
    width: 150% !important;
  }
  .mw-sm-100 {
    max-width: 100% !important;
  }
  .mw-sm-25 {
    max-width: 25% !important;
  }
  .mw-sm-50 {
    max-width: 50% !important;
  }
  .mw-sm-75 {
    max-width: 75% !important;
  }
  .mw-sm-110 {
    max-width: 110% !important;
  }
  .mw-sm-120 {
    max-width: 120% !important;
  }
  .mw-sm-130 {
    max-width: 130% !important;
  }
  .mw-sm-140 {
    max-width: 140% !important;
  }
  .mw-sm-150 {
    max-width: 150% !important;
  }
  .vw-sm-100 {
    width: 100vw !important;
  }
  .vw-sm-25 {
    width: 25vw !important;
  }
  .vw-sm-50 {
    width: 50vw !important;
  }
  .vw-sm-75 {
    width: 75vw !important;
  }
  .vw-sm-110 {
    width: 110vw !important;
  }
  .vw-sm-120 {
    width: 120vw !important;
  }
  .vw-sm-130 {
    width: 130vw !important;
  }
  .vw-sm-140 {
    width: 140vw !important;
  }
  .vw-sm-150 {
    width: 150vw !important;
  }
  .h-sm-25 {
    height: 25% !important;
  }
  .h-sm-50 {
    height: 50% !important;
  }
  .h-sm-75 {
    height: 75% !important;
  }
  .h-sm-100 {
    height: 100% !important;
  }
  .h-sm-auto {
    height: auto !important;
  }
  .h-sm-110 {
    height: 110% !important;
  }
  .h-sm-120 {
    height: 120% !important;
  }
  .h-sm-130 {
    height: 130% !important;
  }
  .h-sm-140 {
    height: 140% !important;
  }
  .h-sm-150 {
    height: 150% !important;
  }
  .vh-sm-100 {
    height: 100vh !important;
  }
  .vh-sm-25 {
    height: 25vw !important;
  }
  .vh-sm-50 {
    height: 50vw !important;
  }
  .vh-sm-75 {
    height: 75vw !important;
  }
  .vh-sm-110 {
    height: 110vw !important;
  }
  .vh-sm-120 {
    height: 120vw !important;
  }
  .vh-sm-130 {
    height: 130vw !important;
  }
  .vh-sm-140 {
    height: 140vw !important;
  }
  .vh-sm-150 {
    height: 150vw !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 0.75rem !important;
  }
  .m-sm-4 {
    margin: 1rem !important;
  }
  .m-sm-5 {
    margin: 1.5rem !important;
  }
  .m-sm-6 {
    margin: 2rem !important;
  }
  .m-sm-7 {
    margin: 2.5rem !important;
  }
  .m-sm-8 {
    margin: 3rem !important;
  }
  .m-sm-9 {
    margin: 4rem !important;
  }
  .m-sm-10 {
    margin: 5rem !important;
  }
  .m-sm-11 {
    margin: 6rem !important;
  }
  .m-sm-12 {
    margin: 8rem !important;
  }
  .m-sm-13 {
    margin: 10rem !important;
  }
  .m-sm-14 {
    margin: 12rem !important;
  }
  .m-sm-15 {
    margin: 16rem !important;
  }
  .m-sm-16 {
    margin: 25rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .mx-sm-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-sm-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .mx-sm-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-9 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-sm-10 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .mx-sm-11 {
    margin-right: 6rem !important;
    margin-left: 6rem !important;
  }
  .mx-sm-12 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-sm-13 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .mx-sm-14 {
    margin-right: 12rem !important;
    margin-left: 12rem !important;
  }
  .mx-sm-15 {
    margin-right: 16rem !important;
    margin-left: 16rem !important;
  }
  .mx-sm-16 {
    margin-right: 25rem !important;
    margin-left: 25rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .my-sm-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-sm-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .my-sm-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-9 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-sm-10 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .my-sm-11 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .my-sm-12 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-sm-13 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .my-sm-14 {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
  .my-sm-15 {
    margin-top: 16rem !important;
    margin-bottom: 16rem !important;
  }
  .my-sm-16 {
    margin-top: 25rem !important;
    margin-bottom: 25rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 0.75rem !important;
  }
  .mt-sm-4 {
    margin-top: 1rem !important;
  }
  .mt-sm-5 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-6 {
    margin-top: 2rem !important;
  }
  .mt-sm-7 {
    margin-top: 2.5rem !important;
  }
  .mt-sm-8 {
    margin-top: 3rem !important;
  }
  .mt-sm-9 {
    margin-top: 4rem !important;
  }
  .mt-sm-10 {
    margin-top: 5rem !important;
  }
  .mt-sm-11 {
    margin-top: 6rem !important;
  }
  .mt-sm-12 {
    margin-top: 8rem !important;
  }
  .mt-sm-13 {
    margin-top: 10rem !important;
  }
  .mt-sm-14 {
    margin-top: 12rem !important;
  }
  .mt-sm-15 {
    margin-top: 16rem !important;
  }
  .mt-sm-16 {
    margin-top: 25rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 0.75rem !important;
  }
  .me-sm-4 {
    margin-right: 1rem !important;
  }
  .me-sm-5 {
    margin-right: 1.5rem !important;
  }
  .me-sm-6 {
    margin-right: 2rem !important;
  }
  .me-sm-7 {
    margin-right: 2.5rem !important;
  }
  .me-sm-8 {
    margin-right: 3rem !important;
  }
  .me-sm-9 {
    margin-right: 4rem !important;
  }
  .me-sm-10 {
    margin-right: 5rem !important;
  }
  .me-sm-11 {
    margin-right: 6rem !important;
  }
  .me-sm-12 {
    margin-right: 8rem !important;
  }
  .me-sm-13 {
    margin-right: 10rem !important;
  }
  .me-sm-14 {
    margin-right: 12rem !important;
  }
  .me-sm-15 {
    margin-right: 16rem !important;
  }
  .me-sm-16 {
    margin-right: 25rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 0.75rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-6 {
    margin-bottom: 2rem !important;
  }
  .mb-sm-7 {
    margin-bottom: 2.5rem !important;
  }
  .mb-sm-8 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-9 {
    margin-bottom: 4rem !important;
  }
  .mb-sm-10 {
    margin-bottom: 5rem !important;
  }
  .mb-sm-11 {
    margin-bottom: 6rem !important;
  }
  .mb-sm-12 {
    margin-bottom: 8rem !important;
  }
  .mb-sm-13 {
    margin-bottom: 10rem !important;
  }
  .mb-sm-14 {
    margin-bottom: 12rem !important;
  }
  .mb-sm-15 {
    margin-bottom: 16rem !important;
  }
  .mb-sm-16 {
    margin-bottom: 25rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 0.75rem !important;
  }
  .ms-sm-4 {
    margin-left: 1rem !important;
  }
  .ms-sm-5 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-6 {
    margin-left: 2rem !important;
  }
  .ms-sm-7 {
    margin-left: 2.5rem !important;
  }
  .ms-sm-8 {
    margin-left: 3rem !important;
  }
  .ms-sm-9 {
    margin-left: 4rem !important;
  }
  .ms-sm-10 {
    margin-left: 5rem !important;
  }
  .ms-sm-11 {
    margin-left: 6rem !important;
  }
  .ms-sm-12 {
    margin-left: 8rem !important;
  }
  .ms-sm-13 {
    margin-left: 10rem !important;
  }
  .ms-sm-14 {
    margin-left: 12rem !important;
  }
  .ms-sm-15 {
    margin-left: 16rem !important;
  }
  .ms-sm-16 {
    margin-left: 25rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -0.75rem !important;
  }
  .m-sm-n4 {
    margin: -1rem !important;
  }
  .m-sm-n5 {
    margin: -1.5rem !important;
  }
  .m-sm-n6 {
    margin: -2rem !important;
  }
  .m-sm-n7 {
    margin: -2.5rem !important;
  }
  .m-sm-n8 {
    margin: -3rem !important;
  }
  .m-sm-n9 {
    margin: -4rem !important;
  }
  .m-sm-n10 {
    margin: -5rem !important;
  }
  .m-sm-n11 {
    margin: -6rem !important;
  }
  .m-sm-n12 {
    margin: -8rem !important;
  }
  .m-sm-n13 {
    margin: -10rem !important;
  }
  .m-sm-n14 {
    margin: -12rem !important;
  }
  .m-sm-n15 {
    margin: -16rem !important;
  }
  .m-sm-n16 {
    margin: -25rem !important;
  }
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-sm-n3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
  .mx-sm-n4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-sm-n5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-sm-n6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
  .mx-sm-n7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
  .mx-sm-n8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-sm-n9 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-sm-n10 {
    margin-right: -5rem !important;
    margin-left: -5rem !important;
  }
  .mx-sm-n11 {
    margin-right: -6rem !important;
    margin-left: -6rem !important;
  }
  .mx-sm-n12 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-sm-n13 {
    margin-right: -10rem !important;
    margin-left: -10rem !important;
  }
  .mx-sm-n14 {
    margin-right: -12rem !important;
    margin-left: -12rem !important;
  }
  .mx-sm-n15 {
    margin-right: -16rem !important;
    margin-left: -16rem !important;
  }
  .mx-sm-n16 {
    margin-right: -25rem !important;
    margin-left: -25rem !important;
  }
  .my-sm-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-sm-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-sm-n3 {
    margin-top: -0.75rem !important;
    margin-bottom: -0.75rem !important;
  }
  .my-sm-n4 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-sm-n5 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-sm-n6 {
    margin-top: -2rem !important;
    margin-bottom: -2rem !important;
  }
  .my-sm-n7 {
    margin-top: -2.5rem !important;
    margin-bottom: -2.5rem !important;
  }
  .my-sm-n8 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-sm-n9 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-sm-n10 {
    margin-top: -5rem !important;
    margin-bottom: -5rem !important;
  }
  .my-sm-n11 {
    margin-top: -6rem !important;
    margin-bottom: -6rem !important;
  }
  .my-sm-n12 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-sm-n13 {
    margin-top: -10rem !important;
    margin-bottom: -10rem !important;
  }
  .my-sm-n14 {
    margin-top: -12rem !important;
    margin-bottom: -12rem !important;
  }
  .my-sm-n15 {
    margin-top: -16rem !important;
    margin-bottom: -16rem !important;
  }
  .my-sm-n16 {
    margin-top: -25rem !important;
    margin-bottom: -25rem !important;
  }
  .mt-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-sm-n3 {
    margin-top: -0.75rem !important;
  }
  .mt-sm-n4 {
    margin-top: -1rem !important;
  }
  .mt-sm-n5 {
    margin-top: -1.5rem !important;
  }
  .mt-sm-n6 {
    margin-top: -2rem !important;
  }
  .mt-sm-n7 {
    margin-top: -2.5rem !important;
  }
  .mt-sm-n8 {
    margin-top: -3rem !important;
  }
  .mt-sm-n9 {
    margin-top: -4rem !important;
  }
  .mt-sm-n10 {
    margin-top: -5rem !important;
  }
  .mt-sm-n11 {
    margin-top: -6rem !important;
  }
  .mt-sm-n12 {
    margin-top: -8rem !important;
  }
  .mt-sm-n13 {
    margin-top: -10rem !important;
  }
  .mt-sm-n14 {
    margin-top: -12rem !important;
  }
  .mt-sm-n15 {
    margin-top: -16rem !important;
  }
  .mt-sm-n16 {
    margin-top: -25rem !important;
  }
  .me-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .me-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .me-sm-n3 {
    margin-right: -0.75rem !important;
  }
  .me-sm-n4 {
    margin-right: -1rem !important;
  }
  .me-sm-n5 {
    margin-right: -1.5rem !important;
  }
  .me-sm-n6 {
    margin-right: -2rem !important;
  }
  .me-sm-n7 {
    margin-right: -2.5rem !important;
  }
  .me-sm-n8 {
    margin-right: -3rem !important;
  }
  .me-sm-n9 {
    margin-right: -4rem !important;
  }
  .me-sm-n10 {
    margin-right: -5rem !important;
  }
  .me-sm-n11 {
    margin-right: -6rem !important;
  }
  .me-sm-n12 {
    margin-right: -8rem !important;
  }
  .me-sm-n13 {
    margin-right: -10rem !important;
  }
  .me-sm-n14 {
    margin-right: -12rem !important;
  }
  .me-sm-n15 {
    margin-right: -16rem !important;
  }
  .me-sm-n16 {
    margin-right: -25rem !important;
  }
  .mb-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-sm-n3 {
    margin-bottom: -0.75rem !important;
  }
  .mb-sm-n4 {
    margin-bottom: -1rem !important;
  }
  .mb-sm-n5 {
    margin-bottom: -1.5rem !important;
  }
  .mb-sm-n6 {
    margin-bottom: -2rem !important;
  }
  .mb-sm-n7 {
    margin-bottom: -2.5rem !important;
  }
  .mb-sm-n8 {
    margin-bottom: -3rem !important;
  }
  .mb-sm-n9 {
    margin-bottom: -4rem !important;
  }
  .mb-sm-n10 {
    margin-bottom: -5rem !important;
  }
  .mb-sm-n11 {
    margin-bottom: -6rem !important;
  }
  .mb-sm-n12 {
    margin-bottom: -8rem !important;
  }
  .mb-sm-n13 {
    margin-bottom: -10rem !important;
  }
  .mb-sm-n14 {
    margin-bottom: -12rem !important;
  }
  .mb-sm-n15 {
    margin-bottom: -16rem !important;
  }
  .mb-sm-n16 {
    margin-bottom: -25rem !important;
  }
  .ms-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-sm-n3 {
    margin-left: -0.75rem !important;
  }
  .ms-sm-n4 {
    margin-left: -1rem !important;
  }
  .ms-sm-n5 {
    margin-left: -1.5rem !important;
  }
  .ms-sm-n6 {
    margin-left: -2rem !important;
  }
  .ms-sm-n7 {
    margin-left: -2.5rem !important;
  }
  .ms-sm-n8 {
    margin-left: -3rem !important;
  }
  .ms-sm-n9 {
    margin-left: -4rem !important;
  }
  .ms-sm-n10 {
    margin-left: -5rem !important;
  }
  .ms-sm-n11 {
    margin-left: -6rem !important;
  }
  .ms-sm-n12 {
    margin-left: -8rem !important;
  }
  .ms-sm-n13 {
    margin-left: -10rem !important;
  }
  .ms-sm-n14 {
    margin-left: -12rem !important;
  }
  .ms-sm-n15 {
    margin-left: -16rem !important;
  }
  .ms-sm-n16 {
    margin-left: -25rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 0.75rem !important;
  }
  .p-sm-4 {
    padding: 1rem !important;
  }
  .p-sm-5 {
    padding: 1.5rem !important;
  }
  .p-sm-6 {
    padding: 2rem !important;
  }
  .p-sm-7 {
    padding: 2.5rem !important;
  }
  .p-sm-8 {
    padding: 3rem !important;
  }
  .p-sm-9 {
    padding: 4rem !important;
  }
  .p-sm-10 {
    padding: 5rem !important;
  }
  .p-sm-11 {
    padding: 6rem !important;
  }
  .p-sm-12 {
    padding: 8rem !important;
  }
  .p-sm-13 {
    padding: 10rem !important;
  }
  .p-sm-14 {
    padding: 12rem !important;
  }
  .p-sm-15 {
    padding: 16rem !important;
  }
  .p-sm-16 {
    padding: 25rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .px-sm-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-sm-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .px-sm-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-sm-9 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-sm-10 {
    padding-right: 5rem !important;
    padding-left: 5rem !important;
  }
  .px-sm-11 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .px-sm-12 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-sm-13 {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
  }
  .px-sm-14 {
    padding-right: 12rem !important;
    padding-left: 12rem !important;
  }
  .px-sm-15 {
    padding-right: 16rem !important;
    padding-left: 16rem !important;
  }
  .px-sm-16 {
    padding-right: 25rem !important;
    padding-left: 25rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .py-sm-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-sm-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .py-sm-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-sm-9 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-sm-10 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .py-sm-11 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .py-sm-12 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-sm-13 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  .py-sm-14 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
  .py-sm-15 {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
  }
  .py-sm-16 {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 0.75rem !important;
  }
  .pt-sm-4 {
    padding-top: 1rem !important;
  }
  .pt-sm-5 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-6 {
    padding-top: 2rem !important;
  }
  .pt-sm-7 {
    padding-top: 2.5rem !important;
  }
  .pt-sm-8 {
    padding-top: 3rem !important;
  }
  .pt-sm-9 {
    padding-top: 4rem !important;
  }
  .pt-sm-10 {
    padding-top: 5rem !important;
  }
  .pt-sm-11 {
    padding-top: 6rem !important;
  }
  .pt-sm-12 {
    padding-top: 8rem !important;
  }
  .pt-sm-13 {
    padding-top: 10rem !important;
  }
  .pt-sm-14 {
    padding-top: 12rem !important;
  }
  .pt-sm-15 {
    padding-top: 16rem !important;
  }
  .pt-sm-16 {
    padding-top: 25rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 0.75rem !important;
  }
  .pe-sm-4 {
    padding-right: 1rem !important;
  }
  .pe-sm-5 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-6 {
    padding-right: 2rem !important;
  }
  .pe-sm-7 {
    padding-right: 2.5rem !important;
  }
  .pe-sm-8 {
    padding-right: 3rem !important;
  }
  .pe-sm-9 {
    padding-right: 4rem !important;
  }
  .pe-sm-10 {
    padding-right: 5rem !important;
  }
  .pe-sm-11 {
    padding-right: 6rem !important;
  }
  .pe-sm-12 {
    padding-right: 8rem !important;
  }
  .pe-sm-13 {
    padding-right: 10rem !important;
  }
  .pe-sm-14 {
    padding-right: 12rem !important;
  }
  .pe-sm-15 {
    padding-right: 16rem !important;
  }
  .pe-sm-16 {
    padding-right: 25rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 0.75rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-6 {
    padding-bottom: 2rem !important;
  }
  .pb-sm-7 {
    padding-bottom: 2.5rem !important;
  }
  .pb-sm-8 {
    padding-bottom: 3rem !important;
  }
  .pb-sm-9 {
    padding-bottom: 4rem !important;
  }
  .pb-sm-10 {
    padding-bottom: 5rem !important;
  }
  .pb-sm-11 {
    padding-bottom: 6rem !important;
  }
  .pb-sm-12 {
    padding-bottom: 8rem !important;
  }
  .pb-sm-13 {
    padding-bottom: 10rem !important;
  }
  .pb-sm-14 {
    padding-bottom: 12rem !important;
  }
  .pb-sm-15 {
    padding-bottom: 16rem !important;
  }
  .pb-sm-16 {
    padding-bottom: 25rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 0.75rem !important;
  }
  .ps-sm-4 {
    padding-left: 1rem !important;
  }
  .ps-sm-5 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-6 {
    padding-left: 2rem !important;
  }
  .ps-sm-7 {
    padding-left: 2.5rem !important;
  }
  .ps-sm-8 {
    padding-left: 3rem !important;
  }
  .ps-sm-9 {
    padding-left: 4rem !important;
  }
  .ps-sm-10 {
    padding-left: 5rem !important;
  }
  .ps-sm-11 {
    padding-left: 6rem !important;
  }
  .ps-sm-12 {
    padding-left: 8rem !important;
  }
  .ps-sm-13 {
    padding-left: 10rem !important;
  }
  .ps-sm-14 {
    padding-left: 12rem !important;
  }
  .ps-sm-15 {
    padding-left: 16rem !important;
  }
  .ps-sm-16 {
    padding-left: 25rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 0.75rem !important;
  }
  .gap-sm-4 {
    gap: 1rem !important;
  }
  .gap-sm-5 {
    gap: 1.5rem !important;
  }
  .gap-sm-6 {
    gap: 2rem !important;
  }
  .gap-sm-7 {
    gap: 2.5rem !important;
  }
  .gap-sm-8 {
    gap: 3rem !important;
  }
  .gap-sm-9 {
    gap: 4rem !important;
  }
  .gap-sm-10 {
    gap: 5rem !important;
  }
  .gap-sm-11 {
    gap: 6rem !important;
  }
  .gap-sm-12 {
    gap: 8rem !important;
  }
  .gap-sm-13 {
    gap: 10rem !important;
  }
  .gap-sm-14 {
    gap: 12rem !important;
  }
  .gap-sm-15 {
    gap: 16rem !important;
  }
  .gap-sm-16 {
    gap: 25rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-6 {
    row-gap: 2rem !important;
  }
  .row-gap-sm-7 {
    row-gap: 2.5rem !important;
  }
  .row-gap-sm-8 {
    row-gap: 3rem !important;
  }
  .row-gap-sm-9 {
    row-gap: 4rem !important;
  }
  .row-gap-sm-10 {
    row-gap: 5rem !important;
  }
  .row-gap-sm-11 {
    row-gap: 6rem !important;
  }
  .row-gap-sm-12 {
    row-gap: 8rem !important;
  }
  .row-gap-sm-13 {
    row-gap: 10rem !important;
  }
  .row-gap-sm-14 {
    row-gap: 12rem !important;
  }
  .row-gap-sm-15 {
    row-gap: 16rem !important;
  }
  .row-gap-sm-16 {
    row-gap: 25rem !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 0.75rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-5 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-6 {
    column-gap: 2rem !important;
  }
  .column-gap-sm-7 {
    column-gap: 2.5rem !important;
  }
  .column-gap-sm-8 {
    column-gap: 3rem !important;
  }
  .column-gap-sm-9 {
    column-gap: 4rem !important;
  }
  .column-gap-sm-10 {
    column-gap: 5rem !important;
  }
  .column-gap-sm-11 {
    column-gap: 6rem !important;
  }
  .column-gap-sm-12 {
    column-gap: 8rem !important;
  }
  .column-gap-sm-13 {
    column-gap: 10rem !important;
  }
  .column-gap-sm-14 {
    column-gap: 12rem !important;
  }
  .column-gap-sm-15 {
    column-gap: 16rem !important;
  }
  .column-gap-sm-16 {
    column-gap: 25rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .position-md-static {
    position: static !important;
  }
  .position-md-relative {
    position: relative !important;
  }
  .position-md-absolute {
    position: absolute !important;
  }
  .position-md-fixed {
    position: fixed !important;
  }
  .position-md-sticky {
    position: sticky !important;
  }
  .border-md {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-md-0 {
    border: 0 !important;
  }
  .border-top-md {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-top-md-0 {
    border-top: 0 !important;
  }
  .border-end-md {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-end-md-0 {
    border-right: 0 !important;
  }
  .border-bottom-md {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-bottom-md-0 {
    border-bottom: 0 !important;
  }
  .border-start-md {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-start-md-0 {
    border-left: 0 !important;
  }
  .w-md-25 {
    width: 25% !important;
  }
  .w-md-50 {
    width: 50% !important;
  }
  .w-md-75 {
    width: 75% !important;
  }
  .w-md-100 {
    width: 100% !important;
  }
  .w-md-auto {
    width: auto !important;
  }
  .w-md-110 {
    width: 110% !important;
  }
  .w-md-120 {
    width: 120% !important;
  }
  .w-md-130 {
    width: 130% !important;
  }
  .w-md-140 {
    width: 140% !important;
  }
  .w-md-150 {
    width: 150% !important;
  }
  .mw-md-100 {
    max-width: 100% !important;
  }
  .mw-md-25 {
    max-width: 25% !important;
  }
  .mw-md-50 {
    max-width: 50% !important;
  }
  .mw-md-75 {
    max-width: 75% !important;
  }
  .mw-md-110 {
    max-width: 110% !important;
  }
  .mw-md-120 {
    max-width: 120% !important;
  }
  .mw-md-130 {
    max-width: 130% !important;
  }
  .mw-md-140 {
    max-width: 140% !important;
  }
  .mw-md-150 {
    max-width: 150% !important;
  }
  .vw-md-100 {
    width: 100vw !important;
  }
  .vw-md-25 {
    width: 25vw !important;
  }
  .vw-md-50 {
    width: 50vw !important;
  }
  .vw-md-75 {
    width: 75vw !important;
  }
  .vw-md-110 {
    width: 110vw !important;
  }
  .vw-md-120 {
    width: 120vw !important;
  }
  .vw-md-130 {
    width: 130vw !important;
  }
  .vw-md-140 {
    width: 140vw !important;
  }
  .vw-md-150 {
    width: 150vw !important;
  }
  .h-md-25 {
    height: 25% !important;
  }
  .h-md-50 {
    height: 50% !important;
  }
  .h-md-75 {
    height: 75% !important;
  }
  .h-md-100 {
    height: 100% !important;
  }
  .h-md-auto {
    height: auto !important;
  }
  .h-md-110 {
    height: 110% !important;
  }
  .h-md-120 {
    height: 120% !important;
  }
  .h-md-130 {
    height: 130% !important;
  }
  .h-md-140 {
    height: 140% !important;
  }
  .h-md-150 {
    height: 150% !important;
  }
  .vh-md-100 {
    height: 100vh !important;
  }
  .vh-md-25 {
    height: 25vw !important;
  }
  .vh-md-50 {
    height: 50vw !important;
  }
  .vh-md-75 {
    height: 75vw !important;
  }
  .vh-md-110 {
    height: 110vw !important;
  }
  .vh-md-120 {
    height: 120vw !important;
  }
  .vh-md-130 {
    height: 130vw !important;
  }
  .vh-md-140 {
    height: 140vw !important;
  }
  .vh-md-150 {
    height: 150vw !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 0.75rem !important;
  }
  .m-md-4 {
    margin: 1rem !important;
  }
  .m-md-5 {
    margin: 1.5rem !important;
  }
  .m-md-6 {
    margin: 2rem !important;
  }
  .m-md-7 {
    margin: 2.5rem !important;
  }
  .m-md-8 {
    margin: 3rem !important;
  }
  .m-md-9 {
    margin: 4rem !important;
  }
  .m-md-10 {
    margin: 5rem !important;
  }
  .m-md-11 {
    margin: 6rem !important;
  }
  .m-md-12 {
    margin: 8rem !important;
  }
  .m-md-13 {
    margin: 10rem !important;
  }
  .m-md-14 {
    margin: 12rem !important;
  }
  .m-md-15 {
    margin: 16rem !important;
  }
  .m-md-16 {
    margin: 25rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .mx-md-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-md-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .mx-md-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-9 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-md-10 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .mx-md-11 {
    margin-right: 6rem !important;
    margin-left: 6rem !important;
  }
  .mx-md-12 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-md-13 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .mx-md-14 {
    margin-right: 12rem !important;
    margin-left: 12rem !important;
  }
  .mx-md-15 {
    margin-right: 16rem !important;
    margin-left: 16rem !important;
  }
  .mx-md-16 {
    margin-right: 25rem !important;
    margin-left: 25rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .my-md-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-md-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .my-md-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-9 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-md-10 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .my-md-11 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .my-md-12 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-md-13 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .my-md-14 {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
  .my-md-15 {
    margin-top: 16rem !important;
    margin-bottom: 16rem !important;
  }
  .my-md-16 {
    margin-top: 25rem !important;
    margin-bottom: 25rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 0.75rem !important;
  }
  .mt-md-4 {
    margin-top: 1rem !important;
  }
  .mt-md-5 {
    margin-top: 1.5rem !important;
  }
  .mt-md-6 {
    margin-top: 2rem !important;
  }
  .mt-md-7 {
    margin-top: 2.5rem !important;
  }
  .mt-md-8 {
    margin-top: 3rem !important;
  }
  .mt-md-9 {
    margin-top: 4rem !important;
  }
  .mt-md-10 {
    margin-top: 5rem !important;
  }
  .mt-md-11 {
    margin-top: 6rem !important;
  }
  .mt-md-12 {
    margin-top: 8rem !important;
  }
  .mt-md-13 {
    margin-top: 10rem !important;
  }
  .mt-md-14 {
    margin-top: 12rem !important;
  }
  .mt-md-15 {
    margin-top: 16rem !important;
  }
  .mt-md-16 {
    margin-top: 25rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 0.75rem !important;
  }
  .me-md-4 {
    margin-right: 1rem !important;
  }
  .me-md-5 {
    margin-right: 1.5rem !important;
  }
  .me-md-6 {
    margin-right: 2rem !important;
  }
  .me-md-7 {
    margin-right: 2.5rem !important;
  }
  .me-md-8 {
    margin-right: 3rem !important;
  }
  .me-md-9 {
    margin-right: 4rem !important;
  }
  .me-md-10 {
    margin-right: 5rem !important;
  }
  .me-md-11 {
    margin-right: 6rem !important;
  }
  .me-md-12 {
    margin-right: 8rem !important;
  }
  .me-md-13 {
    margin-right: 10rem !important;
  }
  .me-md-14 {
    margin-right: 12rem !important;
  }
  .me-md-15 {
    margin-right: 16rem !important;
  }
  .me-md-16 {
    margin-right: 25rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 0.75rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1rem !important;
  }
  .mb-md-5 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-6 {
    margin-bottom: 2rem !important;
  }
  .mb-md-7 {
    margin-bottom: 2.5rem !important;
  }
  .mb-md-8 {
    margin-bottom: 3rem !important;
  }
  .mb-md-9 {
    margin-bottom: 4rem !important;
  }
  .mb-md-10 {
    margin-bottom: 5rem !important;
  }
  .mb-md-11 {
    margin-bottom: 6rem !important;
  }
  .mb-md-12 {
    margin-bottom: 8rem !important;
  }
  .mb-md-13 {
    margin-bottom: 10rem !important;
  }
  .mb-md-14 {
    margin-bottom: 12rem !important;
  }
  .mb-md-15 {
    margin-bottom: 16rem !important;
  }
  .mb-md-16 {
    margin-bottom: 25rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 0.75rem !important;
  }
  .ms-md-4 {
    margin-left: 1rem !important;
  }
  .ms-md-5 {
    margin-left: 1.5rem !important;
  }
  .ms-md-6 {
    margin-left: 2rem !important;
  }
  .ms-md-7 {
    margin-left: 2.5rem !important;
  }
  .ms-md-8 {
    margin-left: 3rem !important;
  }
  .ms-md-9 {
    margin-left: 4rem !important;
  }
  .ms-md-10 {
    margin-left: 5rem !important;
  }
  .ms-md-11 {
    margin-left: 6rem !important;
  }
  .ms-md-12 {
    margin-left: 8rem !important;
  }
  .ms-md-13 {
    margin-left: 10rem !important;
  }
  .ms-md-14 {
    margin-left: 12rem !important;
  }
  .ms-md-15 {
    margin-left: 16rem !important;
  }
  .ms-md-16 {
    margin-left: 25rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -0.75rem !important;
  }
  .m-md-n4 {
    margin: -1rem !important;
  }
  .m-md-n5 {
    margin: -1.5rem !important;
  }
  .m-md-n6 {
    margin: -2rem !important;
  }
  .m-md-n7 {
    margin: -2.5rem !important;
  }
  .m-md-n8 {
    margin: -3rem !important;
  }
  .m-md-n9 {
    margin: -4rem !important;
  }
  .m-md-n10 {
    margin: -5rem !important;
  }
  .m-md-n11 {
    margin: -6rem !important;
  }
  .m-md-n12 {
    margin: -8rem !important;
  }
  .m-md-n13 {
    margin: -10rem !important;
  }
  .m-md-n14 {
    margin: -12rem !important;
  }
  .m-md-n15 {
    margin: -16rem !important;
  }
  .m-md-n16 {
    margin: -25rem !important;
  }
  .mx-md-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-md-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-md-n3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
  .mx-md-n4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-md-n5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-md-n6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
  .mx-md-n7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
  .mx-md-n8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-md-n9 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-md-n10 {
    margin-right: -5rem !important;
    margin-left: -5rem !important;
  }
  .mx-md-n11 {
    margin-right: -6rem !important;
    margin-left: -6rem !important;
  }
  .mx-md-n12 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-md-n13 {
    margin-right: -10rem !important;
    margin-left: -10rem !important;
  }
  .mx-md-n14 {
    margin-right: -12rem !important;
    margin-left: -12rem !important;
  }
  .mx-md-n15 {
    margin-right: -16rem !important;
    margin-left: -16rem !important;
  }
  .mx-md-n16 {
    margin-right: -25rem !important;
    margin-left: -25rem !important;
  }
  .my-md-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-md-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-md-n3 {
    margin-top: -0.75rem !important;
    margin-bottom: -0.75rem !important;
  }
  .my-md-n4 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-md-n5 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-md-n6 {
    margin-top: -2rem !important;
    margin-bottom: -2rem !important;
  }
  .my-md-n7 {
    margin-top: -2.5rem !important;
    margin-bottom: -2.5rem !important;
  }
  .my-md-n8 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-md-n9 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-md-n10 {
    margin-top: -5rem !important;
    margin-bottom: -5rem !important;
  }
  .my-md-n11 {
    margin-top: -6rem !important;
    margin-bottom: -6rem !important;
  }
  .my-md-n12 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-md-n13 {
    margin-top: -10rem !important;
    margin-bottom: -10rem !important;
  }
  .my-md-n14 {
    margin-top: -12rem !important;
    margin-bottom: -12rem !important;
  }
  .my-md-n15 {
    margin-top: -16rem !important;
    margin-bottom: -16rem !important;
  }
  .my-md-n16 {
    margin-top: -25rem !important;
    margin-bottom: -25rem !important;
  }
  .mt-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-md-n3 {
    margin-top: -0.75rem !important;
  }
  .mt-md-n4 {
    margin-top: -1rem !important;
  }
  .mt-md-n5 {
    margin-top: -1.5rem !important;
  }
  .mt-md-n6 {
    margin-top: -2rem !important;
  }
  .mt-md-n7 {
    margin-top: -2.5rem !important;
  }
  .mt-md-n8 {
    margin-top: -3rem !important;
  }
  .mt-md-n9 {
    margin-top: -4rem !important;
  }
  .mt-md-n10 {
    margin-top: -5rem !important;
  }
  .mt-md-n11 {
    margin-top: -6rem !important;
  }
  .mt-md-n12 {
    margin-top: -8rem !important;
  }
  .mt-md-n13 {
    margin-top: -10rem !important;
  }
  .mt-md-n14 {
    margin-top: -12rem !important;
  }
  .mt-md-n15 {
    margin-top: -16rem !important;
  }
  .mt-md-n16 {
    margin-top: -25rem !important;
  }
  .me-md-n1 {
    margin-right: -0.25rem !important;
  }
  .me-md-n2 {
    margin-right: -0.5rem !important;
  }
  .me-md-n3 {
    margin-right: -0.75rem !important;
  }
  .me-md-n4 {
    margin-right: -1rem !important;
  }
  .me-md-n5 {
    margin-right: -1.5rem !important;
  }
  .me-md-n6 {
    margin-right: -2rem !important;
  }
  .me-md-n7 {
    margin-right: -2.5rem !important;
  }
  .me-md-n8 {
    margin-right: -3rem !important;
  }
  .me-md-n9 {
    margin-right: -4rem !important;
  }
  .me-md-n10 {
    margin-right: -5rem !important;
  }
  .me-md-n11 {
    margin-right: -6rem !important;
  }
  .me-md-n12 {
    margin-right: -8rem !important;
  }
  .me-md-n13 {
    margin-right: -10rem !important;
  }
  .me-md-n14 {
    margin-right: -12rem !important;
  }
  .me-md-n15 {
    margin-right: -16rem !important;
  }
  .me-md-n16 {
    margin-right: -25rem !important;
  }
  .mb-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-md-n3 {
    margin-bottom: -0.75rem !important;
  }
  .mb-md-n4 {
    margin-bottom: -1rem !important;
  }
  .mb-md-n5 {
    margin-bottom: -1.5rem !important;
  }
  .mb-md-n6 {
    margin-bottom: -2rem !important;
  }
  .mb-md-n7 {
    margin-bottom: -2.5rem !important;
  }
  .mb-md-n8 {
    margin-bottom: -3rem !important;
  }
  .mb-md-n9 {
    margin-bottom: -4rem !important;
  }
  .mb-md-n10 {
    margin-bottom: -5rem !important;
  }
  .mb-md-n11 {
    margin-bottom: -6rem !important;
  }
  .mb-md-n12 {
    margin-bottom: -8rem !important;
  }
  .mb-md-n13 {
    margin-bottom: -10rem !important;
  }
  .mb-md-n14 {
    margin-bottom: -12rem !important;
  }
  .mb-md-n15 {
    margin-bottom: -16rem !important;
  }
  .mb-md-n16 {
    margin-bottom: -25rem !important;
  }
  .ms-md-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-md-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-md-n3 {
    margin-left: -0.75rem !important;
  }
  .ms-md-n4 {
    margin-left: -1rem !important;
  }
  .ms-md-n5 {
    margin-left: -1.5rem !important;
  }
  .ms-md-n6 {
    margin-left: -2rem !important;
  }
  .ms-md-n7 {
    margin-left: -2.5rem !important;
  }
  .ms-md-n8 {
    margin-left: -3rem !important;
  }
  .ms-md-n9 {
    margin-left: -4rem !important;
  }
  .ms-md-n10 {
    margin-left: -5rem !important;
  }
  .ms-md-n11 {
    margin-left: -6rem !important;
  }
  .ms-md-n12 {
    margin-left: -8rem !important;
  }
  .ms-md-n13 {
    margin-left: -10rem !important;
  }
  .ms-md-n14 {
    margin-left: -12rem !important;
  }
  .ms-md-n15 {
    margin-left: -16rem !important;
  }
  .ms-md-n16 {
    margin-left: -25rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 0.75rem !important;
  }
  .p-md-4 {
    padding: 1rem !important;
  }
  .p-md-5 {
    padding: 1.5rem !important;
  }
  .p-md-6 {
    padding: 2rem !important;
  }
  .p-md-7 {
    padding: 2.5rem !important;
  }
  .p-md-8 {
    padding: 3rem !important;
  }
  .p-md-9 {
    padding: 4rem !important;
  }
  .p-md-10 {
    padding: 5rem !important;
  }
  .p-md-11 {
    padding: 6rem !important;
  }
  .p-md-12 {
    padding: 8rem !important;
  }
  .p-md-13 {
    padding: 10rem !important;
  }
  .p-md-14 {
    padding: 12rem !important;
  }
  .p-md-15 {
    padding: 16rem !important;
  }
  .p-md-16 {
    padding: 25rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .px-md-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-md-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .px-md-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-md-9 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-md-10 {
    padding-right: 5rem !important;
    padding-left: 5rem !important;
  }
  .px-md-11 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .px-md-12 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-md-13 {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
  }
  .px-md-14 {
    padding-right: 12rem !important;
    padding-left: 12rem !important;
  }
  .px-md-15 {
    padding-right: 16rem !important;
    padding-left: 16rem !important;
  }
  .px-md-16 {
    padding-right: 25rem !important;
    padding-left: 25rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .py-md-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-md-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .py-md-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-md-9 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-md-10 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .py-md-11 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .py-md-12 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-md-13 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  .py-md-14 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
  .py-md-15 {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
  }
  .py-md-16 {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 0.75rem !important;
  }
  .pt-md-4 {
    padding-top: 1rem !important;
  }
  .pt-md-5 {
    padding-top: 1.5rem !important;
  }
  .pt-md-6 {
    padding-top: 2rem !important;
  }
  .pt-md-7 {
    padding-top: 2.5rem !important;
  }
  .pt-md-8 {
    padding-top: 3rem !important;
  }
  .pt-md-9 {
    padding-top: 4rem !important;
  }
  .pt-md-10 {
    padding-top: 5rem !important;
  }
  .pt-md-11 {
    padding-top: 6rem !important;
  }
  .pt-md-12 {
    padding-top: 8rem !important;
  }
  .pt-md-13 {
    padding-top: 10rem !important;
  }
  .pt-md-14 {
    padding-top: 12rem !important;
  }
  .pt-md-15 {
    padding-top: 16rem !important;
  }
  .pt-md-16 {
    padding-top: 25rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 0.75rem !important;
  }
  .pe-md-4 {
    padding-right: 1rem !important;
  }
  .pe-md-5 {
    padding-right: 1.5rem !important;
  }
  .pe-md-6 {
    padding-right: 2rem !important;
  }
  .pe-md-7 {
    padding-right: 2.5rem !important;
  }
  .pe-md-8 {
    padding-right: 3rem !important;
  }
  .pe-md-9 {
    padding-right: 4rem !important;
  }
  .pe-md-10 {
    padding-right: 5rem !important;
  }
  .pe-md-11 {
    padding-right: 6rem !important;
  }
  .pe-md-12 {
    padding-right: 8rem !important;
  }
  .pe-md-13 {
    padding-right: 10rem !important;
  }
  .pe-md-14 {
    padding-right: 12rem !important;
  }
  .pe-md-15 {
    padding-right: 16rem !important;
  }
  .pe-md-16 {
    padding-right: 25rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 0.75rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1rem !important;
  }
  .pb-md-5 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-6 {
    padding-bottom: 2rem !important;
  }
  .pb-md-7 {
    padding-bottom: 2.5rem !important;
  }
  .pb-md-8 {
    padding-bottom: 3rem !important;
  }
  .pb-md-9 {
    padding-bottom: 4rem !important;
  }
  .pb-md-10 {
    padding-bottom: 5rem !important;
  }
  .pb-md-11 {
    padding-bottom: 6rem !important;
  }
  .pb-md-12 {
    padding-bottom: 8rem !important;
  }
  .pb-md-13 {
    padding-bottom: 10rem !important;
  }
  .pb-md-14 {
    padding-bottom: 12rem !important;
  }
  .pb-md-15 {
    padding-bottom: 16rem !important;
  }
  .pb-md-16 {
    padding-bottom: 25rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 0.75rem !important;
  }
  .ps-md-4 {
    padding-left: 1rem !important;
  }
  .ps-md-5 {
    padding-left: 1.5rem !important;
  }
  .ps-md-6 {
    padding-left: 2rem !important;
  }
  .ps-md-7 {
    padding-left: 2.5rem !important;
  }
  .ps-md-8 {
    padding-left: 3rem !important;
  }
  .ps-md-9 {
    padding-left: 4rem !important;
  }
  .ps-md-10 {
    padding-left: 5rem !important;
  }
  .ps-md-11 {
    padding-left: 6rem !important;
  }
  .ps-md-12 {
    padding-left: 8rem !important;
  }
  .ps-md-13 {
    padding-left: 10rem !important;
  }
  .ps-md-14 {
    padding-left: 12rem !important;
  }
  .ps-md-15 {
    padding-left: 16rem !important;
  }
  .ps-md-16 {
    padding-left: 25rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 0.75rem !important;
  }
  .gap-md-4 {
    gap: 1rem !important;
  }
  .gap-md-5 {
    gap: 1.5rem !important;
  }
  .gap-md-6 {
    gap: 2rem !important;
  }
  .gap-md-7 {
    gap: 2.5rem !important;
  }
  .gap-md-8 {
    gap: 3rem !important;
  }
  .gap-md-9 {
    gap: 4rem !important;
  }
  .gap-md-10 {
    gap: 5rem !important;
  }
  .gap-md-11 {
    gap: 6rem !important;
  }
  .gap-md-12 {
    gap: 8rem !important;
  }
  .gap-md-13 {
    gap: 10rem !important;
  }
  .gap-md-14 {
    gap: 12rem !important;
  }
  .gap-md-15 {
    gap: 16rem !important;
  }
  .gap-md-16 {
    gap: 25rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1rem !important;
  }
  .row-gap-md-5 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-6 {
    row-gap: 2rem !important;
  }
  .row-gap-md-7 {
    row-gap: 2.5rem !important;
  }
  .row-gap-md-8 {
    row-gap: 3rem !important;
  }
  .row-gap-md-9 {
    row-gap: 4rem !important;
  }
  .row-gap-md-10 {
    row-gap: 5rem !important;
  }
  .row-gap-md-11 {
    row-gap: 6rem !important;
  }
  .row-gap-md-12 {
    row-gap: 8rem !important;
  }
  .row-gap-md-13 {
    row-gap: 10rem !important;
  }
  .row-gap-md-14 {
    row-gap: 12rem !important;
  }
  .row-gap-md-15 {
    row-gap: 16rem !important;
  }
  .row-gap-md-16 {
    row-gap: 25rem !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 0.75rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1rem !important;
  }
  .column-gap-md-5 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-6 {
    column-gap: 2rem !important;
  }
  .column-gap-md-7 {
    column-gap: 2.5rem !important;
  }
  .column-gap-md-8 {
    column-gap: 3rem !important;
  }
  .column-gap-md-9 {
    column-gap: 4rem !important;
  }
  .column-gap-md-10 {
    column-gap: 5rem !important;
  }
  .column-gap-md-11 {
    column-gap: 6rem !important;
  }
  .column-gap-md-12 {
    column-gap: 8rem !important;
  }
  .column-gap-md-13 {
    column-gap: 10rem !important;
  }
  .column-gap-md-14 {
    column-gap: 12rem !important;
  }
  .column-gap-md-15 {
    column-gap: 16rem !important;
  }
  .column-gap-md-16 {
    column-gap: 25rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .position-lg-static {
    position: static !important;
  }
  .position-lg-relative {
    position: relative !important;
  }
  .position-lg-absolute {
    position: absolute !important;
  }
  .position-lg-fixed {
    position: fixed !important;
  }
  .position-lg-sticky {
    position: sticky !important;
  }
  .border-lg {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-lg-0 {
    border: 0 !important;
  }
  .border-top-lg {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-top-lg-0 {
    border-top: 0 !important;
  }
  .border-end-lg {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-end-lg-0 {
    border-right: 0 !important;
  }
  .border-bottom-lg {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-bottom-lg-0 {
    border-bottom: 0 !important;
  }
  .border-start-lg {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-start-lg-0 {
    border-left: 0 !important;
  }
  .w-lg-25 {
    width: 25% !important;
  }
  .w-lg-50 {
    width: 50% !important;
  }
  .w-lg-75 {
    width: 75% !important;
  }
  .w-lg-100 {
    width: 100% !important;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .w-lg-110 {
    width: 110% !important;
  }
  .w-lg-120 {
    width: 120% !important;
  }
  .w-lg-130 {
    width: 130% !important;
  }
  .w-lg-140 {
    width: 140% !important;
  }
  .w-lg-150 {
    width: 150% !important;
  }
  .mw-lg-100 {
    max-width: 100% !important;
  }
  .mw-lg-25 {
    max-width: 25% !important;
  }
  .mw-lg-50 {
    max-width: 50% !important;
  }
  .mw-lg-75 {
    max-width: 75% !important;
  }
  .mw-lg-110 {
    max-width: 110% !important;
  }
  .mw-lg-120 {
    max-width: 120% !important;
  }
  .mw-lg-130 {
    max-width: 130% !important;
  }
  .mw-lg-140 {
    max-width: 140% !important;
  }
  .mw-lg-150 {
    max-width: 150% !important;
  }
  .vw-lg-100 {
    width: 100vw !important;
  }
  .vw-lg-25 {
    width: 25vw !important;
  }
  .vw-lg-50 {
    width: 50vw !important;
  }
  .vw-lg-75 {
    width: 75vw !important;
  }
  .vw-lg-110 {
    width: 110vw !important;
  }
  .vw-lg-120 {
    width: 120vw !important;
  }
  .vw-lg-130 {
    width: 130vw !important;
  }
  .vw-lg-140 {
    width: 140vw !important;
  }
  .vw-lg-150 {
    width: 150vw !important;
  }
  .h-lg-25 {
    height: 25% !important;
  }
  .h-lg-50 {
    height: 50% !important;
  }
  .h-lg-75 {
    height: 75% !important;
  }
  .h-lg-100 {
    height: 100% !important;
  }
  .h-lg-auto {
    height: auto !important;
  }
  .h-lg-110 {
    height: 110% !important;
  }
  .h-lg-120 {
    height: 120% !important;
  }
  .h-lg-130 {
    height: 130% !important;
  }
  .h-lg-140 {
    height: 140% !important;
  }
  .h-lg-150 {
    height: 150% !important;
  }
  .vh-lg-100 {
    height: 100vh !important;
  }
  .vh-lg-25 {
    height: 25vw !important;
  }
  .vh-lg-50 {
    height: 50vw !important;
  }
  .vh-lg-75 {
    height: 75vw !important;
  }
  .vh-lg-110 {
    height: 110vw !important;
  }
  .vh-lg-120 {
    height: 120vw !important;
  }
  .vh-lg-130 {
    height: 130vw !important;
  }
  .vh-lg-140 {
    height: 140vw !important;
  }
  .vh-lg-150 {
    height: 150vw !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 0.75rem !important;
  }
  .m-lg-4 {
    margin: 1rem !important;
  }
  .m-lg-5 {
    margin: 1.5rem !important;
  }
  .m-lg-6 {
    margin: 2rem !important;
  }
  .m-lg-7 {
    margin: 2.5rem !important;
  }
  .m-lg-8 {
    margin: 3rem !important;
  }
  .m-lg-9 {
    margin: 4rem !important;
  }
  .m-lg-10 {
    margin: 5rem !important;
  }
  .m-lg-11 {
    margin: 6rem !important;
  }
  .m-lg-12 {
    margin: 8rem !important;
  }
  .m-lg-13 {
    margin: 10rem !important;
  }
  .m-lg-14 {
    margin: 12rem !important;
  }
  .m-lg-15 {
    margin: 16rem !important;
  }
  .m-lg-16 {
    margin: 25rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .mx-lg-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-lg-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .mx-lg-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-9 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-lg-10 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .mx-lg-11 {
    margin-right: 6rem !important;
    margin-left: 6rem !important;
  }
  .mx-lg-12 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-lg-13 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .mx-lg-14 {
    margin-right: 12rem !important;
    margin-left: 12rem !important;
  }
  .mx-lg-15 {
    margin-right: 16rem !important;
    margin-left: 16rem !important;
  }
  .mx-lg-16 {
    margin-right: 25rem !important;
    margin-left: 25rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .my-lg-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-lg-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .my-lg-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-9 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-lg-10 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .my-lg-11 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .my-lg-12 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-lg-13 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .my-lg-14 {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
  .my-lg-15 {
    margin-top: 16rem !important;
    margin-bottom: 16rem !important;
  }
  .my-lg-16 {
    margin-top: 25rem !important;
    margin-bottom: 25rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 0.75rem !important;
  }
  .mt-lg-4 {
    margin-top: 1rem !important;
  }
  .mt-lg-5 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-6 {
    margin-top: 2rem !important;
  }
  .mt-lg-7 {
    margin-top: 2.5rem !important;
  }
  .mt-lg-8 {
    margin-top: 3rem !important;
  }
  .mt-lg-9 {
    margin-top: 4rem !important;
  }
  .mt-lg-10 {
    margin-top: 5rem !important;
  }
  .mt-lg-11 {
    margin-top: 6rem !important;
  }
  .mt-lg-12 {
    margin-top: 8rem !important;
  }
  .mt-lg-13 {
    margin-top: 10rem !important;
  }
  .mt-lg-14 {
    margin-top: 12rem !important;
  }
  .mt-lg-15 {
    margin-top: 16rem !important;
  }
  .mt-lg-16 {
    margin-top: 25rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 0.75rem !important;
  }
  .me-lg-4 {
    margin-right: 1rem !important;
  }
  .me-lg-5 {
    margin-right: 1.5rem !important;
  }
  .me-lg-6 {
    margin-right: 2rem !important;
  }
  .me-lg-7 {
    margin-right: 2.5rem !important;
  }
  .me-lg-8 {
    margin-right: 3rem !important;
  }
  .me-lg-9 {
    margin-right: 4rem !important;
  }
  .me-lg-10 {
    margin-right: 5rem !important;
  }
  .me-lg-11 {
    margin-right: 6rem !important;
  }
  .me-lg-12 {
    margin-right: 8rem !important;
  }
  .me-lg-13 {
    margin-right: 10rem !important;
  }
  .me-lg-14 {
    margin-right: 12rem !important;
  }
  .me-lg-15 {
    margin-right: 16rem !important;
  }
  .me-lg-16 {
    margin-right: 25rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 0.75rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-6 {
    margin-bottom: 2rem !important;
  }
  .mb-lg-7 {
    margin-bottom: 2.5rem !important;
  }
  .mb-lg-8 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-9 {
    margin-bottom: 4rem !important;
  }
  .mb-lg-10 {
    margin-bottom: 5rem !important;
  }
  .mb-lg-11 {
    margin-bottom: 6rem !important;
  }
  .mb-lg-12 {
    margin-bottom: 8rem !important;
  }
  .mb-lg-13 {
    margin-bottom: 10rem !important;
  }
  .mb-lg-14 {
    margin-bottom: 12rem !important;
  }
  .mb-lg-15 {
    margin-bottom: 16rem !important;
  }
  .mb-lg-16 {
    margin-bottom: 25rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 0.75rem !important;
  }
  .ms-lg-4 {
    margin-left: 1rem !important;
  }
  .ms-lg-5 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-6 {
    margin-left: 2rem !important;
  }
  .ms-lg-7 {
    margin-left: 2.5rem !important;
  }
  .ms-lg-8 {
    margin-left: 3rem !important;
  }
  .ms-lg-9 {
    margin-left: 4rem !important;
  }
  .ms-lg-10 {
    margin-left: 5rem !important;
  }
  .ms-lg-11 {
    margin-left: 6rem !important;
  }
  .ms-lg-12 {
    margin-left: 8rem !important;
  }
  .ms-lg-13 {
    margin-left: 10rem !important;
  }
  .ms-lg-14 {
    margin-left: 12rem !important;
  }
  .ms-lg-15 {
    margin-left: 16rem !important;
  }
  .ms-lg-16 {
    margin-left: 25rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -0.75rem !important;
  }
  .m-lg-n4 {
    margin: -1rem !important;
  }
  .m-lg-n5 {
    margin: -1.5rem !important;
  }
  .m-lg-n6 {
    margin: -2rem !important;
  }
  .m-lg-n7 {
    margin: -2.5rem !important;
  }
  .m-lg-n8 {
    margin: -3rem !important;
  }
  .m-lg-n9 {
    margin: -4rem !important;
  }
  .m-lg-n10 {
    margin: -5rem !important;
  }
  .m-lg-n11 {
    margin: -6rem !important;
  }
  .m-lg-n12 {
    margin: -8rem !important;
  }
  .m-lg-n13 {
    margin: -10rem !important;
  }
  .m-lg-n14 {
    margin: -12rem !important;
  }
  .m-lg-n15 {
    margin: -16rem !important;
  }
  .m-lg-n16 {
    margin: -25rem !important;
  }
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-lg-n3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
  .mx-lg-n4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-lg-n5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-lg-n6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
  .mx-lg-n7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
  .mx-lg-n8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-lg-n9 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-lg-n10 {
    margin-right: -5rem !important;
    margin-left: -5rem !important;
  }
  .mx-lg-n11 {
    margin-right: -6rem !important;
    margin-left: -6rem !important;
  }
  .mx-lg-n12 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-lg-n13 {
    margin-right: -10rem !important;
    margin-left: -10rem !important;
  }
  .mx-lg-n14 {
    margin-right: -12rem !important;
    margin-left: -12rem !important;
  }
  .mx-lg-n15 {
    margin-right: -16rem !important;
    margin-left: -16rem !important;
  }
  .mx-lg-n16 {
    margin-right: -25rem !important;
    margin-left: -25rem !important;
  }
  .my-lg-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-lg-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-lg-n3 {
    margin-top: -0.75rem !important;
    margin-bottom: -0.75rem !important;
  }
  .my-lg-n4 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-lg-n5 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-lg-n6 {
    margin-top: -2rem !important;
    margin-bottom: -2rem !important;
  }
  .my-lg-n7 {
    margin-top: -2.5rem !important;
    margin-bottom: -2.5rem !important;
  }
  .my-lg-n8 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-lg-n9 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-lg-n10 {
    margin-top: -5rem !important;
    margin-bottom: -5rem !important;
  }
  .my-lg-n11 {
    margin-top: -6rem !important;
    margin-bottom: -6rem !important;
  }
  .my-lg-n12 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-lg-n13 {
    margin-top: -10rem !important;
    margin-bottom: -10rem !important;
  }
  .my-lg-n14 {
    margin-top: -12rem !important;
    margin-bottom: -12rem !important;
  }
  .my-lg-n15 {
    margin-top: -16rem !important;
    margin-bottom: -16rem !important;
  }
  .my-lg-n16 {
    margin-top: -25rem !important;
    margin-bottom: -25rem !important;
  }
  .mt-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-lg-n3 {
    margin-top: -0.75rem !important;
  }
  .mt-lg-n4 {
    margin-top: -1rem !important;
  }
  .mt-lg-n5 {
    margin-top: -1.5rem !important;
  }
  .mt-lg-n6 {
    margin-top: -2rem !important;
  }
  .mt-lg-n7 {
    margin-top: -2.5rem !important;
  }
  .mt-lg-n8 {
    margin-top: -3rem !important;
  }
  .mt-lg-n9 {
    margin-top: -4rem !important;
  }
  .mt-lg-n10 {
    margin-top: -5rem !important;
  }
  .mt-lg-n11 {
    margin-top: -6rem !important;
  }
  .mt-lg-n12 {
    margin-top: -8rem !important;
  }
  .mt-lg-n13 {
    margin-top: -10rem !important;
  }
  .mt-lg-n14 {
    margin-top: -12rem !important;
  }
  .mt-lg-n15 {
    margin-top: -16rem !important;
  }
  .mt-lg-n16 {
    margin-top: -25rem !important;
  }
  .me-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .me-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .me-lg-n3 {
    margin-right: -0.75rem !important;
  }
  .me-lg-n4 {
    margin-right: -1rem !important;
  }
  .me-lg-n5 {
    margin-right: -1.5rem !important;
  }
  .me-lg-n6 {
    margin-right: -2rem !important;
  }
  .me-lg-n7 {
    margin-right: -2.5rem !important;
  }
  .me-lg-n8 {
    margin-right: -3rem !important;
  }
  .me-lg-n9 {
    margin-right: -4rem !important;
  }
  .me-lg-n10 {
    margin-right: -5rem !important;
  }
  .me-lg-n11 {
    margin-right: -6rem !important;
  }
  .me-lg-n12 {
    margin-right: -8rem !important;
  }
  .me-lg-n13 {
    margin-right: -10rem !important;
  }
  .me-lg-n14 {
    margin-right: -12rem !important;
  }
  .me-lg-n15 {
    margin-right: -16rem !important;
  }
  .me-lg-n16 {
    margin-right: -25rem !important;
  }
  .mb-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-lg-n3 {
    margin-bottom: -0.75rem !important;
  }
  .mb-lg-n4 {
    margin-bottom: -1rem !important;
  }
  .mb-lg-n5 {
    margin-bottom: -1.5rem !important;
  }
  .mb-lg-n6 {
    margin-bottom: -2rem !important;
  }
  .mb-lg-n7 {
    margin-bottom: -2.5rem !important;
  }
  .mb-lg-n8 {
    margin-bottom: -3rem !important;
  }
  .mb-lg-n9 {
    margin-bottom: -4rem !important;
  }
  .mb-lg-n10 {
    margin-bottom: -5rem !important;
  }
  .mb-lg-n11 {
    margin-bottom: -6rem !important;
  }
  .mb-lg-n12 {
    margin-bottom: -8rem !important;
  }
  .mb-lg-n13 {
    margin-bottom: -10rem !important;
  }
  .mb-lg-n14 {
    margin-bottom: -12rem !important;
  }
  .mb-lg-n15 {
    margin-bottom: -16rem !important;
  }
  .mb-lg-n16 {
    margin-bottom: -25rem !important;
  }
  .ms-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-lg-n3 {
    margin-left: -0.75rem !important;
  }
  .ms-lg-n4 {
    margin-left: -1rem !important;
  }
  .ms-lg-n5 {
    margin-left: -1.5rem !important;
  }
  .ms-lg-n6 {
    margin-left: -2rem !important;
  }
  .ms-lg-n7 {
    margin-left: -2.5rem !important;
  }
  .ms-lg-n8 {
    margin-left: -3rem !important;
  }
  .ms-lg-n9 {
    margin-left: -4rem !important;
  }
  .ms-lg-n10 {
    margin-left: -5rem !important;
  }
  .ms-lg-n11 {
    margin-left: -6rem !important;
  }
  .ms-lg-n12 {
    margin-left: -8rem !important;
  }
  .ms-lg-n13 {
    margin-left: -10rem !important;
  }
  .ms-lg-n14 {
    margin-left: -12rem !important;
  }
  .ms-lg-n15 {
    margin-left: -16rem !important;
  }
  .ms-lg-n16 {
    margin-left: -25rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 0.75rem !important;
  }
  .p-lg-4 {
    padding: 1rem !important;
  }
  .p-lg-5 {
    padding: 1.5rem !important;
  }
  .p-lg-6 {
    padding: 2rem !important;
  }
  .p-lg-7 {
    padding: 2.5rem !important;
  }
  .p-lg-8 {
    padding: 3rem !important;
  }
  .p-lg-9 {
    padding: 4rem !important;
  }
  .p-lg-10 {
    padding: 5rem !important;
  }
  .p-lg-11 {
    padding: 6rem !important;
  }
  .p-lg-12 {
    padding: 8rem !important;
  }
  .p-lg-13 {
    padding: 10rem !important;
  }
  .p-lg-14 {
    padding: 12rem !important;
  }
  .p-lg-15 {
    padding: 16rem !important;
  }
  .p-lg-16 {
    padding: 25rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .px-lg-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-lg-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .px-lg-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-lg-9 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-lg-10 {
    padding-right: 5rem !important;
    padding-left: 5rem !important;
  }
  .px-lg-11 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .px-lg-12 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-lg-13 {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
  }
  .px-lg-14 {
    padding-right: 12rem !important;
    padding-left: 12rem !important;
  }
  .px-lg-15 {
    padding-right: 16rem !important;
    padding-left: 16rem !important;
  }
  .px-lg-16 {
    padding-right: 25rem !important;
    padding-left: 25rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .py-lg-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-lg-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .py-lg-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-lg-9 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-lg-10 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .py-lg-11 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .py-lg-12 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-lg-13 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  .py-lg-14 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
  .py-lg-15 {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
  }
  .py-lg-16 {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 0.75rem !important;
  }
  .pt-lg-4 {
    padding-top: 1rem !important;
  }
  .pt-lg-5 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-6 {
    padding-top: 2rem !important;
  }
  .pt-lg-7 {
    padding-top: 2.5rem !important;
  }
  .pt-lg-8 {
    padding-top: 3rem !important;
  }
  .pt-lg-9 {
    padding-top: 4rem !important;
  }
  .pt-lg-10 {
    padding-top: 5rem !important;
  }
  .pt-lg-11 {
    padding-top: 6rem !important;
  }
  .pt-lg-12 {
    padding-top: 8rem !important;
  }
  .pt-lg-13 {
    padding-top: 10rem !important;
  }
  .pt-lg-14 {
    padding-top: 12rem !important;
  }
  .pt-lg-15 {
    padding-top: 16rem !important;
  }
  .pt-lg-16 {
    padding-top: 25rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 0.75rem !important;
  }
  .pe-lg-4 {
    padding-right: 1rem !important;
  }
  .pe-lg-5 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-6 {
    padding-right: 2rem !important;
  }
  .pe-lg-7 {
    padding-right: 2.5rem !important;
  }
  .pe-lg-8 {
    padding-right: 3rem !important;
  }
  .pe-lg-9 {
    padding-right: 4rem !important;
  }
  .pe-lg-10 {
    padding-right: 5rem !important;
  }
  .pe-lg-11 {
    padding-right: 6rem !important;
  }
  .pe-lg-12 {
    padding-right: 8rem !important;
  }
  .pe-lg-13 {
    padding-right: 10rem !important;
  }
  .pe-lg-14 {
    padding-right: 12rem !important;
  }
  .pe-lg-15 {
    padding-right: 16rem !important;
  }
  .pe-lg-16 {
    padding-right: 25rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 0.75rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-6 {
    padding-bottom: 2rem !important;
  }
  .pb-lg-7 {
    padding-bottom: 2.5rem !important;
  }
  .pb-lg-8 {
    padding-bottom: 3rem !important;
  }
  .pb-lg-9 {
    padding-bottom: 4rem !important;
  }
  .pb-lg-10 {
    padding-bottom: 5rem !important;
  }
  .pb-lg-11 {
    padding-bottom: 6rem !important;
  }
  .pb-lg-12 {
    padding-bottom: 8rem !important;
  }
  .pb-lg-13 {
    padding-bottom: 10rem !important;
  }
  .pb-lg-14 {
    padding-bottom: 12rem !important;
  }
  .pb-lg-15 {
    padding-bottom: 16rem !important;
  }
  .pb-lg-16 {
    padding-bottom: 25rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 0.75rem !important;
  }
  .ps-lg-4 {
    padding-left: 1rem !important;
  }
  .ps-lg-5 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-6 {
    padding-left: 2rem !important;
  }
  .ps-lg-7 {
    padding-left: 2.5rem !important;
  }
  .ps-lg-8 {
    padding-left: 3rem !important;
  }
  .ps-lg-9 {
    padding-left: 4rem !important;
  }
  .ps-lg-10 {
    padding-left: 5rem !important;
  }
  .ps-lg-11 {
    padding-left: 6rem !important;
  }
  .ps-lg-12 {
    padding-left: 8rem !important;
  }
  .ps-lg-13 {
    padding-left: 10rem !important;
  }
  .ps-lg-14 {
    padding-left: 12rem !important;
  }
  .ps-lg-15 {
    padding-left: 16rem !important;
  }
  .ps-lg-16 {
    padding-left: 25rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 0.75rem !important;
  }
  .gap-lg-4 {
    gap: 1rem !important;
  }
  .gap-lg-5 {
    gap: 1.5rem !important;
  }
  .gap-lg-6 {
    gap: 2rem !important;
  }
  .gap-lg-7 {
    gap: 2.5rem !important;
  }
  .gap-lg-8 {
    gap: 3rem !important;
  }
  .gap-lg-9 {
    gap: 4rem !important;
  }
  .gap-lg-10 {
    gap: 5rem !important;
  }
  .gap-lg-11 {
    gap: 6rem !important;
  }
  .gap-lg-12 {
    gap: 8rem !important;
  }
  .gap-lg-13 {
    gap: 10rem !important;
  }
  .gap-lg-14 {
    gap: 12rem !important;
  }
  .gap-lg-15 {
    gap: 16rem !important;
  }
  .gap-lg-16 {
    gap: 25rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-6 {
    row-gap: 2rem !important;
  }
  .row-gap-lg-7 {
    row-gap: 2.5rem !important;
  }
  .row-gap-lg-8 {
    row-gap: 3rem !important;
  }
  .row-gap-lg-9 {
    row-gap: 4rem !important;
  }
  .row-gap-lg-10 {
    row-gap: 5rem !important;
  }
  .row-gap-lg-11 {
    row-gap: 6rem !important;
  }
  .row-gap-lg-12 {
    row-gap: 8rem !important;
  }
  .row-gap-lg-13 {
    row-gap: 10rem !important;
  }
  .row-gap-lg-14 {
    row-gap: 12rem !important;
  }
  .row-gap-lg-15 {
    row-gap: 16rem !important;
  }
  .row-gap-lg-16 {
    row-gap: 25rem !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 0.75rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-5 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-6 {
    column-gap: 2rem !important;
  }
  .column-gap-lg-7 {
    column-gap: 2.5rem !important;
  }
  .column-gap-lg-8 {
    column-gap: 3rem !important;
  }
  .column-gap-lg-9 {
    column-gap: 4rem !important;
  }
  .column-gap-lg-10 {
    column-gap: 5rem !important;
  }
  .column-gap-lg-11 {
    column-gap: 6rem !important;
  }
  .column-gap-lg-12 {
    column-gap: 8rem !important;
  }
  .column-gap-lg-13 {
    column-gap: 10rem !important;
  }
  .column-gap-lg-14 {
    column-gap: 12rem !important;
  }
  .column-gap-lg-15 {
    column-gap: 16rem !important;
  }
  .column-gap-lg-16 {
    column-gap: 25rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .position-xl-static {
    position: static !important;
  }
  .position-xl-relative {
    position: relative !important;
  }
  .position-xl-absolute {
    position: absolute !important;
  }
  .position-xl-fixed {
    position: fixed !important;
  }
  .position-xl-sticky {
    position: sticky !important;
  }
  .border-xl {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-xl-0 {
    border: 0 !important;
  }
  .border-top-xl {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-top-xl-0 {
    border-top: 0 !important;
  }
  .border-end-xl {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-end-xl-0 {
    border-right: 0 !important;
  }
  .border-bottom-xl {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-bottom-xl-0 {
    border-bottom: 0 !important;
  }
  .border-start-xl {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-start-xl-0 {
    border-left: 0 !important;
  }
  .w-xl-25 {
    width: 25% !important;
  }
  .w-xl-50 {
    width: 50% !important;
  }
  .w-xl-75 {
    width: 75% !important;
  }
  .w-xl-100 {
    width: 100% !important;
  }
  .w-xl-auto {
    width: auto !important;
  }
  .w-xl-110 {
    width: 110% !important;
  }
  .w-xl-120 {
    width: 120% !important;
  }
  .w-xl-130 {
    width: 130% !important;
  }
  .w-xl-140 {
    width: 140% !important;
  }
  .w-xl-150 {
    width: 150% !important;
  }
  .mw-xl-100 {
    max-width: 100% !important;
  }
  .mw-xl-25 {
    max-width: 25% !important;
  }
  .mw-xl-50 {
    max-width: 50% !important;
  }
  .mw-xl-75 {
    max-width: 75% !important;
  }
  .mw-xl-110 {
    max-width: 110% !important;
  }
  .mw-xl-120 {
    max-width: 120% !important;
  }
  .mw-xl-130 {
    max-width: 130% !important;
  }
  .mw-xl-140 {
    max-width: 140% !important;
  }
  .mw-xl-150 {
    max-width: 150% !important;
  }
  .vw-xl-100 {
    width: 100vw !important;
  }
  .vw-xl-25 {
    width: 25vw !important;
  }
  .vw-xl-50 {
    width: 50vw !important;
  }
  .vw-xl-75 {
    width: 75vw !important;
  }
  .vw-xl-110 {
    width: 110vw !important;
  }
  .vw-xl-120 {
    width: 120vw !important;
  }
  .vw-xl-130 {
    width: 130vw !important;
  }
  .vw-xl-140 {
    width: 140vw !important;
  }
  .vw-xl-150 {
    width: 150vw !important;
  }
  .h-xl-25 {
    height: 25% !important;
  }
  .h-xl-50 {
    height: 50% !important;
  }
  .h-xl-75 {
    height: 75% !important;
  }
  .h-xl-100 {
    height: 100% !important;
  }
  .h-xl-auto {
    height: auto !important;
  }
  .h-xl-110 {
    height: 110% !important;
  }
  .h-xl-120 {
    height: 120% !important;
  }
  .h-xl-130 {
    height: 130% !important;
  }
  .h-xl-140 {
    height: 140% !important;
  }
  .h-xl-150 {
    height: 150% !important;
  }
  .vh-xl-100 {
    height: 100vh !important;
  }
  .vh-xl-25 {
    height: 25vw !important;
  }
  .vh-xl-50 {
    height: 50vw !important;
  }
  .vh-xl-75 {
    height: 75vw !important;
  }
  .vh-xl-110 {
    height: 110vw !important;
  }
  .vh-xl-120 {
    height: 120vw !important;
  }
  .vh-xl-130 {
    height: 130vw !important;
  }
  .vh-xl-140 {
    height: 140vw !important;
  }
  .vh-xl-150 {
    height: 150vw !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 0.75rem !important;
  }
  .m-xl-4 {
    margin: 1rem !important;
  }
  .m-xl-5 {
    margin: 1.5rem !important;
  }
  .m-xl-6 {
    margin: 2rem !important;
  }
  .m-xl-7 {
    margin: 2.5rem !important;
  }
  .m-xl-8 {
    margin: 3rem !important;
  }
  .m-xl-9 {
    margin: 4rem !important;
  }
  .m-xl-10 {
    margin: 5rem !important;
  }
  .m-xl-11 {
    margin: 6rem !important;
  }
  .m-xl-12 {
    margin: 8rem !important;
  }
  .m-xl-13 {
    margin: 10rem !important;
  }
  .m-xl-14 {
    margin: 12rem !important;
  }
  .m-xl-15 {
    margin: 16rem !important;
  }
  .m-xl-16 {
    margin: 25rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .mx-xl-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-xl-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .mx-xl-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-9 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-xl-10 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .mx-xl-11 {
    margin-right: 6rem !important;
    margin-left: 6rem !important;
  }
  .mx-xl-12 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-xl-13 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .mx-xl-14 {
    margin-right: 12rem !important;
    margin-left: 12rem !important;
  }
  .mx-xl-15 {
    margin-right: 16rem !important;
    margin-left: 16rem !important;
  }
  .mx-xl-16 {
    margin-right: 25rem !important;
    margin-left: 25rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .my-xl-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-xl-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .my-xl-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-9 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-xl-10 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .my-xl-11 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .my-xl-12 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-xl-13 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .my-xl-14 {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
  .my-xl-15 {
    margin-top: 16rem !important;
    margin-bottom: 16rem !important;
  }
  .my-xl-16 {
    margin-top: 25rem !important;
    margin-bottom: 25rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 0.75rem !important;
  }
  .mt-xl-4 {
    margin-top: 1rem !important;
  }
  .mt-xl-5 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-6 {
    margin-top: 2rem !important;
  }
  .mt-xl-7 {
    margin-top: 2.5rem !important;
  }
  .mt-xl-8 {
    margin-top: 3rem !important;
  }
  .mt-xl-9 {
    margin-top: 4rem !important;
  }
  .mt-xl-10 {
    margin-top: 5rem !important;
  }
  .mt-xl-11 {
    margin-top: 6rem !important;
  }
  .mt-xl-12 {
    margin-top: 8rem !important;
  }
  .mt-xl-13 {
    margin-top: 10rem !important;
  }
  .mt-xl-14 {
    margin-top: 12rem !important;
  }
  .mt-xl-15 {
    margin-top: 16rem !important;
  }
  .mt-xl-16 {
    margin-top: 25rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 0.75rem !important;
  }
  .me-xl-4 {
    margin-right: 1rem !important;
  }
  .me-xl-5 {
    margin-right: 1.5rem !important;
  }
  .me-xl-6 {
    margin-right: 2rem !important;
  }
  .me-xl-7 {
    margin-right: 2.5rem !important;
  }
  .me-xl-8 {
    margin-right: 3rem !important;
  }
  .me-xl-9 {
    margin-right: 4rem !important;
  }
  .me-xl-10 {
    margin-right: 5rem !important;
  }
  .me-xl-11 {
    margin-right: 6rem !important;
  }
  .me-xl-12 {
    margin-right: 8rem !important;
  }
  .me-xl-13 {
    margin-right: 10rem !important;
  }
  .me-xl-14 {
    margin-right: 12rem !important;
  }
  .me-xl-15 {
    margin-right: 16rem !important;
  }
  .me-xl-16 {
    margin-right: 25rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 0.75rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-6 {
    margin-bottom: 2rem !important;
  }
  .mb-xl-7 {
    margin-bottom: 2.5rem !important;
  }
  .mb-xl-8 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-9 {
    margin-bottom: 4rem !important;
  }
  .mb-xl-10 {
    margin-bottom: 5rem !important;
  }
  .mb-xl-11 {
    margin-bottom: 6rem !important;
  }
  .mb-xl-12 {
    margin-bottom: 8rem !important;
  }
  .mb-xl-13 {
    margin-bottom: 10rem !important;
  }
  .mb-xl-14 {
    margin-bottom: 12rem !important;
  }
  .mb-xl-15 {
    margin-bottom: 16rem !important;
  }
  .mb-xl-16 {
    margin-bottom: 25rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 0.75rem !important;
  }
  .ms-xl-4 {
    margin-left: 1rem !important;
  }
  .ms-xl-5 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-6 {
    margin-left: 2rem !important;
  }
  .ms-xl-7 {
    margin-left: 2.5rem !important;
  }
  .ms-xl-8 {
    margin-left: 3rem !important;
  }
  .ms-xl-9 {
    margin-left: 4rem !important;
  }
  .ms-xl-10 {
    margin-left: 5rem !important;
  }
  .ms-xl-11 {
    margin-left: 6rem !important;
  }
  .ms-xl-12 {
    margin-left: 8rem !important;
  }
  .ms-xl-13 {
    margin-left: 10rem !important;
  }
  .ms-xl-14 {
    margin-left: 12rem !important;
  }
  .ms-xl-15 {
    margin-left: 16rem !important;
  }
  .ms-xl-16 {
    margin-left: 25rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -0.75rem !important;
  }
  .m-xl-n4 {
    margin: -1rem !important;
  }
  .m-xl-n5 {
    margin: -1.5rem !important;
  }
  .m-xl-n6 {
    margin: -2rem !important;
  }
  .m-xl-n7 {
    margin: -2.5rem !important;
  }
  .m-xl-n8 {
    margin: -3rem !important;
  }
  .m-xl-n9 {
    margin: -4rem !important;
  }
  .m-xl-n10 {
    margin: -5rem !important;
  }
  .m-xl-n11 {
    margin: -6rem !important;
  }
  .m-xl-n12 {
    margin: -8rem !important;
  }
  .m-xl-n13 {
    margin: -10rem !important;
  }
  .m-xl-n14 {
    margin: -12rem !important;
  }
  .m-xl-n15 {
    margin: -16rem !important;
  }
  .m-xl-n16 {
    margin: -25rem !important;
  }
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xl-n3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
  .mx-xl-n4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xl-n5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-xl-n6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
  .mx-xl-n7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
  .mx-xl-n8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-xl-n9 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-xl-n10 {
    margin-right: -5rem !important;
    margin-left: -5rem !important;
  }
  .mx-xl-n11 {
    margin-right: -6rem !important;
    margin-left: -6rem !important;
  }
  .mx-xl-n12 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-xl-n13 {
    margin-right: -10rem !important;
    margin-left: -10rem !important;
  }
  .mx-xl-n14 {
    margin-right: -12rem !important;
    margin-left: -12rem !important;
  }
  .mx-xl-n15 {
    margin-right: -16rem !important;
    margin-left: -16rem !important;
  }
  .mx-xl-n16 {
    margin-right: -25rem !important;
    margin-left: -25rem !important;
  }
  .my-xl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xl-n3 {
    margin-top: -0.75rem !important;
    margin-bottom: -0.75rem !important;
  }
  .my-xl-n4 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xl-n5 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-xl-n6 {
    margin-top: -2rem !important;
    margin-bottom: -2rem !important;
  }
  .my-xl-n7 {
    margin-top: -2.5rem !important;
    margin-bottom: -2.5rem !important;
  }
  .my-xl-n8 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-xl-n9 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-xl-n10 {
    margin-top: -5rem !important;
    margin-bottom: -5rem !important;
  }
  .my-xl-n11 {
    margin-top: -6rem !important;
    margin-bottom: -6rem !important;
  }
  .my-xl-n12 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-xl-n13 {
    margin-top: -10rem !important;
    margin-bottom: -10rem !important;
  }
  .my-xl-n14 {
    margin-top: -12rem !important;
    margin-bottom: -12rem !important;
  }
  .my-xl-n15 {
    margin-top: -16rem !important;
    margin-bottom: -16rem !important;
  }
  .my-xl-n16 {
    margin-top: -25rem !important;
    margin-bottom: -25rem !important;
  }
  .mt-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xl-n3 {
    margin-top: -0.75rem !important;
  }
  .mt-xl-n4 {
    margin-top: -1rem !important;
  }
  .mt-xl-n5 {
    margin-top: -1.5rem !important;
  }
  .mt-xl-n6 {
    margin-top: -2rem !important;
  }
  .mt-xl-n7 {
    margin-top: -2.5rem !important;
  }
  .mt-xl-n8 {
    margin-top: -3rem !important;
  }
  .mt-xl-n9 {
    margin-top: -4rem !important;
  }
  .mt-xl-n10 {
    margin-top: -5rem !important;
  }
  .mt-xl-n11 {
    margin-top: -6rem !important;
  }
  .mt-xl-n12 {
    margin-top: -8rem !important;
  }
  .mt-xl-n13 {
    margin-top: -10rem !important;
  }
  .mt-xl-n14 {
    margin-top: -12rem !important;
  }
  .mt-xl-n15 {
    margin-top: -16rem !important;
  }
  .mt-xl-n16 {
    margin-top: -25rem !important;
  }
  .me-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .me-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .me-xl-n3 {
    margin-right: -0.75rem !important;
  }
  .me-xl-n4 {
    margin-right: -1rem !important;
  }
  .me-xl-n5 {
    margin-right: -1.5rem !important;
  }
  .me-xl-n6 {
    margin-right: -2rem !important;
  }
  .me-xl-n7 {
    margin-right: -2.5rem !important;
  }
  .me-xl-n8 {
    margin-right: -3rem !important;
  }
  .me-xl-n9 {
    margin-right: -4rem !important;
  }
  .me-xl-n10 {
    margin-right: -5rem !important;
  }
  .me-xl-n11 {
    margin-right: -6rem !important;
  }
  .me-xl-n12 {
    margin-right: -8rem !important;
  }
  .me-xl-n13 {
    margin-right: -10rem !important;
  }
  .me-xl-n14 {
    margin-right: -12rem !important;
  }
  .me-xl-n15 {
    margin-right: -16rem !important;
  }
  .me-xl-n16 {
    margin-right: -25rem !important;
  }
  .mb-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xl-n3 {
    margin-bottom: -0.75rem !important;
  }
  .mb-xl-n4 {
    margin-bottom: -1rem !important;
  }
  .mb-xl-n5 {
    margin-bottom: -1.5rem !important;
  }
  .mb-xl-n6 {
    margin-bottom: -2rem !important;
  }
  .mb-xl-n7 {
    margin-bottom: -2.5rem !important;
  }
  .mb-xl-n8 {
    margin-bottom: -3rem !important;
  }
  .mb-xl-n9 {
    margin-bottom: -4rem !important;
  }
  .mb-xl-n10 {
    margin-bottom: -5rem !important;
  }
  .mb-xl-n11 {
    margin-bottom: -6rem !important;
  }
  .mb-xl-n12 {
    margin-bottom: -8rem !important;
  }
  .mb-xl-n13 {
    margin-bottom: -10rem !important;
  }
  .mb-xl-n14 {
    margin-bottom: -12rem !important;
  }
  .mb-xl-n15 {
    margin-bottom: -16rem !important;
  }
  .mb-xl-n16 {
    margin-bottom: -25rem !important;
  }
  .ms-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-xl-n3 {
    margin-left: -0.75rem !important;
  }
  .ms-xl-n4 {
    margin-left: -1rem !important;
  }
  .ms-xl-n5 {
    margin-left: -1.5rem !important;
  }
  .ms-xl-n6 {
    margin-left: -2rem !important;
  }
  .ms-xl-n7 {
    margin-left: -2.5rem !important;
  }
  .ms-xl-n8 {
    margin-left: -3rem !important;
  }
  .ms-xl-n9 {
    margin-left: -4rem !important;
  }
  .ms-xl-n10 {
    margin-left: -5rem !important;
  }
  .ms-xl-n11 {
    margin-left: -6rem !important;
  }
  .ms-xl-n12 {
    margin-left: -8rem !important;
  }
  .ms-xl-n13 {
    margin-left: -10rem !important;
  }
  .ms-xl-n14 {
    margin-left: -12rem !important;
  }
  .ms-xl-n15 {
    margin-left: -16rem !important;
  }
  .ms-xl-n16 {
    margin-left: -25rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 0.75rem !important;
  }
  .p-xl-4 {
    padding: 1rem !important;
  }
  .p-xl-5 {
    padding: 1.5rem !important;
  }
  .p-xl-6 {
    padding: 2rem !important;
  }
  .p-xl-7 {
    padding: 2.5rem !important;
  }
  .p-xl-8 {
    padding: 3rem !important;
  }
  .p-xl-9 {
    padding: 4rem !important;
  }
  .p-xl-10 {
    padding: 5rem !important;
  }
  .p-xl-11 {
    padding: 6rem !important;
  }
  .p-xl-12 {
    padding: 8rem !important;
  }
  .p-xl-13 {
    padding: 10rem !important;
  }
  .p-xl-14 {
    padding: 12rem !important;
  }
  .p-xl-15 {
    padding: 16rem !important;
  }
  .p-xl-16 {
    padding: 25rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .px-xl-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-xl-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .px-xl-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-xl-9 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-xl-10 {
    padding-right: 5rem !important;
    padding-left: 5rem !important;
  }
  .px-xl-11 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .px-xl-12 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-xl-13 {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
  }
  .px-xl-14 {
    padding-right: 12rem !important;
    padding-left: 12rem !important;
  }
  .px-xl-15 {
    padding-right: 16rem !important;
    padding-left: 16rem !important;
  }
  .px-xl-16 {
    padding-right: 25rem !important;
    padding-left: 25rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .py-xl-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-xl-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .py-xl-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-xl-9 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-xl-10 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .py-xl-11 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .py-xl-12 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-xl-13 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  .py-xl-14 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
  .py-xl-15 {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
  }
  .py-xl-16 {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 0.75rem !important;
  }
  .pt-xl-4 {
    padding-top: 1rem !important;
  }
  .pt-xl-5 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-6 {
    padding-top: 2rem !important;
  }
  .pt-xl-7 {
    padding-top: 2.5rem !important;
  }
  .pt-xl-8 {
    padding-top: 3rem !important;
  }
  .pt-xl-9 {
    padding-top: 4rem !important;
  }
  .pt-xl-10 {
    padding-top: 5rem !important;
  }
  .pt-xl-11 {
    padding-top: 6rem !important;
  }
  .pt-xl-12 {
    padding-top: 8rem !important;
  }
  .pt-xl-13 {
    padding-top: 10rem !important;
  }
  .pt-xl-14 {
    padding-top: 12rem !important;
  }
  .pt-xl-15 {
    padding-top: 16rem !important;
  }
  .pt-xl-16 {
    padding-top: 25rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 0.75rem !important;
  }
  .pe-xl-4 {
    padding-right: 1rem !important;
  }
  .pe-xl-5 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-6 {
    padding-right: 2rem !important;
  }
  .pe-xl-7 {
    padding-right: 2.5rem !important;
  }
  .pe-xl-8 {
    padding-right: 3rem !important;
  }
  .pe-xl-9 {
    padding-right: 4rem !important;
  }
  .pe-xl-10 {
    padding-right: 5rem !important;
  }
  .pe-xl-11 {
    padding-right: 6rem !important;
  }
  .pe-xl-12 {
    padding-right: 8rem !important;
  }
  .pe-xl-13 {
    padding-right: 10rem !important;
  }
  .pe-xl-14 {
    padding-right: 12rem !important;
  }
  .pe-xl-15 {
    padding-right: 16rem !important;
  }
  .pe-xl-16 {
    padding-right: 25rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 0.75rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-6 {
    padding-bottom: 2rem !important;
  }
  .pb-xl-7 {
    padding-bottom: 2.5rem !important;
  }
  .pb-xl-8 {
    padding-bottom: 3rem !important;
  }
  .pb-xl-9 {
    padding-bottom: 4rem !important;
  }
  .pb-xl-10 {
    padding-bottom: 5rem !important;
  }
  .pb-xl-11 {
    padding-bottom: 6rem !important;
  }
  .pb-xl-12 {
    padding-bottom: 8rem !important;
  }
  .pb-xl-13 {
    padding-bottom: 10rem !important;
  }
  .pb-xl-14 {
    padding-bottom: 12rem !important;
  }
  .pb-xl-15 {
    padding-bottom: 16rem !important;
  }
  .pb-xl-16 {
    padding-bottom: 25rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 0.75rem !important;
  }
  .ps-xl-4 {
    padding-left: 1rem !important;
  }
  .ps-xl-5 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-6 {
    padding-left: 2rem !important;
  }
  .ps-xl-7 {
    padding-left: 2.5rem !important;
  }
  .ps-xl-8 {
    padding-left: 3rem !important;
  }
  .ps-xl-9 {
    padding-left: 4rem !important;
  }
  .ps-xl-10 {
    padding-left: 5rem !important;
  }
  .ps-xl-11 {
    padding-left: 6rem !important;
  }
  .ps-xl-12 {
    padding-left: 8rem !important;
  }
  .ps-xl-13 {
    padding-left: 10rem !important;
  }
  .ps-xl-14 {
    padding-left: 12rem !important;
  }
  .ps-xl-15 {
    padding-left: 16rem !important;
  }
  .ps-xl-16 {
    padding-left: 25rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 0.75rem !important;
  }
  .gap-xl-4 {
    gap: 1rem !important;
  }
  .gap-xl-5 {
    gap: 1.5rem !important;
  }
  .gap-xl-6 {
    gap: 2rem !important;
  }
  .gap-xl-7 {
    gap: 2.5rem !important;
  }
  .gap-xl-8 {
    gap: 3rem !important;
  }
  .gap-xl-9 {
    gap: 4rem !important;
  }
  .gap-xl-10 {
    gap: 5rem !important;
  }
  .gap-xl-11 {
    gap: 6rem !important;
  }
  .gap-xl-12 {
    gap: 8rem !important;
  }
  .gap-xl-13 {
    gap: 10rem !important;
  }
  .gap-xl-14 {
    gap: 12rem !important;
  }
  .gap-xl-15 {
    gap: 16rem !important;
  }
  .gap-xl-16 {
    gap: 25rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-6 {
    row-gap: 2rem !important;
  }
  .row-gap-xl-7 {
    row-gap: 2.5rem !important;
  }
  .row-gap-xl-8 {
    row-gap: 3rem !important;
  }
  .row-gap-xl-9 {
    row-gap: 4rem !important;
  }
  .row-gap-xl-10 {
    row-gap: 5rem !important;
  }
  .row-gap-xl-11 {
    row-gap: 6rem !important;
  }
  .row-gap-xl-12 {
    row-gap: 8rem !important;
  }
  .row-gap-xl-13 {
    row-gap: 10rem !important;
  }
  .row-gap-xl-14 {
    row-gap: 12rem !important;
  }
  .row-gap-xl-15 {
    row-gap: 16rem !important;
  }
  .row-gap-xl-16 {
    row-gap: 25rem !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 0.75rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-5 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-6 {
    column-gap: 2rem !important;
  }
  .column-gap-xl-7 {
    column-gap: 2.5rem !important;
  }
  .column-gap-xl-8 {
    column-gap: 3rem !important;
  }
  .column-gap-xl-9 {
    column-gap: 4rem !important;
  }
  .column-gap-xl-10 {
    column-gap: 5rem !important;
  }
  .column-gap-xl-11 {
    column-gap: 6rem !important;
  }
  .column-gap-xl-12 {
    column-gap: 8rem !important;
  }
  .column-gap-xl-13 {
    column-gap: 10rem !important;
  }
  .column-gap-xl-14 {
    column-gap: 12rem !important;
  }
  .column-gap-xl-15 {
    column-gap: 16rem !important;
  }
  .column-gap-xl-16 {
    column-gap: 25rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .position-xxl-static {
    position: static !important;
  }
  .position-xxl-relative {
    position: relative !important;
  }
  .position-xxl-absolute {
    position: absolute !important;
  }
  .position-xxl-fixed {
    position: fixed !important;
  }
  .position-xxl-sticky {
    position: sticky !important;
  }
  .border-xxl {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-xxl-0 {
    border: 0 !important;
  }
  .border-top-xxl {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-top-xxl-0 {
    border-top: 0 !important;
  }
  .border-end-xxl {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-end-xxl-0 {
    border-right: 0 !important;
  }
  .border-bottom-xxl {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-bottom-xxl-0 {
    border-bottom: 0 !important;
  }
  .border-start-xxl {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-start-xxl-0 {
    border-left: 0 !important;
  }
  .w-xxl-25 {
    width: 25% !important;
  }
  .w-xxl-50 {
    width: 50% !important;
  }
  .w-xxl-75 {
    width: 75% !important;
  }
  .w-xxl-100 {
    width: 100% !important;
  }
  .w-xxl-auto {
    width: auto !important;
  }
  .w-xxl-110 {
    width: 110% !important;
  }
  .w-xxl-120 {
    width: 120% !important;
  }
  .w-xxl-130 {
    width: 130% !important;
  }
  .w-xxl-140 {
    width: 140% !important;
  }
  .w-xxl-150 {
    width: 150% !important;
  }
  .mw-xxl-100 {
    max-width: 100% !important;
  }
  .mw-xxl-25 {
    max-width: 25% !important;
  }
  .mw-xxl-50 {
    max-width: 50% !important;
  }
  .mw-xxl-75 {
    max-width: 75% !important;
  }
  .mw-xxl-110 {
    max-width: 110% !important;
  }
  .mw-xxl-120 {
    max-width: 120% !important;
  }
  .mw-xxl-130 {
    max-width: 130% !important;
  }
  .mw-xxl-140 {
    max-width: 140% !important;
  }
  .mw-xxl-150 {
    max-width: 150% !important;
  }
  .vw-xxl-100 {
    width: 100vw !important;
  }
  .vw-xxl-25 {
    width: 25vw !important;
  }
  .vw-xxl-50 {
    width: 50vw !important;
  }
  .vw-xxl-75 {
    width: 75vw !important;
  }
  .vw-xxl-110 {
    width: 110vw !important;
  }
  .vw-xxl-120 {
    width: 120vw !important;
  }
  .vw-xxl-130 {
    width: 130vw !important;
  }
  .vw-xxl-140 {
    width: 140vw !important;
  }
  .vw-xxl-150 {
    width: 150vw !important;
  }
  .h-xxl-25 {
    height: 25% !important;
  }
  .h-xxl-50 {
    height: 50% !important;
  }
  .h-xxl-75 {
    height: 75% !important;
  }
  .h-xxl-100 {
    height: 100% !important;
  }
  .h-xxl-auto {
    height: auto !important;
  }
  .h-xxl-110 {
    height: 110% !important;
  }
  .h-xxl-120 {
    height: 120% !important;
  }
  .h-xxl-130 {
    height: 130% !important;
  }
  .h-xxl-140 {
    height: 140% !important;
  }
  .h-xxl-150 {
    height: 150% !important;
  }
  .vh-xxl-100 {
    height: 100vh !important;
  }
  .vh-xxl-25 {
    height: 25vw !important;
  }
  .vh-xxl-50 {
    height: 50vw !important;
  }
  .vh-xxl-75 {
    height: 75vw !important;
  }
  .vh-xxl-110 {
    height: 110vw !important;
  }
  .vh-xxl-120 {
    height: 120vw !important;
  }
  .vh-xxl-130 {
    height: 130vw !important;
  }
  .vh-xxl-140 {
    height: 140vw !important;
  }
  .vh-xxl-150 {
    height: 150vw !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 0.75rem !important;
  }
  .m-xxl-4 {
    margin: 1rem !important;
  }
  .m-xxl-5 {
    margin: 1.5rem !important;
  }
  .m-xxl-6 {
    margin: 2rem !important;
  }
  .m-xxl-7 {
    margin: 2.5rem !important;
  }
  .m-xxl-8 {
    margin: 3rem !important;
  }
  .m-xxl-9 {
    margin: 4rem !important;
  }
  .m-xxl-10 {
    margin: 5rem !important;
  }
  .m-xxl-11 {
    margin: 6rem !important;
  }
  .m-xxl-12 {
    margin: 8rem !important;
  }
  .m-xxl-13 {
    margin: 10rem !important;
  }
  .m-xxl-14 {
    margin: 12rem !important;
  }
  .m-xxl-15 {
    margin: 16rem !important;
  }
  .m-xxl-16 {
    margin: 25rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-xxl-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .mx-xxl-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-9 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-xxl-10 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
  }
  .mx-xxl-11 {
    margin-right: 6rem !important;
    margin-left: 6rem !important;
  }
  .mx-xxl-12 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-xxl-13 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
  }
  .mx-xxl-14 {
    margin-right: 12rem !important;
    margin-left: 12rem !important;
  }
  .mx-xxl-15 {
    margin-right: 16rem !important;
    margin-left: 16rem !important;
  }
  .mx-xxl-16 {
    margin-right: 25rem !important;
    margin-left: 25rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .my-xxl-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-xxl-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .my-xxl-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-9 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-xxl-10 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .my-xxl-11 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .my-xxl-12 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-xxl-13 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
  }
  .my-xxl-14 {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
  .my-xxl-15 {
    margin-top: 16rem !important;
    margin-bottom: 16rem !important;
  }
  .my-xxl-16 {
    margin-top: 25rem !important;
    margin-bottom: 25rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 0.75rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1rem !important;
  }
  .mt-xxl-5 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-6 {
    margin-top: 2rem !important;
  }
  .mt-xxl-7 {
    margin-top: 2.5rem !important;
  }
  .mt-xxl-8 {
    margin-top: 3rem !important;
  }
  .mt-xxl-9 {
    margin-top: 4rem !important;
  }
  .mt-xxl-10 {
    margin-top: 5rem !important;
  }
  .mt-xxl-11 {
    margin-top: 6rem !important;
  }
  .mt-xxl-12 {
    margin-top: 8rem !important;
  }
  .mt-xxl-13 {
    margin-top: 10rem !important;
  }
  .mt-xxl-14 {
    margin-top: 12rem !important;
  }
  .mt-xxl-15 {
    margin-top: 16rem !important;
  }
  .mt-xxl-16 {
    margin-top: 25rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 0.75rem !important;
  }
  .me-xxl-4 {
    margin-right: 1rem !important;
  }
  .me-xxl-5 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-6 {
    margin-right: 2rem !important;
  }
  .me-xxl-7 {
    margin-right: 2.5rem !important;
  }
  .me-xxl-8 {
    margin-right: 3rem !important;
  }
  .me-xxl-9 {
    margin-right: 4rem !important;
  }
  .me-xxl-10 {
    margin-right: 5rem !important;
  }
  .me-xxl-11 {
    margin-right: 6rem !important;
  }
  .me-xxl-12 {
    margin-right: 8rem !important;
  }
  .me-xxl-13 {
    margin-right: 10rem !important;
  }
  .me-xxl-14 {
    margin-right: 12rem !important;
  }
  .me-xxl-15 {
    margin-right: 16rem !important;
  }
  .me-xxl-16 {
    margin-right: 25rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 0.75rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-6 {
    margin-bottom: 2rem !important;
  }
  .mb-xxl-7 {
    margin-bottom: 2.5rem !important;
  }
  .mb-xxl-8 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-9 {
    margin-bottom: 4rem !important;
  }
  .mb-xxl-10 {
    margin-bottom: 5rem !important;
  }
  .mb-xxl-11 {
    margin-bottom: 6rem !important;
  }
  .mb-xxl-12 {
    margin-bottom: 8rem !important;
  }
  .mb-xxl-13 {
    margin-bottom: 10rem !important;
  }
  .mb-xxl-14 {
    margin-bottom: 12rem !important;
  }
  .mb-xxl-15 {
    margin-bottom: 16rem !important;
  }
  .mb-xxl-16 {
    margin-bottom: 25rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 0.75rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1rem !important;
  }
  .ms-xxl-5 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-6 {
    margin-left: 2rem !important;
  }
  .ms-xxl-7 {
    margin-left: 2.5rem !important;
  }
  .ms-xxl-8 {
    margin-left: 3rem !important;
  }
  .ms-xxl-9 {
    margin-left: 4rem !important;
  }
  .ms-xxl-10 {
    margin-left: 5rem !important;
  }
  .ms-xxl-11 {
    margin-left: 6rem !important;
  }
  .ms-xxl-12 {
    margin-left: 8rem !important;
  }
  .ms-xxl-13 {
    margin-left: 10rem !important;
  }
  .ms-xxl-14 {
    margin-left: 12rem !important;
  }
  .ms-xxl-15 {
    margin-left: 16rem !important;
  }
  .ms-xxl-16 {
    margin-left: 25rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .m-xxl-n1 {
    margin: -0.25rem !important;
  }
  .m-xxl-n2 {
    margin: -0.5rem !important;
  }
  .m-xxl-n3 {
    margin: -0.75rem !important;
  }
  .m-xxl-n4 {
    margin: -1rem !important;
  }
  .m-xxl-n5 {
    margin: -1.5rem !important;
  }
  .m-xxl-n6 {
    margin: -2rem !important;
  }
  .m-xxl-n7 {
    margin: -2.5rem !important;
  }
  .m-xxl-n8 {
    margin: -3rem !important;
  }
  .m-xxl-n9 {
    margin: -4rem !important;
  }
  .m-xxl-n10 {
    margin: -5rem !important;
  }
  .m-xxl-n11 {
    margin: -6rem !important;
  }
  .m-xxl-n12 {
    margin: -8rem !important;
  }
  .m-xxl-n13 {
    margin: -10rem !important;
  }
  .m-xxl-n14 {
    margin: -12rem !important;
  }
  .m-xxl-n15 {
    margin: -16rem !important;
  }
  .m-xxl-n16 {
    margin: -25rem !important;
  }
  .mx-xxl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xxl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xxl-n3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
  .mx-xxl-n4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xxl-n5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-xxl-n6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
  .mx-xxl-n7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
  .mx-xxl-n8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-xxl-n9 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-xxl-n10 {
    margin-right: -5rem !important;
    margin-left: -5rem !important;
  }
  .mx-xxl-n11 {
    margin-right: -6rem !important;
    margin-left: -6rem !important;
  }
  .mx-xxl-n12 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-xxl-n13 {
    margin-right: -10rem !important;
    margin-left: -10rem !important;
  }
  .mx-xxl-n14 {
    margin-right: -12rem !important;
    margin-left: -12rem !important;
  }
  .mx-xxl-n15 {
    margin-right: -16rem !important;
    margin-left: -16rem !important;
  }
  .mx-xxl-n16 {
    margin-right: -25rem !important;
    margin-left: -25rem !important;
  }
  .my-xxl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xxl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xxl-n3 {
    margin-top: -0.75rem !important;
    margin-bottom: -0.75rem !important;
  }
  .my-xxl-n4 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xxl-n5 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-xxl-n6 {
    margin-top: -2rem !important;
    margin-bottom: -2rem !important;
  }
  .my-xxl-n7 {
    margin-top: -2.5rem !important;
    margin-bottom: -2.5rem !important;
  }
  .my-xxl-n8 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-xxl-n9 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-xxl-n10 {
    margin-top: -5rem !important;
    margin-bottom: -5rem !important;
  }
  .my-xxl-n11 {
    margin-top: -6rem !important;
    margin-bottom: -6rem !important;
  }
  .my-xxl-n12 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-xxl-n13 {
    margin-top: -10rem !important;
    margin-bottom: -10rem !important;
  }
  .my-xxl-n14 {
    margin-top: -12rem !important;
    margin-bottom: -12rem !important;
  }
  .my-xxl-n15 {
    margin-top: -16rem !important;
    margin-bottom: -16rem !important;
  }
  .my-xxl-n16 {
    margin-top: -25rem !important;
    margin-bottom: -25rem !important;
  }
  .mt-xxl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xxl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xxl-n3 {
    margin-top: -0.75rem !important;
  }
  .mt-xxl-n4 {
    margin-top: -1rem !important;
  }
  .mt-xxl-n5 {
    margin-top: -1.5rem !important;
  }
  .mt-xxl-n6 {
    margin-top: -2rem !important;
  }
  .mt-xxl-n7 {
    margin-top: -2.5rem !important;
  }
  .mt-xxl-n8 {
    margin-top: -3rem !important;
  }
  .mt-xxl-n9 {
    margin-top: -4rem !important;
  }
  .mt-xxl-n10 {
    margin-top: -5rem !important;
  }
  .mt-xxl-n11 {
    margin-top: -6rem !important;
  }
  .mt-xxl-n12 {
    margin-top: -8rem !important;
  }
  .mt-xxl-n13 {
    margin-top: -10rem !important;
  }
  .mt-xxl-n14 {
    margin-top: -12rem !important;
  }
  .mt-xxl-n15 {
    margin-top: -16rem !important;
  }
  .mt-xxl-n16 {
    margin-top: -25rem !important;
  }
  .me-xxl-n1 {
    margin-right: -0.25rem !important;
  }
  .me-xxl-n2 {
    margin-right: -0.5rem !important;
  }
  .me-xxl-n3 {
    margin-right: -0.75rem !important;
  }
  .me-xxl-n4 {
    margin-right: -1rem !important;
  }
  .me-xxl-n5 {
    margin-right: -1.5rem !important;
  }
  .me-xxl-n6 {
    margin-right: -2rem !important;
  }
  .me-xxl-n7 {
    margin-right: -2.5rem !important;
  }
  .me-xxl-n8 {
    margin-right: -3rem !important;
  }
  .me-xxl-n9 {
    margin-right: -4rem !important;
  }
  .me-xxl-n10 {
    margin-right: -5rem !important;
  }
  .me-xxl-n11 {
    margin-right: -6rem !important;
  }
  .me-xxl-n12 {
    margin-right: -8rem !important;
  }
  .me-xxl-n13 {
    margin-right: -10rem !important;
  }
  .me-xxl-n14 {
    margin-right: -12rem !important;
  }
  .me-xxl-n15 {
    margin-right: -16rem !important;
  }
  .me-xxl-n16 {
    margin-right: -25rem !important;
  }
  .mb-xxl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xxl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xxl-n3 {
    margin-bottom: -0.75rem !important;
  }
  .mb-xxl-n4 {
    margin-bottom: -1rem !important;
  }
  .mb-xxl-n5 {
    margin-bottom: -1.5rem !important;
  }
  .mb-xxl-n6 {
    margin-bottom: -2rem !important;
  }
  .mb-xxl-n7 {
    margin-bottom: -2.5rem !important;
  }
  .mb-xxl-n8 {
    margin-bottom: -3rem !important;
  }
  .mb-xxl-n9 {
    margin-bottom: -4rem !important;
  }
  .mb-xxl-n10 {
    margin-bottom: -5rem !important;
  }
  .mb-xxl-n11 {
    margin-bottom: -6rem !important;
  }
  .mb-xxl-n12 {
    margin-bottom: -8rem !important;
  }
  .mb-xxl-n13 {
    margin-bottom: -10rem !important;
  }
  .mb-xxl-n14 {
    margin-bottom: -12rem !important;
  }
  .mb-xxl-n15 {
    margin-bottom: -16rem !important;
  }
  .mb-xxl-n16 {
    margin-bottom: -25rem !important;
  }
  .ms-xxl-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-xxl-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-xxl-n3 {
    margin-left: -0.75rem !important;
  }
  .ms-xxl-n4 {
    margin-left: -1rem !important;
  }
  .ms-xxl-n5 {
    margin-left: -1.5rem !important;
  }
  .ms-xxl-n6 {
    margin-left: -2rem !important;
  }
  .ms-xxl-n7 {
    margin-left: -2.5rem !important;
  }
  .ms-xxl-n8 {
    margin-left: -3rem !important;
  }
  .ms-xxl-n9 {
    margin-left: -4rem !important;
  }
  .ms-xxl-n10 {
    margin-left: -5rem !important;
  }
  .ms-xxl-n11 {
    margin-left: -6rem !important;
  }
  .ms-xxl-n12 {
    margin-left: -8rem !important;
  }
  .ms-xxl-n13 {
    margin-left: -10rem !important;
  }
  .ms-xxl-n14 {
    margin-left: -12rem !important;
  }
  .ms-xxl-n15 {
    margin-left: -16rem !important;
  }
  .ms-xxl-n16 {
    margin-left: -25rem !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 0.75rem !important;
  }
  .p-xxl-4 {
    padding: 1rem !important;
  }
  .p-xxl-5 {
    padding: 1.5rem !important;
  }
  .p-xxl-6 {
    padding: 2rem !important;
  }
  .p-xxl-7 {
    padding: 2.5rem !important;
  }
  .p-xxl-8 {
    padding: 3rem !important;
  }
  .p-xxl-9 {
    padding: 4rem !important;
  }
  .p-xxl-10 {
    padding: 5rem !important;
  }
  .p-xxl-11 {
    padding: 6rem !important;
  }
  .p-xxl-12 {
    padding: 8rem !important;
  }
  .p-xxl-13 {
    padding: 10rem !important;
  }
  .p-xxl-14 {
    padding: 12rem !important;
  }
  .p-xxl-15 {
    padding: 16rem !important;
  }
  .p-xxl-16 {
    padding: 25rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .px-xxl-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-xxl-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .px-xxl-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-xxl-9 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-xxl-10 {
    padding-right: 5rem !important;
    padding-left: 5rem !important;
  }
  .px-xxl-11 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
  }
  .px-xxl-12 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-xxl-13 {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
  }
  .px-xxl-14 {
    padding-right: 12rem !important;
    padding-left: 12rem !important;
  }
  .px-xxl-15 {
    padding-right: 16rem !important;
    padding-left: 16rem !important;
  }
  .px-xxl-16 {
    padding-right: 25rem !important;
    padding-left: 25rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .py-xxl-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-xxl-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .py-xxl-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-xxl-9 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-xxl-10 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .py-xxl-11 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .py-xxl-12 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-xxl-13 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  .py-xxl-14 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
  .py-xxl-15 {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
  }
  .py-xxl-16 {
    padding-top: 25rem !important;
    padding-bottom: 25rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 0.75rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1rem !important;
  }
  .pt-xxl-5 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-6 {
    padding-top: 2rem !important;
  }
  .pt-xxl-7 {
    padding-top: 2.5rem !important;
  }
  .pt-xxl-8 {
    padding-top: 3rem !important;
  }
  .pt-xxl-9 {
    padding-top: 4rem !important;
  }
  .pt-xxl-10 {
    padding-top: 5rem !important;
  }
  .pt-xxl-11 {
    padding-top: 6rem !important;
  }
  .pt-xxl-12 {
    padding-top: 8rem !important;
  }
  .pt-xxl-13 {
    padding-top: 10rem !important;
  }
  .pt-xxl-14 {
    padding-top: 12rem !important;
  }
  .pt-xxl-15 {
    padding-top: 16rem !important;
  }
  .pt-xxl-16 {
    padding-top: 25rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 0.75rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1rem !important;
  }
  .pe-xxl-5 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-6 {
    padding-right: 2rem !important;
  }
  .pe-xxl-7 {
    padding-right: 2.5rem !important;
  }
  .pe-xxl-8 {
    padding-right: 3rem !important;
  }
  .pe-xxl-9 {
    padding-right: 4rem !important;
  }
  .pe-xxl-10 {
    padding-right: 5rem !important;
  }
  .pe-xxl-11 {
    padding-right: 6rem !important;
  }
  .pe-xxl-12 {
    padding-right: 8rem !important;
  }
  .pe-xxl-13 {
    padding-right: 10rem !important;
  }
  .pe-xxl-14 {
    padding-right: 12rem !important;
  }
  .pe-xxl-15 {
    padding-right: 16rem !important;
  }
  .pe-xxl-16 {
    padding-right: 25rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 0.75rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-6 {
    padding-bottom: 2rem !important;
  }
  .pb-xxl-7 {
    padding-bottom: 2.5rem !important;
  }
  .pb-xxl-8 {
    padding-bottom: 3rem !important;
  }
  .pb-xxl-9 {
    padding-bottom: 4rem !important;
  }
  .pb-xxl-10 {
    padding-bottom: 5rem !important;
  }
  .pb-xxl-11 {
    padding-bottom: 6rem !important;
  }
  .pb-xxl-12 {
    padding-bottom: 8rem !important;
  }
  .pb-xxl-13 {
    padding-bottom: 10rem !important;
  }
  .pb-xxl-14 {
    padding-bottom: 12rem !important;
  }
  .pb-xxl-15 {
    padding-bottom: 16rem !important;
  }
  .pb-xxl-16 {
    padding-bottom: 25rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 0.75rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1rem !important;
  }
  .ps-xxl-5 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-6 {
    padding-left: 2rem !important;
  }
  .ps-xxl-7 {
    padding-left: 2.5rem !important;
  }
  .ps-xxl-8 {
    padding-left: 3rem !important;
  }
  .ps-xxl-9 {
    padding-left: 4rem !important;
  }
  .ps-xxl-10 {
    padding-left: 5rem !important;
  }
  .ps-xxl-11 {
    padding-left: 6rem !important;
  }
  .ps-xxl-12 {
    padding-left: 8rem !important;
  }
  .ps-xxl-13 {
    padding-left: 10rem !important;
  }
  .ps-xxl-14 {
    padding-left: 12rem !important;
  }
  .ps-xxl-15 {
    padding-left: 16rem !important;
  }
  .ps-xxl-16 {
    padding-left: 25rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 0.75rem !important;
  }
  .gap-xxl-4 {
    gap: 1rem !important;
  }
  .gap-xxl-5 {
    gap: 1.5rem !important;
  }
  .gap-xxl-6 {
    gap: 2rem !important;
  }
  .gap-xxl-7 {
    gap: 2.5rem !important;
  }
  .gap-xxl-8 {
    gap: 3rem !important;
  }
  .gap-xxl-9 {
    gap: 4rem !important;
  }
  .gap-xxl-10 {
    gap: 5rem !important;
  }
  .gap-xxl-11 {
    gap: 6rem !important;
  }
  .gap-xxl-12 {
    gap: 8rem !important;
  }
  .gap-xxl-13 {
    gap: 10rem !important;
  }
  .gap-xxl-14 {
    gap: 12rem !important;
  }
  .gap-xxl-15 {
    gap: 16rem !important;
  }
  .gap-xxl-16 {
    gap: 25rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-6 {
    row-gap: 2rem !important;
  }
  .row-gap-xxl-7 {
    row-gap: 2.5rem !important;
  }
  .row-gap-xxl-8 {
    row-gap: 3rem !important;
  }
  .row-gap-xxl-9 {
    row-gap: 4rem !important;
  }
  .row-gap-xxl-10 {
    row-gap: 5rem !important;
  }
  .row-gap-xxl-11 {
    row-gap: 6rem !important;
  }
  .row-gap-xxl-12 {
    row-gap: 8rem !important;
  }
  .row-gap-xxl-13 {
    row-gap: 10rem !important;
  }
  .row-gap-xxl-14 {
    row-gap: 12rem !important;
  }
  .row-gap-xxl-15 {
    row-gap: 16rem !important;
  }
  .row-gap-xxl-16 {
    row-gap: 25rem !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 0.75rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-5 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-6 {
    column-gap: 2rem !important;
  }
  .column-gap-xxl-7 {
    column-gap: 2.5rem !important;
  }
  .column-gap-xxl-8 {
    column-gap: 3rem !important;
  }
  .column-gap-xxl-9 {
    column-gap: 4rem !important;
  }
  .column-gap-xxl-10 {
    column-gap: 5rem !important;
  }
  .column-gap-xxl-11 {
    column-gap: 6rem !important;
  }
  .column-gap-xxl-12 {
    column-gap: 8rem !important;
  }
  .column-gap-xxl-13 {
    column-gap: 10rem !important;
  }
  .column-gap-xxl-14 {
    column-gap: 12rem !important;
  }
  .column-gap-xxl-15 {
    column-gap: 16rem !important;
  }
  .column-gap-xxl-16 {
    column-gap: 25rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
:root,
[data-bs-theme=light] {
  --bs-primary-bg-subtle-rgb: 51, 94, 234;
  --bs-primary-desat-bg-subtle-rgb: 51, 94, 234;
  --bs-secondary-bg-subtle-rgb: 80, 102, 144;
  --bs-success-bg-subtle-rgb: 66, 186, 150;
  --bs-info-bg-subtle-rgb: 124, 105, 239;
  --bs-warning-bg-subtle-rgb: 250, 215, 118;
  --bs-danger-bg-subtle-rgb: 223, 71, 89;
  --bs-light-bg-subtle-rgb: 249, 251, 253;
  --bs-dark-bg-subtle-rgb: 27, 42, 78;
  --bs-white-bg-subtle-rgb: 255, 255, 255;
  --bs-gray-700-bg-subtle-rgb: 80, 102, 144;
  --bs-gray-100-rgb: 249, 251, 253;
  --bs-gray-200-rgb: 241, 244, 248;
  --bs-gray-300-rgb: 217, 226, 239;
  --bs-gray-400-rgb: 198, 211, 230;
  --bs-gray-500-rgb: 171, 188, 213;
  --bs-gray-600-rgb: 134, 154, 184;
  --bs-gray-700-rgb: 80, 102, 144;
  --bs-gray-800-rgb: 56, 76, 116;
  --bs-gray-900-rgb: 27, 42, 78;
}
body {
  overflow-x: clip;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: #1f2937; /* Explicit dark text color - always visible on light backgrounds */
}
h1, .h1, h2, .h2 {
  margin-bottom: 1rem;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  letter-spacing: -0.01em;
}
h1, .h1 {
  line-height: 1.3;
}
@media (max-width: 991.98px) {
  h1, .h1 {
    font-size: 1.875rem;
  }
}
h2, .h2 {
  line-height: 1.35;
}
@media (max-width: 991.98px) {
  h2, .h2 {
    font-size: 1.5rem;
  }
}
h3, .h3 {
  line-height: 1.4;
}
@media (max-width: 991.98px) {
  h3, .h3 {
    font-size: 1.125rem;
  }
}
h4, .h4 {
  line-height: 1.45;
}
@media (max-width: 991.98px) {
  h4, .h4 {
    font-size: 1.0625rem;
  }
}
h5, .h5 {
  line-height: 1.5;
}
h6, .h6 {
  line-height: 1.55;
}
h6.text-uppercase, .h6.text-uppercase {
  letter-spacing: 0.08em;
}
.display-1, .display-2, .display-3, .display-4 {
  letter-spacing: -0.02em;
}
.display-1 {
  line-height: 1.2;
}
@media (max-width: 991.98px) {
  .display-1 {
    font-size: 3.125rem;
  }
}
.display-2 {
  line-height: 1.2;
}
@media (max-width: 991.98px) {
  .display-2 {
    font-size: 2.5rem;
  }
}
.display-3 {
  line-height: 1.2;
}
@media (max-width: 991.98px) {
  .display-3 {
    font-size: 2.25rem;
  }
}
.display-4 {
  line-height: 1.2;
}
@media (max-width: 991.98px) {
  .display-4 {
    font-size: 2rem;
  }
}
.heading-spacing {
  margin-bottom: 40px; /* Adjust this value as needed */
}
@media (max-width: 991.98px) {
  .lead {
    font-size: 1.1875rem;
  }
}
.blockquote-img {
  max-height: 2.5rem;
  max-width: 100%;
  width: auto;
}
.blockquote-footer {
  margin-top: 0;
}
.blockquote-footer::before {
  display: none;
}
.list-social-icon {
  max-width: 1.25rem;
  height: auto;
}
[class*=hr-] {
  margin-left: auto;
  margin-right: auto;
}
.hr-sm {
  width: 60px;
}
.hr-sm:not([size]) {
  height: calc(var(--bs-border-width) * 2);
}
.hr-md {
  width: 100px;
}
.hr-md:not([size]) {
  height: calc(var(--bs-border-width) * 2);
}
code {
  --bs-code-line-height: 1.35;
  line-height: var(--bs-code-line-height);
}
.img-cover {
  width: 100vw;
  height: auto;
  margin-left: calc(50% - 50vw);
}
.img-fluid > img,
.img-fluid > svg {
  max-width: inherit;
  height: inherit;
}
.figure {
  display: block;
}
.figure-img {
  margin-bottom: 1rem;
}
[class^=container] {
  position: relative;
  z-index: 1;
}
[class^=col] {
  position: relative;
}
.table > :not(:first-child) {
  border-top: 0;
}
.table-align-middle thead > tr > th,
.table-align-middle tbody > tr > td {
  vertical-align: middle;
}
.form-floating > label {
  color: #869AB8 !important;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  font-size: 0.75rem;
}
.form-check {
  margin-bottom: 0;
}
.form-check + .form-check {
  margin-top: 0.125rem;
}
.form-check-dark .form-check-input {
  background-color: rgba(255, 255, 255, 0.2);
}
.form-check-dark .form-check-input:checked {
  background-color: var(--bs-white);
}
.form-switch {
  min-height: 1.375rem;
}
.form-switch > .form-check-input {
  height: 1.375rem;
}
.form-switch > .form-check-label {
  margin-top: calc((1.375rem - 1.6 * 1em) * 0.5);
}
.form-check-dark.form-switch .form-check-input {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
}
.form-check-dark.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e");
}
.form-check-dark.form-switch .form-check-input:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23335EEA'/%3e%3c/svg%3e");
}
.form-control-xs {
  min-height: calc(0.5rem + 0.9375rem * 1.6 + 2px);
  padding: 0.25rem 0.625rem;
  line-height: 1.6;
  font-size: 0.9375rem;
}
.form-control-flush,
.form-floating > .form-control-flush {
  padding-left: 0;
  padding-right: 0;
  border-top-width: 0;
  border-right-width: 0;
  border-left-width: 0;
  border-radius: 0;
}
.form-floating > .form-control-flush ~ label {
  padding-left: 0;
  padding-right: 0;
  border-width: 0;
}
.form-group {
  margin-bottom: 1rem;
}
.form-select-xs {
  height: calc(0.5rem + 0.9375rem * 1.6 + 2px);
  padding: 0.25rem calc(0.625rem + 0.625rem + 0.75em) 0.25rem 0.625rem;
  line-height: 1.6;
  font-size: 0.9375rem;
  background-size: 0.75em;
  background-position: right 0.625rem center;
}
.input-group-xs .form-control {
  min-height: calc(0.5rem + 0.9375rem * 1.6 + 2px);
  padding: 0.25rem 0.625rem;
  line-height: 1.6;
  font-size: 0.9375rem;
}
.input-group-xs .input-group-text {
  padding: 0.25rem 0.625rem;
  line-height: 1.6;
  font-size: 0.9375rem;
}
.btn > img {
  max-height: 1em;
  width: auto;
}
.btn:not([class*=btn-outline]) {
  border-color: transparent !important;
}
.btn-xs {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.625rem;
  --bs-btn-font-size: 0.9375rem;
}
.btn-white {
  --bs-btn-bg: var(--bs-white);
  --bs-btn-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-white);
  --bs-btn-hover-color: rgb(27.88, 75.7533333333, 231.62);
  --bs-btn-focus-bg: var(--bs-white);
  --bs-btn-focus-color: rgb(27.88, 75.7533333333, 231.62);
  --bs-btn-active-bg: rgb(242.25, 242.25, 242.25);
  --bs-btn-active-color: rgb(27.88, 75.7533333333, 231.62);
}
.btn-group .btn-white {
  --bs-btn-border-color: var(--bs-gray-300);
  --bs-btn-color: var(--bs-secondary-color);
  --bs-btn-active-border-color: var(--bs-gray-300);
  --bs-btn-active-color: var(--bs-body-color);
  border-color: var(--bs-btn-border-color) !important;
}
.btn-outline-white {
  --bs-btn-border-color: var(--bs-gray-300);
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-hover-bg: rgb(242.25, 242.25, 242.25);
  --bs-btn-hover-border-color: var(--bs-gray-400);
  --bs-btn-hover-color: var(--bs-body-color);
  --bs-btn-active-bg: rgb(242.25, 242.25, 242.25);
  --bs-btn-active-border-color: var(--bs-gray-400);
  --bs-btn-active-color: var(--bs-body-color);
  --bs-btn-disabled-border-color: var(--bs-gray-300);
  --bs-btn-disabled-color: var(--bs-body-color);
}
.btn-outline-gray-300 {
  --bs-btn-border-color: var(--bs-gray-300);
  --bs-btn-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-active-color: var(--bs-white);
}
.btn[class*=-subtle] {
  --bs-btn-subtle-bg-opacity: 0.1;
}
.btn-primary-subtle {
  --bs-btn-bg: RGBA(var(--bs-primary-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-primary);
  --bs-btn-hover-bg: RGBA(var(--bs-primary-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-primary);
  --bs-btn-active-bg: RGBA(var(--bs-primary-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-primary);
  --bs-btn-disabled-bg: RGBA(var(--bs-primary-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-primary);
}
.btn-primary-desat-subtle {
  --bs-btn-bg: RGBA(var(--bs-primary-desat-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-primary-desat);
  --bs-btn-hover-bg: RGBA(var(--bs-primary-desat-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-primary-desat);
  --bs-btn-active-bg: RGBA(var(--bs-primary-desat-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-primary-desat);
  --bs-btn-disabled-bg: RGBA(var(--bs-primary-desat-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-primary-desat);
}
.btn-secondary-subtle {
  --bs-btn-bg: RGBA(var(--bs-secondary-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-hover-bg: RGBA(var(--bs-secondary-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-secondary);
  --bs-btn-active-bg: RGBA(var(--bs-secondary-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-secondary);
  --bs-btn-disabled-bg: RGBA(var(--bs-secondary-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-secondary);
}
.btn-success-subtle {
  --bs-btn-bg: RGBA(var(--bs-success-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-success);
  --bs-btn-hover-bg: RGBA(var(--bs-success-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-success);
  --bs-btn-active-bg: RGBA(var(--bs-success-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-success);
  --bs-btn-disabled-bg: RGBA(var(--bs-success-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-success);
}
.btn-info-subtle {
  --bs-btn-bg: RGBA(var(--bs-info-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-info);
  --bs-btn-hover-bg: RGBA(var(--bs-info-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-info);
  --bs-btn-active-bg: RGBA(var(--bs-info-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-info);
  --bs-btn-disabled-bg: RGBA(var(--bs-info-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-info);
}
.btn-warning-subtle {
  --bs-btn-bg: RGBA(var(--bs-warning-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-warning);
  --bs-btn-hover-bg: RGBA(var(--bs-warning-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-warning);
  --bs-btn-active-bg: RGBA(var(--bs-warning-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-warning);
  --bs-btn-disabled-bg: RGBA(var(--bs-warning-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-warning);
}
.btn-danger-subtle {
  --bs-btn-bg: RGBA(var(--bs-danger-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-danger);
  --bs-btn-hover-bg: RGBA(var(--bs-danger-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-danger);
  --bs-btn-active-bg: RGBA(var(--bs-danger-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-danger);
  --bs-btn-disabled-bg: RGBA(var(--bs-danger-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-danger);
}
.btn-light-subtle {
  --bs-btn-bg: RGBA(var(--bs-light-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-light);
  --bs-btn-hover-bg: RGBA(var(--bs-light-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-light);
  --bs-btn-active-bg: RGBA(var(--bs-light-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-light);
  --bs-btn-disabled-bg: RGBA(var(--bs-light-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-light);
}
.btn-dark-subtle {
  --bs-btn-bg: RGBA(var(--bs-dark-rgb), var(--bs-btn-subtle-bg-opacity));
  --bs-btn-color: var(--bs-dark);
  --bs-btn-hover-bg: RGBA(var(--bs-dark-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-active-bg: RGBA(var(--bs-dark-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1.5));
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-disabled-bg: RGBA(var(--bs-dark-rgb), calc(var(--bs-btn-subtle-bg-opacity) * 1));
  --bs-btn-disabled-color: var(--bs-dark);
}
.btn-pill {
  --bs-btn-border-radius: var(--bs-border-radius-pill);
}
.btn-rounded-circle {
  --bs-btn-padding-x: var(--bs-btn-padding-y);
  --bs-btn-border-radius: var(--bs-border-radius-pill);
}
.btn-rounded-circle > * {
  display: block;
  line-height: 1 !important;
  width: 1em;
}
.dropdown-menu {
  padding-right: var(--bs-dropdown-padding-x);
  padding-left: var(--bs-dropdown-padding-x);
}
.dropdown-item {
  width: auto;
  min-width: 100%;
  margin-left: calc(var(--bs-dropdown-item-padding-x) * -1);
  margin-right: calc(var(--bs-dropdown-item-padding-x) * -1);
}
.dropdown-item:hover, .dropdown-item:focus {
  outline: none;
}
.dropdown-menu > li + li,
.dropdown-item + .dropdown-item {
  margin-top: 0.45rem;
}
.dropdown-link {
  color: inherit;
}
.dropdown-link:hover {
  text-decoration: inherit;
}
.dropdown-link:hover, .dropdown-link:focus {
  outline: none;
}
.dropdown-header {
  margin-left: calc(var(--bs-dropdown-item-padding-x) * -1);
  margin-right: calc(var(--bs-dropdown-item-padding-x) * -1);
  padding: 0 var(--bs-dropdown-item-padding-x) 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.55;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.dropdown-toggle::after {
  font-family: "Feather";
  vertical-align: middle;
  border: none !important;
  content: "\e92e";
}
.dropend > .dropdown-toggle::after {
  content: "\e930";
}
.dropdown-menu-xs {
  --bs-dropdown-min-width: 0;
  --prefixdropdown-padding-y: 1rem;
  --prefixdropdown-padding-x: 1.25rem;
}
.dropdown-menu-md {
  --bs-dropdown-min-width: 22rem;
}
.dropdown-menu-lg {
  --bs-dropdown-min-width: 35rem;
  --bs-dropdown-padding-y: 2.375rem;
  --bs-dropdown-padding-x: 2.5rem;
  --bs-dropdown-item-padding-x: 2.5rem;
}
.dropdown-menu-xl {
  --bs-dropdown-min-width: 42rem;
  --bs-dropdown-padding-y: 2.375rem;
  --bs-dropdown-padding-x: 2.5rem;
  --bs-dropdown-item-padding-x: 2.5rem;
}
.dropdown-menu-lg .dropdown-item,
.dropdown-menu-xl .dropdown-header {
  margin-left: calc(var(--bs-dropdown-padding-x) * -1);
  margin-right: calc(var(--bs-dropdown-padding-x) * -1);
}
.dropend > .dropdown-menu {
  top: calc(1.625rem * -1);
}
.navbar {
  transition: all 0.2s ease-in-out;
  transition-property: background-color, color;
  z-index: 1030;
}
@media (max-width: 991.98px) {
  .navbar-dark .navbar-nav .nav-item .nav-link {
    color: var(--bs-gray-700);
  }
  .navbar-dark .navbar-nav .nav-item .nav-link:hover, .navbar-dark .navbar-nav .nav-item .nav-link:focus {
    color: var(--bs-primary);
  }
  .navbar-dark .navbar-nav .nav-item.active .nav-link,
  .navbar-dark .navbar-nav .nav-item .nav-link.active {
    color: var(--bs-primary);
  }
  .navbar-dark .navbar-collapse .navbar-toggler {
    color: var(--bs-gray-700);
  }
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}
.navbar-brand {
  font-weight: 600;
}
.navbar-brand-img {
  max-height: 2.4rem;
  width: auto;
}
.navbar-dark .navbar-brand {
  filter: brightness(0) invert(1);
}
@media (max-width: 991.98px) {
  .navbar-btn {
    width: 100%;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    font-size: var(--bs-btn-font-size);
  }
}
.navbar-nav .nav-link {
  font-weight: 600;
}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus {
  outline: none;
}
.navbar-dark.fixed-top > .container {
  position: relative;
}
.navbar-dark.fixed-top > .container::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: calc(1.25rem * -1);
  left: 0;
  border-top: var(--bs-border-width) solid rgba(255, 255, 255, 0.2);
}
@media (max-width: 991.98px) {
  .navbar-collapse {
    position: fixed;
    top: 1rem;
    left: 1rem;
    height: auto;
    max-height: calc(100% - 2rem) !important;
    width: calc(100% - 2rem);
    background-color: var(--bs-white);
    border-radius: var(--bs-dropdown-border-radius);
    box-shadow: 0 1.5rem 4rem rgba(22, 28, 45, 0.15);
    overflow-x: hidden;
    overflow-y: scroll;
  }
  .navbar-collapse.show,
  .navbar-collapse.collapsing {
    transition: all 0.2s ease-in-out;
    transition-property: opacity, transform, -webkit-transform;
    transform-origin: top right;
  }
  .navbar-collapse.show {
    opacity: 1;
    transform: scale(1);
  }
  .navbar-collapse.collapsing {
    opacity: 0;
    transform: scale(0.9);
  }
}
.navbar .navbar-toggler {
  margin-left: auto;
}
.navbar-collapse .navbar-toggler {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 1;
}
@media (min-width: 992px) {
  .navbar-collapse .navbar-toggler {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .nav-item {
    padding: 1.5rem;
  }
  .navbar-collapse .navbar-nav .nav-item + .nav-item {
    border-top: var(--bs-border-width) solid var(--bs-gray-200);
  }
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .nav-link {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.navbar-nav .dropdown-menu {
  box-shadow: none;
}
@media (min-width: 992px) {
  .navbar-nav .dropdown-menu {
    box-shadow: 0 1.5rem 4rem rgba(22, 28, 45, 0.15);
  }
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .dropdown-menu {
    min-width: 0;
    padding: 0;
  }
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .dropdown > .dropdown-menu {
    display: block !important;
  }
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .dropend > .dropdown-menu {
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 0.5rem;
  }
}
@media (min-width: 992px) {
  .navbar-collapse .navbar-nav .dropend > .dropdown-menu {
    left: 100%;
    right: auto;
  }
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .dropdown-item,
  .navbar-collapse .navbar-nav .dropdown-header {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-nav .dropdown > .dropdown-toggle::after {
  display: none;
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .dropdown > .dropdown-toggle {
    margin-bottom: 1.5rem;
    pointer-events: none;
  }
}
.navbar-nav .dropend > .dropdown-toggle {
  display: flex;
}
.navbar-nav .dropend > .dropdown-toggle::after {
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav .dropend > .dropdown-toggle::after {
    content: "\e92e";
  }
  .navbar-collapse .navbar-nav .dropend > .dropdown-toggle[aria-expanded=true]::after {
    transform-origin: center center;
    transform: rotate(180deg);
  }
}
.navbar-nav .dropdown-img-start {
  height: 100%;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  background: no-repeat center center/cover;
  border-top-left-radius: var(--bs-border-radius);
  border-bottom-left-radius: var(--bs-border-radius);
}
@media (min-width: 992px) {
  .navbar-nav .dropdown-img-start {
    display: flex;
  }
}
.navbar-nav .dropdown-img-start::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(51, 94, 234, 0.8);
  border-radius: inherit;
}
.navbar-nav .dropdown-img-start * {
  position: relative;
}
@media (min-width: 992px) {
  .navbar-nav .dropdown-menu-lg .dropdown-img-start,
  .navbar-nav .dropdown-menu-xl .dropdown-img-start {
    padding: 2.375rem 2.5rem;
  }
}
@media (min-width: 992px) {
  .navbar-nav .dropdown-body {
    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  }
}
@media (min-width: 992px) {
  .navbar-nav .dropdown-menu-lg .dropdown-body,
  .navbar-nav .dropdown-menu-xl .dropdown-body {
    padding: 2.375rem 2.5rem;
  }
}
.navbar-nav .dropdown-menu .list-group-item {
  display: flex;
  align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
  color: inherit;
}
.navbar-nav .dropdown-menu .list-group-item:hover {
  text-decoration: none;
}
@media (min-width: 992px) {
  .navbar-nav .dropdown-menu {
    display: none;
    opacity: 0;
    transition: all 0.2s ease-in-out;
    transition-property: opacity, transform, -webkit-transform;
  }
  .navbar-nav .dropend > .dropdown-menu {
    transform: translateY(10px);
  }
  .navbar-nav .dropdown > .dropdown-menu {
    left: 50%;
    transform: translate(-50%, 10px);
  }
  .navbar-nav .dropdown-menu.showing {
    display: block;
  }
  .navbar-nav .dropdown-menu.show {
    display: block;
    opacity: 1;
  }
  .navbar-nav .dropend > .dropdown-menu.show {
    transform: translateY(0);
  }
  .navbar-nav .dropdown > .dropdown-menu.show {
    transform: translate(-50%, 0);
  }
}
.card {
  --bs-card-meta-spacer-y: 1.5rem;
  --bs-card-row-spacer-y: 4rem;
  --bs-card-row-spacer-x: 2.5rem;
}
.card {
  position: relative;
  width: 100%;
}
.card-header {
  background-color: transparent;
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}
.card-body {
  display: block;
  flex-grow: 0;
}
.card-footer {
  background-color: unset;
}
.card-body, .card-footer, .card-meta, .card-img, .card-img-top, .card-img-start, .card-img-end {
  position: relative;
  min-height: 1px;
}
a.card, a.card-body, a.card-footer, a.card-meta {
  color: inherit;
}
a.card:hover, a.card-body:hover, a.card-footer:hover, a.card-meta:hover {
  text-decoration: none;
}
.card-flush {
  background-color: unset;
}
.card-flush > *:not(.card-btn) {
  padding-left: 0;
  padding-right: 0;
}
.card-border {
  position: relative;
}
.card-border::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  border-top-width: calc(var(--bs-border-width) * 2);
  border-bottom-width: calc(var(--bs-card-border-radius) - var(--bs-border-width) * 2);
  border-top-style: solid;
  border-bottom-style: solid;
  border-top-color: inherit;
  border-bottom-color: transparent;
  border-top-left-radius: var(--bs-card-border-radius);
  border-top-right-radius: var(--bs-card-border-radius);
}
.card-border-lg::after {
  border-top-width: calc(var(--bs-border-width) * 3);
  border-bottom-width: calc(var(--bs-card-border-radius) - var(--bs-border-width) * 3);
}
.card-border-xl::after {
  border-top-width: calc(var(--bs-border-width) * 4);
  border-bottom-width: calc(var(--bs-card-border-radius) - var(--bs-border-width) * 3);
}
@media (min-width: 768px) {
  .card-row .card-body {
    padding: var(--bs-card-row-spacer-y) var(--bs-card-row-spacer-x);
  }
}
@media (min-width: 768px) {
  .card-row .card-meta {
    padding-left: var(--bs-card-row-spacer-x);
    padding-right: var(--bs-card-row-spacer-x);
  }
}
.card-img-end {
  border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}
@media (min-width: 768px) {
  .card-img-end {
    border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
  }
}
.card-img-start {
  border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}
@media (min-width: 768px) {
  .card-img-start {
    border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius);
  }
}
@media (min-width: 768px) {
  .card-img-slider {
    height: 100%;
    width: 100%;
  }
  .card-img-slider * {
    height: inherit !important;
    width: inherit !important;
  }
}
.card-img-overlay {
  display: flex;
  flex-direction: column;
  padding: var(--bs-card-spacer-x);
}
.card-img-overlay .card-body {
  margin: calc(2rem * -1);
  margin-top: auto;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card-img-overlay-hover {
  overflow: hidden;
}
.card-img-overlay-hover .card-body {
  transform: translateY(110%);
  transition: all 0.3s ease;
}
.card-img-overlay-hover:hover .card-body {
  transform: translateY(0);
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .card-group {
    flex-direction: column !important;
  }
  .card-group > .card {
    flex: auto;
  }
}
.card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 var(--bs-card-spacer-x) var(--bs-card-meta-spacer-y);
}
.card-meta-divider {
  width: 100%;
  margin: 0 0 var(--bs-card-meta-spacer-y);
}
.card-btn:last-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.card-zoom {
  overflow: hidden !important;
  border-radius: inherit;
}
.card-zoom > [class*=card-img] {
  transition: all 0.3s ease;
  transform-origin: center center;
}
.card:hover > .card-zoom > [class*=card-img] {
  transform: scale(1.1);
}
.card-list .list-link {
  position: relative;
}
.card-list .list-link::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(2rem * -1);
  border-right: calc(var(--bs-border-width) * 2) solid var(--bs-primary);
  display: none;
}
.card-list .list-link:hover {
  color: var(--bs-body-color) !important;
}
.card-list .active .list-link {
  color: var(--bs-body-color) !important;
}
.card-list .active .list-link::before {
  display: block;
}
@media (max-width: 767.98px) {
  .card-bleed {
    width: auto;
    min-width: 100%;
    margin-right: calc(2.5rem * -0.5);
    margin-left: calc(2.5rem * -0.5);
    border-radius: 0;
  }
  .card-bleed .card-footer,
  .card-bleed .card-header,
  .card-bleed .card-body {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
    border-radius: 0;
  }
  .card-bleed .card-list .list-link::before {
    left: calc(2.5rem * -0.5);
  }
}
.accordion-button:not(.collapsed) {
  box-shadow: none;
}
.accordion-button:not([data-bs-toggle=collapse])::after {
  display: none;
}
.accordion-button::after {
  margin-left: 1rem;
}
.accordion-body {
  padding-top: 0;
}
.breadcrumb {
  --bs-breadcrumb-font-size: 0.9375rem;
}
.breadcrumb-item {
  font-size: var(--bs-breadcrumb-font-size);
}
.breadcrumb-item + .breadcrumb-item::before {
  content: "\e930";
  font-family: "Feather";
}
.breadcrumb-scroll {
  display: flex;
  flex-wrap: nowrap;
  overflow-y: auto;
}
.breadcrumb-scroll .breadcrumb-item {
  white-space: nowrap;
}
.breadcrumb-scroll::-webkit-scrollbar {
  display: none;
}
.pagination-sm {
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-font-size: 1.0625rem;
}
.pagination-sm .page-link {
  line-height: 1.6;
}
.pagination-lg {
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-font-size: 1.0625rem;
}
.pagination-lg .page-link {
  line-height: 1.6;
}
.badge[href]:hover {
  text-decoration: none;
}
.badge-lg {
  --bs-badge-padding-y: 0.7em;
  --bs-badge-padding-x: 1.15em;
}
.badge-rounded-circle {
  height: calc(1em + var(--bs-badge-padding-y) * 2);
  padding-left: var(--bs-badge-padding-y);
  padding-right: var(--bs-badge-padding-y);
  border-radius: var(--bs-border-radius-pill);
}
.badge-rounded-circle > * {
  display: block;
  width: 1em;
}
.badge-float {
  position: absolute;
  z-index: 1000;
}
.badge-float-inside {
  top: 1rem;
  right: 1rem;
}
.badge-float-outside {
  top: -0.5rem;
  right: -0.5rem;
}
.badge.text-bg-primary-subtle[href]:hover, .badge.text-bg-primary-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-primary-desat-subtle[href]:hover, .badge.text-bg-primary-desat-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-secondary-subtle[href]:hover, .badge.text-bg-secondary-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-success-subtle[href]:hover, .badge.text-bg-success-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-info-subtle[href]:hover, .badge.text-bg-info-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-warning-subtle[href]:hover, .badge.text-bg-warning-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-danger-subtle[href]:hover, .badge.text-bg-danger-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-light-subtle[href]:hover, .badge.text-bg-light-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-dark-subtle[href]:hover, .badge.text-bg-dark-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-white-subtle[href]:hover, .badge.text-bg-white-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-700-subtle[href]:hover, .badge.text-bg-gray-700-subtle[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-100[href]:hover, .badge.text-bg-gray-100[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-200[href]:hover, .badge.text-bg-gray-200[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-300[href]:hover, .badge.text-bg-gray-300[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-400[href]:hover, .badge.text-bg-gray-400[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-500[href]:hover, .badge.text-bg-gray-500[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-600[href]:hover, .badge.text-bg-gray-600[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-700[href]:hover, .badge.text-bg-gray-700[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-800[href]:hover, .badge.text-bg-gray-800[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-gray-900[href]:hover, .badge.text-bg-gray-900[href]:focus {
  --bs-bg-opacity: .2;
}
.badge.text-bg-white-subtle.active {
  background-color: var(--bs-white) !important;
  color: var(--bs-primary) !important;
}
.badge.text-bg-secondary-subtle.active {
  background-color: var(--bs-primary) !important;
  color: var(--bs-white) !important;
}
.alert-primary {
  --bs-alert-color: #FFFFFF;
  --bs-alert-bg: var(--bs-primary);
  --bs-alert-border-color: var(--bs-primary);
  --bs-alert-link-color: #FFFFFF;
}
.alert-primary .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-primary hr {
  color: rgb(27.88, 75.7533333333, 231.62);
}
.alert-primary-desat {
  --bs-alert-color: #FFFFFF;
  --bs-alert-bg: var(--bs-primary-desat);
  --bs-alert-border-color: var(--bs-primary-desat);
  --bs-alert-link-color: #FFFFFF;
}
.alert-primary-desat .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-primary-desat hr {
  color: rgb(85.4186746988, 120.0271084337, 233.0813253012);
}
.alert-secondary {
  --bs-alert-color: #FFFFFF;
  --bs-alert-bg: var(--bs-secondary);
  --bs-alert-border-color: var(--bs-secondary);
  --bs-alert-link-color: #FFFFFF;
}
.alert-secondary .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-secondary hr {
  color: rgb(70.8928571429, 90.3883928571, 127.6071428571);
}
.alert-success {
  --bs-alert-color: #FFFFFF;
  --bs-alert-bg: var(--bs-success);
  --bs-alert-border-color: var(--bs-success);
  --bs-alert-link-color: #FFFFFF;
}
.alert-success .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-success hr {
  color: rgb(59.3214285714, 167.1785714286, 134.8214285714);
}
.alert-info {
  --bs-alert-color: #FFFFFF;
  --bs-alert-bg: var(--bs-info);
  --bs-alert-border-color: var(--bs-info);
  --bs-alert-link-color: #FFFFFF;
}
.alert-info .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-info hr {
  color: rgb(103.8765060241, 81.9578313253, 236.5421686747);
}
.alert-warning {
  --bs-alert-color: #1B2A4E;
  --bs-alert-bg: var(--bs-warning);
  --bs-alert-border-color: var(--bs-warning);
  --bs-alert-link-color: #1B2A4E;
}
.alert-warning .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-warning hr {
  color: rgb(249.1021126761, 207.8169014085, 93.3978873239);
}
.alert-danger {
  --bs-alert-color: #FFFFFF;
  --bs-alert-bg: var(--bs-danger);
  --bs-alert-border-color: var(--bs-danger);
  --bs-alert-link-color: #FFFFFF;
}
.alert-danger .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-danger hr {
  color: rgb(219.2222222222, 49.2777777778, 69.4027777778);
}
.alert-light {
  --bs-alert-color: #1B2A4E;
  --bs-alert-bg: var(--bs-light);
  --bs-alert-border-color: var(--bs-light);
  --bs-alert-link-color: #1B2A4E;
}
.alert-light .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-light hr {
  color: rgb(229.875, 238.25, 246.625);
}
.alert-dark {
  --bs-alert-color: #FFFFFF;
  --bs-alert-bg: var(--bs-dark);
  --bs-alert-border-color: var(--bs-dark);
  --bs-alert-link-color: #FFFFFF;
}
.alert-dark .btn-close {
  color: var(--bs-alert-link-color);
}
.alert-dark hr {
  color: rgb(20.4428571429, 31.8, 59.0571428571);
}
.list-group-flush .list-group-item {
  padding-left: 0;
  padding-right: 0;
}
.list-group-flush .list-group-item:first-child {
  padding-top: 0 !important;
  border-top: 0;
}
.list-group-flush .list-group-item:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0;
}
.modal-open .navbar.fixed-top {
  padding-right: inherit;
}
.modal .btn-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 1000;
}
.popover-header {
  padding-bottom: 0;
  margin-bottom: 0.5rem;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
}
.popover-header:not(:empty) ~ .popover-body {
  padding-top: 0;
}
.avatar {
  --bs-avatar-size: 1.875rem;
  --bs-avatar-title-bg: var(--bs-gray-500);
  --bs-avatar-title-color: var(--bs-white);
  position: relative;
  display: inline-block;
  width: var(--bs-avatar-size);
  height: var(--bs-avatar-size);
  font-size: calc(var(--bs-avatar-size) / 3);
}
.avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: var(--bs-avatar-title-bg);
  color: var(--bs-avatar-title-color);
}
.avatar-online::before,
.avatar-offline::before {
  content: "";
  position: absolute;
  bottom: 5%;
  right: 5%;
  width: 20%;
  height: 20%;
  border-radius: 50%;
}
.avatar-online::before {
  background-color: var(--bs-success);
}
.avatar-offline::before {
  background-color: var(--bs-gray-500);
}
.avatar-xs {
  --bs-avatar-size: 1rem;
}
.avatar-sm {
  --bs-avatar-size: 1.5rem;
}
.avatar-lg {
  --bs-avatar-size: 2.25rem;
}
.avatar-xl {
  --bs-avatar-size: 2.25rem;
}
@media (min-width: 992px) {
  .avatar-xl {
    --bs-avatar-size: 4rem;
  }
}
.avatar-xxl {
  --bs-avatar-size: 4rem;
}
@media (min-width: 992px) {
  .avatar-xxl {
    --bs-avatar-size: 5rem;
  }
}
.avatar.avatar-4by3 {
  width: calc(var(--bs-avatar-size) * 4 / 3);
}
.avatar-group {
  display: inline-flex;
}
.avatar-group .avatar + .avatar {
  margin-left: calc(var(--bs-avatar-size) * -0.25);
}
.avatar-group .avatar:hover {
  z-index: 1;
}
.device {
  position: relative;
}
.device > .img-fluid {
  position: relative;
}
.device::before {
  content: "";
  background-color: var(--bs-light);
}
.device::before,
.device-screen {
  position: absolute;
  object-fit: cover;
}
.device-iphonex::before,
.device-iphonex > .device-screen {
  top: 7.784431138%;
  left: 16.4021164%;
  width: 66.137566137%;
  height: 80.838323353%;
}
.device-macbook::before,
.device-macbook > .device-screen {
  top: 11.53846154%;
  left: 13.38709677%;
  width: 73.548387096%;
  height: 73.076923076%;
}
.device-combo {
  position: relative;
}
.device-combo > .device {
  position: absolute;
}
.device-combo-iphonex-iphonex {
  padding-bottom: 130.250482%;
}
.device-combo-iphonex-iphonex > .device-iphonex:first-child {
  bottom: 0;
  left: 0;
  width: 65.5260116%;
  z-index: 1;
}
.device-combo-iphonex-iphonex > .device-iphonex:last-child {
  top: 0;
  right: 0;
  width: 72.8323699%;
}
.device-combo-macbook-iphonex,
.device-combo-iphonex-macbook {
  padding-bottom: 62.4260355%;
}
.device-combo-macbook-iphonex > .device-macbook,
.device-combo-iphonex-macbook > .device-macbook {
  width: 91.7159763%;
}
.device-combo-macbook-iphonex > .device-iphonex,
.device-combo-iphonex-macbook > .device-iphonex {
  width: 27.9585799%;
  z-index: 1;
}
.device-combo-macbook-iphonex > .device-macbook {
  top: 0;
  left: 0;
}
.device-combo-iphonex-macbook > .device-macbook {
  top: 0;
  right: 0;
}
.device-combo-macbook-iphonex > .device-iphonex {
  bottom: 0;
  right: 0;
}
.device-combo-iphonex-macbook > .device-iphonex {
  bottom: 0;
  left: 0;
}
.bg-dark .footer-brand {
  filter: brightness(0) invert(1);
}
.icon {
  --bs-icon-size: 3rem;
}
.icon > svg {
  width: var(--bs-icon-size);
  height: var(--bs-icon-size);
}
.icon[class*=text-] > svg [fill]:not([fill=none]) {
  fill: currentColor !important;
}
.icon-xs {
  --bs-icon-size: 1.5rem;
}
.icon-sm {
  --bs-icon-size: 2.25rem;
}
.icon-lg {
  --bs-icon-size: 4rem;
}
.icon-xl {
  --bs-icon-size: 5rem;
}
.icon-circle {
  --bs-icon-circle-size: 4.1875rem;
  --bs-icon-circle-font-size: 1.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--bs-icon-circle-size);
  height: var(--bs-icon-circle-size);
  border-radius: 50%;
}
.icon-circle > .fe {
  font-size: var(--bs-icon-circle-font-size);
}
.list {
  --bs-list-item-spacing-y: 0.35rem;
  --bs-list-link-font-size: 0.9375rem;
  --bs-list-link-color: var(--bs-gray-700);
  --bs-list-link-hover-color: var(--bs-primary);
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}
.list-item + .list-item {
  margin-top: var(--bs-list-item-spacing-y);
}
.list-link {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-size: var(--bs-list-link-font-size);
  color: var(--bs-list-link-color);
}
.list-link:hover, .list-link:focus {
  text-decoration: none;
  color: var(--bs-list-link-hover-color);
}
.screenshot {
  --bs-screenshot-border-radius: 0.625rem;
  --bs-screenshot-box-shadow: 25px 60px 125px -25px rgba(80, 102, 144, 0.1), 16px 40px 75px -40px rgba(0, 0, 0, 0.2);
  border-radius: var(--bs-screenshot-border-radius);
  box-shadow: var(--bs-screenshot-box-shadow);
}
.section-border {
  position: relative;
}
.section-border::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  border-width: calc(var(--bs-border-width) * 2) 0 0 0;
  border-style: solid;
  border-color: inherit;
  content: "";
}
.shape {
  position: absolute;
  pointer-events: none;
}
.shape > * {
  display: block;
}
.shape:not([class*=shape-blur]) {
  overflow: hidden;
}
.shape:not([class*=shape-blur]) > * {
  transform: scale(2);
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .shape > svg {
    display: none;
  }
}
.shape-top {
  top: 0;
  right: 0;
  left: 0;
}
.shape-top > * {
  transform-origin: bottom center;
}
.shape-end {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.shape-end > * {
  position: inherit;
  top: inherit;
  bottom: inherit;
  right: inherit;
  transform-origin: center left;
}
.shape-bottom {
  right: 0;
  bottom: 0;
  left: 0;
}
.shape-bottom > * {
  transform-origin: top center;
}
.shape-bottom-100 {
  right: 0;
  bottom: 100%;
  left: 0;
}
.shape-bottom-100 > * {
  transform-origin: top center;
}
.shape-start {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.shape-start > * {
  position: inherit;
  top: inherit;
  bottom: inherit;
  left: inherit;
  transform-origin: center right;
}
.shape-fluid-x > * {
  width: 100%;
  height: auto;
}
.shape-fluid-y > * {
  width: auto;
  height: 100%;
}
.shape-flip-x {
  transform: scaleX(-1);
}
.shape-blur-1 {
  top: 0;
  right: 0;
  left: 0;
}
@media (min-width: 992px) {
  .shape-blur-1 {
    bottom: 0;
    left: 50%;
    right: auto;
  }
}
.shape-blur-1 > * {
  width: 100%;
  height: auto;
}
@media (min-width: 992px) {
  .shape-blur-1 > * {
    width: auto;
    height: 100%;
  }
}
.shape-blur-2 {
  top: 0;
  right: 0;
  left: 0;
}
@media (min-width: 992px) {
  .shape-blur-2 {
    bottom: 0;
    right: 50%;
    left: auto;
  }
}
.shape-blur-2 > * {
  width: 100%;
  height: auto;
}
@media (min-width: 992px) {
  .shape-blur-2 > * {
    width: auto;
    height: 100%;
    float: right;
  }
}
.shape-blur-3 {
  top: 0;
  right: 0;
  left: 0;
}
.shape-blur-3 > * {
  width: 100%;
  height: auto;
}
.shape-blur-4 {
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%) scale(1.3);
}
.shape-blur-4 > * {
  width: auto;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .sidenav {
    position: fixed;
    top: 84px;
    height: calc(100vh - 84px);
    overflow: auto;
  }
}
@media (min-width: 992px) {
  .sidenav-start {
    left: 0;
  }
}
@media (min-width: 992px) {
  .sidenav-end {
    right: 0;
  }
}
[data-aos=img-skewed-item-start],
[data-aos=img-skewed-item-end] {
  opacity: 0;
  transition-property: opacity, transform, -webkit-transform;
  will-change: opacity, transform, -webkit-transform;
  backface-visibility: hidden;
}
[data-aos=img-skewed-item-start].aos-animate,
[data-aos=img-skewed-item-end].aos-animate {
  opacity: 1;
}
[data-aos=img-skewed-item-start] {
  transform: rotateY(-20deg) rotateX(5deg) translate3d(0, 100px, 0);
}
[data-aos=img-skewed-item-start].aos-animate {
  transform: rotateY(-35deg) rotateX(15deg) translate3d(0, 0, 0);
}
[data-aos=img-skewed-item-end] {
  transform: rotateY(20deg) rotateX(5deg) translate3d(0, 100px, 0);
}
[data-aos=img-skewed-item-end].aos-animate {
  transform: rotateY(35deg) rotateX(15deg) translate3d(0, 0, 0);
}
#bp_container {
  background: rgba(255, 255, 255, 0.873) !important;
}
#bp_container > * {
  box-shadow: none !important;
}
.bp-x {
  display: none;
}
.choices {
  position: relative;
  cursor: pointer;
}
.choices:focus {
  outline: none;
}
.choices::after {
  display: none;
}
.choices > .dropdown-menu {
  width: 100%;
}
.choices > .dropdown-menu [class^=form-control] {
  width: 100%;
  margin-bottom: 1rem;
}
.choices > .dropdown-menu .dropdown-item.is-highlighted {
  color: var(--bs-dropdown-link-hover-color);
}
.choices > .form-control-xs + .dropdown-menu,
.choices > .form-select-xs + .dropdown-menu {
  min-width: 100%;
  width: auto;
  padding: 1rem 1.25rem;
}
.choices > .form-select-xs + .dropdown-menu,
.choices > .form-control-xs + .dropdown-menu {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.choices > .form-select-lg + .dropdown-menu,
.choices > .form-control-lg + .dropdown-menu {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.choices__placeholder {
  color: #869AB8;
  opacity: 1;
}
.choices.is-open > .form-control,
.choices.is-open > .form-select {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.choices.is-open > .form-control + .dropdown-menu,
.choices.is-open > .form-select + .dropdown-menu {
  margin-top: calc(0px * -1);
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.choices__list--multiple + .form-control {
  display: inline-block;
  min-height: 0;
  width: auto;
  padding: 0;
  border-width: 0;
  border-radius: 0;
  background-color: transparent;
  font-size: 1.0625rem;
}
.form-control-lg + .choices__list--multiple + .form-control,
.form-select-lg + .choices__list--multiple + .form-control {
  font-size: 1.0625rem;
}
.form-control-sm + .choices__list--multiple + .form-control,
.form-select-sm + .choices__list--multiple + .form-control {
  font-size: 1.0625rem;
}
.choices__list--multiple {
  display: inline;
}
.choices__list--multiple > .choices__item {
  display: inline-block;
  margin-right: 0.2rem;
  padding-right: 0.375rem;
  padding-left: 0.375rem;
  font-size: 0.9375rem;
  background-color: var(--bs-light);
  border-radius: var(--bs-border-radius-sm);
}
.choices__list--multiple > .choices__item > .choices__button {
  width: 0.5rem;
  margin-left: 0.5rem;
  padding: 0;
  outline: none;
  border-width: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='var%28--bs-body-color%29' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");
  background-size: 100% auto;
  text-indent: -9999px;
  opacity: 0.5;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.choices__list--multiple > .choices__item:hover > .choices__button {
  opacity: 1;
}
.dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
}
.dz-message {
  padding: 5rem 1rem;
  background-color: var(--bs-white);
  border: 1px dashed var(--bs-gray-400);
  border-radius: var(--bs-border-radius);
  text-align: center;
  color: #869AB8;
  transition: all 0.2s ease-in-out;
  order: -1;
  cursor: pointer;
  z-index: 999;
}
.dz-message:hover {
  border-color: #869AB8;
  color: var(--bs-body-color);
}
.dz-button {
  background: none;
  border: 0;
  font-size: inherit;
  color: inherit;
}
.dz-drag-hover .dz-message {
  border-color: var(--bs-primary);
  color: var(--bs-primary);
}
.dropzone-multiple .dz-message {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.dropzone-single.dz-max-files-reached .dz-message {
  background-color: rgba(22, 28, 45, 0.9);
  color: white;
  opacity: 0;
}
.dropzone-single.dz-max-files-reached .dz-message:hover {
  opacity: 1;
}
.dz-preview-single {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--bs-border-radius);
}
.dz-preview-cover {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--bs-border-radius);
}
.dz-preview-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: var(--bs-border-radius);
}
.dz-preview-multiple .list-group-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
[data-dz-size] strong {
  font-weight: 400;
}
.fe {
  font-family: "Feather", sans-serif !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fe-activity:before {
  content: "\e900";
}
.fe-airplay:before {
  content: "\e901";
}
.fe-alert-circle:before {
  content: "\e902";
}
.fe-alert-octagon:before {
  content: "\e903";
}
.fe-alert-triangle:before {
  content: "\e904";
}
.fe-align-center:before {
  content: "\e905";
}
.fe-align-justify:before {
  content: "\e906";
}
.fe-align-left:before {
  content: "\e907";
}
.fe-align-right:before {
  content: "\e908";
}
.fe-anchor:before {
  content: "\e909";
}
.fe-aperture:before {
  content: "\e90a";
}
.fe-archive:before {
  content: "\e90b";
}
.fe-arrow-down:before {
  content: "\e90c";
}
.fe-arrow-down-circle:before {
  content: "\e90d";
}
.fe-arrow-down-left:before {
  content: "\e90e";
}
.fe-arrow-down-right:before {
  content: "\e90f";
}
.fe-arrow-left:before {
  content: "\e910";
}
.fe-arrow-left-circle:before {
  content: "\e911";
}
.fe-arrow-right:before {
  content: "\e912";
}
.fe-arrow-right-circle:before {
  content: "\e913";
}
.fe-arrow-up:before {
  content: "\e914";
}
.fe-arrow-up-circle:before {
  content: "\e915";
}
.fe-arrow-up-left:before {
  content: "\e916";
}
.fe-arrow-up-right:before {
  content: "\e917";
}
.fe-at-sign:before {
  content: "\e918";
}
.fe-award:before {
  content: "\e919";
}
.fe-bar-chart:before {
  content: "\e91a";
}
.fe-bar-chart-2:before {
  content: "\e91b";
}
.fe-battery:before {
  content: "\e91c";
}
.fe-battery-charging:before {
  content: "\e91d";
}
.fe-bell:before {
  content: "\e91e";
}
.fe-bell-off:before {
  content: "\e91f";
}
.fe-bluetooth:before {
  content: "\e920";
}
.fe-bold:before {
  content: "\e921";
}
.fe-book:before {
  content: "\e922";
}
.fe-book-open:before {
  content: "\e923";
}
.fe-bookmark:before {
  content: "\e924";
}
.fe-box:before {
  content: "\e925";
}
.fe-briefcase:before {
  content: "\e926";
}
.fe-calendar:before {
  content: "\e927";
}
.fe-camera:before {
  content: "\e928";
}
.fe-camera-off:before {
  content: "\e929";
}
.fe-cast:before {
  content: "\e92a";
}
.fe-check:before {
  content: "\e92b";
}
.fe-check-circle:before {
  content: "\e92c";
}
.fe-check-square:before {
  content: "\e92d";
}
.fe-chevron-down:before {
  content: "\e92e";
}
.fe-chevron-left:before {
  content: "\e92f";
}
.fe-chevron-right:before {
  content: "\e930";
}
.fe-chevron-up:before {
  content: "\e931";
}
.fe-chevrons-down:before {
  content: "\e932";
}
.fe-chevrons-left:before {
  content: "\e933";
}
.fe-chevrons-right:before {
  content: "\e934";
}
.fe-chevrons-up:before {
  content: "\e935";
}
.fe-chrome:before {
  content: "\e936";
}
.fe-circle:before {
  content: "\e937";
}
.fe-clipboard:before {
  content: "\e938";
}
.fe-clock:before {
  content: "\e939";
}
.fe-cloud:before {
  content: "\e93a";
}
.fe-cloud-drizzle:before {
  content: "\e93b";
}
.fe-cloud-lightning:before {
  content: "\e93c";
}
.fe-cloud-off:before {
  content: "\e93d";
}
.fe-cloud-rain:before {
  content: "\e93e";
}
.fe-cloud-snow:before {
  content: "\e93f";
}
.fe-code:before {
  content: "\e940";
}
.fe-codepen:before {
  content: "\e941";
}
.fe-codesandbox:before {
  content: "\e942";
}
.fe-coffee:before {
  content: "\e943";
}
.fe-columns:before {
  content: "\e944";
}
.fe-command:before {
  content: "\e945";
}
.fe-compass:before {
  content: "\e946";
}
.fe-copy:before {
  content: "\e947";
}
.fe-corner-down-left:before {
  content: "\e948";
}
.fe-corner-down-right:before {
  content: "\e949";
}
.fe-corner-left-down:before {
  content: "\e94a";
}
.fe-corner-left-up:before {
  content: "\e94b";
}
.fe-corner-right-down:before {
  content: "\e94c";
}
.fe-corner-right-up:before {
  content: "\e94d";
}
.fe-corner-up-left:before {
  content: "\e94e";
}
.fe-corner-up-right:before {
  content: "\e94f";
}
.fe-cpu:before {
  content: "\e950";
}
.fe-credit-card:before {
  content: "\e951";
}
.fe-crop:before {
  content: "\e952";
}
.fe-crosshair:before {
  content: "\e953";
}
.fe-database:before {
  content: "\e954";
}
.fe-delete:before {
  content: "\e955";
}
.fe-disc:before {
  content: "\e956";
}
.fe-dollar-sign:before {
  content: "\e957";
}
.fe-download:before {
  content: "\e958";
}
.fe-download-cloud:before {
  content: "\e959";
}
.fe-droplet:before {
  content: "\e95a";
}
.fe-edit:before {
  content: "\e95b";
}
.fe-edit-2:before {
  content: "\e95c";
}
.fe-edit-3:before {
  content: "\e95d";
}
.fe-external-link:before {
  content: "\e95e";
}
.fe-eye:before {
  content: "\e95f";
}
.fe-eye-off:before {
  content: "\e960";
}
.fe-facebook:before {
  content: "\e961";
}
.fe-fast-forward:before {
  content: "\e962";
}
.fe-feather:before {
  content: "\e963";
}
.fe-figma:before {
  content: "\e964";
}
.fe-file:before {
  content: "\e965";
}
.fe-file-minus:before {
  content: "\e966";
}
.fe-file-plus:before {
  content: "\e967";
}
.fe-file-text:before {
  content: "\e968";
}
.fe-film:before {
  content: "\e969";
}
.fe-filter:before {
  content: "\e96a";
}
.fe-flag:before {
  content: "\e96b";
}
.fe-folder:before {
  content: "\e96c";
}
.fe-folder-minus:before {
  content: "\e96d";
}
.fe-folder-plus:before {
  content: "\e96e";
}
.fe-framer:before {
  content: "\e96f";
}
.fe-frown:before {
  content: "\e970";
}
.fe-gift:before {
  content: "\e971";
}
.fe-git-branch:before {
  content: "\e972";
}
.fe-git-commit:before {
  content: "\e973";
}
.fe-git-merge:before {
  content: "\e974";
}
.fe-git-pull-request:before {
  content: "\e975";
}
.fe-github:before {
  content: "\e976";
}
.fe-gitlab:before {
  content: "\e977";
}
.fe-globe:before {
  content: "\e978";
}
.fe-grid:before {
  content: "\e979";
}
.fe-hard-drive:before {
  content: "\e97a";
}
.fe-hash:before {
  content: "\e97b";
}
.fe-headphones:before {
  content: "\e97c";
}
.fe-heart:before {
  content: "\e97d";
}
.fe-help-circle:before {
  content: "\e97e";
}
.fe-hexagon:before {
  content: "\e97f";
}
.fe-home:before {
  content: "\e980";
}
.fe-image:before {
  content: "\e981";
}
.fe-inbox:before {
  content: "\e982";
}
.fe-info:before {
  content: "\e983";
}
.fe-instagram:before {
  content: "\e984";
}
.fe-italic:before {
  content: "\e985";
}
.fe-key:before {
  content: "\e986";
}
.fe-layers:before {
  content: "\e987";
}
.fe-layout:before {
  content: "\e988";
}
.fe-life-buoy:before {
  content: "\e989";
}
.fe-link:before {
  content: "\e98a";
}
.fe-link-2:before {
  content: "\e98b";
}
.fe-linkedin:before {
  content: "\e98c";
}
.fe-list:before {
  content: "\e98d";
}
.fe-loader:before {
  content: "\e98e";
}
.fe-lock:before {
  content: "\e98f";
}
.fe-log-in:before {
  content: "\e990";
}
.fe-log-out:before {
  content: "\e991";
}
.fe-mail:before {
  content: "\e992";
}
.fe-map:before {
  content: "\e993";
}
.fe-map-pin:before {
  content: "\e994";
}
.fe-maximize:before {
  content: "\e995";
}
.fe-maximize-2:before {
  content: "\e996";
}
.fe-meh:before {
  content: "\e997";
}
.fe-menu:before {
  content: "\e998";
}
.fe-message-circle:before {
  content: "\e999";
}
.fe-message-square:before {
  content: "\e99a";
}
.fe-mic:before {
  content: "\e99b";
}
.fe-mic-off:before {
  content: "\e99c";
}
.fe-minimize:before {
  content: "\e99d";
}
.fe-minimize-2:before {
  content: "\e99e";
}
.fe-minus:before {
  content: "\e99f";
}
.fe-minus-circle:before {
  content: "\e9a0";
}
.fe-minus-square:before {
  content: "\e9a1";
}
.fe-monitor:before {
  content: "\e9a2";
}
.fe-moon:before {
  content: "\e9a3";
}
.fe-more-horizontal:before {
  content: "\e9a4";
}
.fe-more-vertical:before {
  content: "\e9a5";
}
.fe-mouse-pointer:before {
  content: "\e9a6";
}
.fe-move:before {
  content: "\e9a7";
}
.fe-music:before {
  content: "\e9a8";
}
.fe-navigation:before {
  content: "\e9a9";
}
.fe-navigation-2:before {
  content: "\e9aa";
}
.fe-octagon:before {
  content: "\e9ab";
}
.fe-package:before {
  content: "\e9ac";
}
.fe-paperclip:before {
  content: "\e9ad";
}
.fe-pause:before {
  content: "\e9ae";
}
.fe-pause-circle:before {
  content: "\e9af";
}
.fe-pen-tool:before {
  content: "\e9b0";
}
.fe-percent:before {
  content: "\e9b1";
}
.fe-phone:before {
  content: "\e9b2";
}
.fe-phone-call:before {
  content: "\e9b3";
}
.fe-phone-forwarded:before {
  content: "\e9b4";
}
.fe-phone-incoming:before {
  content: "\e9b5";
}
.fe-phone-missed:before {
  content: "\e9b6";
}
.fe-phone-off:before {
  content: "\e9b7";
}
.fe-phone-outgoing:before {
  content: "\e9b8";
}
.fe-pie-chart:before {
  content: "\e9b9";
}
.fe-play:before {
  content: "\e9ba";
}
.fe-play-circle:before {
  content: "\e9bb";
}
.fe-plus:before {
  content: "\e9bc";
}
.fe-plus-circle:before {
  content: "\e9bd";
}
.fe-plus-square:before {
  content: "\e9be";
}
.fe-pocket:before {
  content: "\e9bf";
}
.fe-power:before {
  content: "\e9c0";
}
.fe-printer:before {
  content: "\e9c1";
}
.fe-radio:before {
  content: "\e9c2";
}
.fe-refresh-ccw:before {
  content: "\e9c3";
}
.fe-refresh-cw:before {
  content: "\e9c4";
}
.fe-repeat:before {
  content: "\e9c5";
}
.fe-rewind:before {
  content: "\e9c6";
}
.fe-rotate-ccw:before {
  content: "\e9c7";
}
.fe-rotate-cw:before {
  content: "\e9c8";
}
.fe-rss:before {
  content: "\e9c9";
}
.fe-save:before {
  content: "\e9ca";
}
.fe-scissors:before {
  content: "\e9cb";
}
.fe-search:before {
  content: "\e9cc";
}
.fe-send:before {
  content: "\e9cd";
}
.fe-server:before {
  content: "\e9ce";
}
.fe-settings:before {
  content: "\e9cf";
}
.fe-share:before {
  content: "\e9d0";
}
.fe-share-2:before {
  content: "\e9d1";
}
.fe-shield:before {
  content: "\e9d2";
}
.fe-shield-off:before {
  content: "\e9d3";
}
.fe-shopping-bag:before {
  content: "\e9d4";
}
.fe-shopping-cart:before {
  content: "\e9d5";
}
.fe-shuffle:before {
  content: "\e9d6";
}
.fe-sidebar:before {
  content: "\e9d7";
}
.fe-skip-back:before {
  content: "\e9d8";
}
.fe-skip-forward:before {
  content: "\e9d9";
}
.fe-slack:before {
  content: "\e9da";
}
.fe-slash:before {
  content: "\e9db";
}
.fe-sliders:before {
  content: "\e9dc";
}
.fe-smartphone:before {
  content: "\e9dd";
}
.fe-smile:before {
  content: "\e9de";
}
.fe-speaker:before {
  content: "\e9df";
}
.fe-square:before {
  content: "\e9e0";
}
.fe-star:before {
  content: "\e9e1";
}
.fe-stop-circle:before {
  content: "\e9e2";
}
.fe-sun:before {
  content: "\e9e3";
}
.fe-sunrise:before {
  content: "\e9e4";
}
.fe-sunset:before {
  content: "\e9e5";
}
.fe-tablet:before {
  content: "\e9e6";
}
.fe-tag:before {
  content: "\e9e7";
}
.fe-target:before {
  content: "\e9e8";
}
.fe-terminal:before {
  content: "\e9e9";
}
.fe-thermometer:before {
  content: "\e9ea";
}
.fe-thumbs-down:before {
  content: "\e9eb";
}
.fe-thumbs-up:before {
  content: "\e9ec";
}
.fe-toggle-left:before {
  content: "\e9ed";
}
.fe-toggle-right:before {
  content: "\e9ee";
}
.fe-tool:before {
  content: "\e9ef";
}
.fe-trash:before {
  content: "\e9f0";
}
.fe-trash-2:before {
  content: "\e9f1";
}
.fe-trello:before {
  content: "\e9f2";
}
.fe-trending-down:before {
  content: "\e9f3";
}
.fe-trending-up:before {
  content: "\e9f4";
}
.fe-triangle:before {
  content: "\e9f5";
}
.fe-truck:before {
  content: "\e9f6";
}
.fe-tv:before {
  content: "\e9f7";
}
.fe-twitch:before {
  content: "\e9f8";
}
.fe-twitter:before {
  content: "\e9f9";
}
.fe-type:before {
  content: "\e9fa";
}
.fe-umbrella:before {
  content: "\e9fb";
}
.fe-underline:before {
  content: "\e9fc";
}
.fe-unlock:before {
  content: "\e9fd";
}
.fe-upload:before {
  content: "\e9fe";
}
.fe-upload-cloud:before {
  content: "\e9ff";
}
.fe-user:before {
  content: "\ea00";
}
.fe-user-check:before {
  content: "\ea01";
}
.fe-user-minus:before {
  content: "\ea02";
}
.fe-user-plus:before {
  content: "\ea03";
}
.fe-user-x:before {
  content: "\ea04";
}
.fe-users:before {
  content: "\ea05";
}
.fe-video:before {
  content: "\ea06";
}
.fe-video-off:before {
  content: "\ea07";
}
.fe-voicemail:before {
  content: "\ea08";
}
.fe-volume:before {
  content: "\ea09";
}
.fe-volume-1:before {
  content: "\ea0a";
}
.fe-volume-2:before {
  content: "\ea0b";
}
.fe-volume-x:before {
  content: "\ea0c";
}
.fe-watch:before {
  content: "\ea0d";
}
.fe-wifi:before {
  content: "\ea0e";
}
.fe-wifi-off:before {
  content: "\ea0f";
}
.fe-wind:before {
  content: "\ea10";
}
.fe-x:before {
  content: "\ea11";
}
.fe-x-circle:before {
  content: "\ea12";
}
.fe-x-octagon:before {
  content: "\ea13";
}
.fe-x-square:before {
  content: "\ea14";
}
.fe-youtube:before {
  content: "\ea15";
}
.fe-zap:before {
  content: "\ea16";
}
.fe-zap-off:before {
  content: "\ea17";
}
.fe-zoom-in:before {
  content: "\ea18";
}
.fe-zoom-out:before {
  content: "\ea19";
}
.fe-lg {
  font-size: 1.3125rem;
}
@media (min-width: 992px) {
  .fe-lg {
    font-size: 1.125rem;
  }
}
.flickity-prev-next-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(1.6em + 1.625rem + calc(1px * 2));
  height: calc(1.6em + 1.625rem + calc(1px * 2));
  background-color: var(--bs-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.05);
  color: var(--bs-white);
}
.flickity-prev-next-button::before, .flickity-prev-next-button::after {
  font-family: "Feather";
}
.flickity-prev-next-button:hover, .flickity-prev-next-button:focus {
  background-color: var(--bs-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.1);
}
.flickity-prev-next-button.previous {
  left: 0;
  transform: translate(calc(-50% + 0.625rem), -50%);
}
@media (min-width: 992px) {
  .flickity-prev-next-button.previous {
    transform: translate(-50%, -50%);
  }
}
.flickity-prev-next-button.previous::before {
  content: "\e910";
}
.flickity-prev-next-button.next {
  right: 0;
  transform: translate(calc(50% - 0.625rem), -50%);
}
@media (min-width: 992px) {
  .flickity-prev-next-button.next {
    transform: translate(50%, -50%);
  }
}
.flickity-prev-next-button.next::before {
  content: "\e912";
}
.flickity-button-icon {
  display: none;
}
.flickity-button-white .flickity-prev-next-button {
  background-color: var(--bs-white);
  color: var(--bs-primary);
}
.flickity-button-bottom .flickity-prev-next-button {
  top: auto;
  bottom: 1.5rem;
  transform: none;
}
.flickity-button-bottom .flickity-prev-next-button.previous {
  left: auto;
  right: 6.375rem;
}
.flickity-button-bottom .flickity-prev-next-button.next {
  left: auto;
  right: 2.5rem;
}
.flickity-button-inset .flickity-prev-next-button {
  transform: translateY(-50%);
}
.flickity-button-inset .flickity-prev-next-button.previous {
  left: 1.5rem;
}
.flickity-button-inset .flickity-prev-next-button.next {
  right: 1.5rem;
}
.flickity-viewport-visible .flickity-viewport {
  overflow: visible;
}
[data-flickity*='"adaptiveHeight": true'] .flickity-viewport {
  transition: all 0.5s ease;
}
.flickity-slider > [class*=col] {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.hljs {
  background-color: transparent;
}
.ql-container {
  font-family: "HKGroteskPro", serif;
}
.ql-toolbar {
  position: relative;
  padding: 0.8125rem 1.25rem;
  background-color: var(--bs-white);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
  color: var(--bs-body-color);
}
.ql-toolbar + .ql-container {
  margin-top: calc(1px * -1);
}
.ql-toolbar + .ql-container .ql-editor {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.ql-editor {
  min-height: 6.8rem;
  display: block;
  width: 100%;
  padding: 0.8125rem 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--bs-body-color);
  background-color: var(--bs-white);
  background-clip: padding-box;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: 0 0;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .ql-editor {
    transition: none;
  }
}
.ql-editor::-ms-expand {
  background-color: transparent;
  border: 0;
}
.ql-editor:focus {
  border-color: var(--bs-primary);
}
.ql-hidden {
  position: absolute;
  transform: scale(0);
}
.ql-editor.ql-blank::before {
  top: 0.8125rem;
  left: 1.25rem;
  font-style: normal;
  color: #869AB8;
}
.ql-editor:focus::before {
  display: none;
}
.ql-formats {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.ql-formats:first-child {
  padding-left: 0;
}
.ql-formats:last-child {
  padding-right: 0;
}
.ql-toolbar button {
  padding: 0 0.25rem;
  background: none;
  border: none;
  color: var(--bs-body-color);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.ql-toolbar button:hover {
  color: var(--bs-primary);
}
.ql-toolbar button:first-child {
  margin-left: -0.25rem;
}
.ql-toolbar .ql-active {
  color: var(--bs-primary);
}
.ql-toolbar button svg {
  height: 1.1875rem;
  width: 1.1875rem;
}
.ql-toolbar .ql-stroke {
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
.ql-toolbar .ql-thin {
  stroke-width: 1;
}
.ql-toolbar .ql-fill {
  fill: currentColor;
}
.ql-toolbar input.ql-image {
  position: absolute;
  transform: scale(0);
}
.ql-tooltip {
  position: absolute;
  display: flex;
  flex-wrap: nowrap;
  width: 18.5rem;
  background-color: var(--bs-popover-bg);
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
  padding: 0.8125rem 1.25rem;
  margin-top: 0.6rem;
  box-shadow: var(--bs-popover-box-shadow);
}
.ql-tooltip:before, .ql-tooltip:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%);
}
.ql-tooltip:before {
  border-bottom: 0.6rem solid var(--bs-popover-border-color);
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
}
.ql-tooltip:after {
  border-bottom: 0.5rem solid var(--bs-popover-bg);
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
}
.ql-container .ql-tooltip:hover {
  display: flex !important;
}
.ql-tooltip .ql-preview {
  width: 100%;
  --bs-btn-padding-y: 0.5625rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 0.9375rem;
  --bs-btn-border-radius: var(--bs-border-radius);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .ql-tooltip .ql-preview {
    transition: none;
  }
}
.ql-tooltip.ql-editing .ql-preview {
  display: none;
}
.ql-tooltip input {
  display: none;
  width: 100%;
  padding-top: calc(0.5625rem + 1px);
  padding-bottom: calc(0.5625rem + 1px);
  background-color: transparent;
  font-size: 0.9375rem;
  line-height: 1.6;
  border: none;
  color: var(--bs-body-color);
}
.ql-tooltip input:focus {
  outline: none;
}
.ql-tooltip.ql-editing input {
  display: block;
}
.ql-tooltip .ql-action,
.ql-tooltip .ql-remove {
  margin-left: 0.25rem;
}
.ql-tooltip .ql-action::before,
.ql-tooltip .ql-remove::before {
  display: inline-block;
  font-weight: var(--bs-btn-font-weight);
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: var(--bs-btn-border-width) solid transparent;
  cursor: pointer;
  --bs-btn-padding-y: 0.5625rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 0.9375rem;
  --bs-btn-border-radius: var(--bs-border-radius);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .ql-tooltip .ql-action::before,
  .ql-tooltip .ql-remove::before {
    transition: none;
  }
}
.ql-tooltip .ql-action::before:hover, .ql-tooltip .ql-action::before:focus,
.ql-tooltip .ql-remove::before:hover,
.ql-tooltip .ql-remove::before:focus {
  text-decoration: none;
}
.ql-tooltip .ql-action::before:focus, .ql-tooltip .ql-action::before.focus,
.ql-tooltip .ql-remove::before:focus,
.ql-tooltip .ql-remove::before.focus {
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.ql-tooltip .ql-action::before,
.ql-tooltip.ql-editing .ql-action::before {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #335EEA;
  --bs-btn-border-color: #335EEA;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: rgb(43.35, 79.9, 198.9);
  --bs-btn-hover-border-color: rgb(40.8, 75.2, 187.2);
  --bs-btn-focus-shadow-rgb: 82, 118, 237;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: rgb(40.8, 75.2, 187.2);
  --bs-btn-active-border-color: rgb(38.25, 70.5, 175.5);
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #335EEA;
  --bs-btn-disabled-border-color: #335EEA;
}
.ql-tooltip .ql-action::before {
  content: "Edit";
}
.ql-tooltip.ql-editing .ql-action::before {
  content: "Save";
}
.ql-tooltip .ql-remove::before {
  --bs-btn-color: #1B2A4E;
  --bs-btn-bg: #FFFFFF;
  --bs-btn-border-color: #FFFFFF;
  --bs-btn-hover-color: #1B2A4E;
  --bs-btn-hover-bg: white;
  --bs-btn-hover-border-color: white;
  --bs-btn-focus-shadow-rgb: 221, 223, 228;
  --bs-btn-active-color: #1B2A4E;
  --bs-btn-active-bg: white;
  --bs-btn-active-border-color: white;
  --bs-btn-active-shadow: 0 0;
  --bs-btn-disabled-color: #1B2A4E;
  --bs-btn-disabled-bg: #FFFFFF;
  --bs-btn-disabled-border-color: #FFFFFF;
  content: "Remove";
  border-color: var(--bs-gray-300);
}
.ql-tooltip.ql-editing .ql-remove::before {
  display: none;
}
.ql-editor blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.ql-editor img {
  max-width: 100%;
  height: auto;
}
.text-bg-primary-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-primary-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-primary-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-primary-desat-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-primary-desat-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-primary-desat-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-secondary-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-secondary-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-secondary-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-success-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-success-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-success-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-info-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-info-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-info-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-warning-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-warning-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-warning-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-danger-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-danger-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-danger-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-light-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-light-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-light-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-dark-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-dark-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-dark-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-white-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-white-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-white-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-gray-700-subtle {
  --bs-bg-opacity: .1;
  color: RGBA(var(--bs-gray-700-bg-subtle-rgb), 1) !important;
  background-color: RGBA(var(--bs-gray-700-bg-subtle-rgb), var(--bs-bg-opacity, 0.1)) !important;
}
.text-bg-gray-100 {
  color: #1B2A4E !important;
  background-color: RGBA(var(--bs-gray-100-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-200 {
  color: #1B2A4E !important;
  background-color: RGBA(var(--bs-gray-200-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-300 {
  color: #1B2A4E !important;
  background-color: RGBA(var(--bs-gray-300-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-400 {
  color: #1B2A4E !important;
  background-color: RGBA(var(--bs-gray-400-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-500 {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-gray-500-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-600 {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-gray-600-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-700 {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-gray-700-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-800 {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-gray-800-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-gray-900 {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-gray-900-rgb), var(--bs-bg-opacity, 1)) !important;
}
/* color palette from <https://github.com/vuejs/theme> */
:root {
  --vt-c-white: #ffffff;
  --vt-c-white-soft: #f8f8f8;
  --vt-c-white-mute: #f2f2f2;
  --vt-c-black: #181818;
  --vt-c-black-soft: #222222;
  --vt-c-black-mute: #282828;
  --vt-c-indigo: #2c3e50;
  --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
  --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
  --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
  --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
  --vt-c-text-light-1: var(--vt-c-indigo);
  --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
  --vt-c-text-dark-1: var(--vt-c-white);
  --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
}
/* semantic color variables for this project */
:root {
  --color-background: var(--vt-c-white);
  --color-background-soft: var(--vt-c-white-soft);
  --color-background-mute: var(--vt-c-white-mute);
  --color-border: var(--vt-c-divider-light-2);
  --color-border-hover: var(--vt-c-divider-light-1);
  --color-heading: var(--vt-c-text-light-1);
  --color-text: var(--vt-c-text-light-1);
  --section-gap: 160px;
}
/* Dark mode disabled - app is always light mode */
@media (prefers-color-scheme: dark) {
  :root {
    /* Override dark mode - keep light mode colors even when system is in dark mode */
    --color-background: var(--vt-c-white);
    --color-background-soft: var(--vt-c-white-soft);
    --color-background-mute: var(--vt-c-white-mute);
    --color-border: var(--vt-c-divider-light-2);
    --color-border-hover: var(--vt-c-divider-light-1);
    /* Force dark text colors for light backgrounds */
    --color-heading: var(--vt-c-indigo);
    --color-text: var(--vt-c-indigo);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box !important;
  margin: 0;
  position: relative;
  font-weight: normal;
}
body {
  min-height: 100vh;
  color: #2c3e50; /* Fixed dark text color - not affected by system color scheme */
  background: #ffffff; /* Fixed white background */
  transition: color 0.5s, background-color 0.5s;
  line-height: 1.6;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 15px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
:root {
  --custom-font-family: inherit;
  --custom-font-weight: inherit;
  --custom-font-style: inherit;
  --default-50: #f0f9ff;
  --default-100: #e0f2fe;
  --default-200: #bae6fd;
  --default-300: #7dd3fc;
  --default-400: #38bdf8;
  --default-500: #0ea5e9;
  --default-600: #0284c7;
  --default-700: #0369a1;
  --default-800: #075985;
  --default-900: #0c4a6e;
  --primary-50: var(--default-50);
  --primary-100: var(--default-100);
  --primary-200: var(--default-200);
  --primary-300: var(--default-300);
  --primary-400: var(--default-400);
  --primary-500: var(--default-500);
  --primary-600: var(--default-600);
  --primary-700: var(--default-700);
  --primary-800: var(--default-800);
  --primary-900: var(--default-900);
  --primary-color: var(--default-500);
  --default-secondary-50: #fafafa;
  --default-secondary-100: #f4f4f5;
  --default-secondary-200: #e4e4e7;
  --default-secondary-300: #d4d4d8;
  --default-secondary-400: #a1a1aa;
  --default-secondary-500: #71717a;
  --default-secondary-600: #52525b;
  --default-secondary-700: #3f3f46;
  --default-secondary-800: #27272a;
  --default-secondary-900: #18181b;
  --secondary-50: var(--default-secondary-50);
  --secondary-100: var(--default-secondary-100);
  --secondary-200: var(--default-secondary-200);
  --secondary-300: var(--default-secondary-300);
  --secondary-400: var(--default-secondary-400);
  --secondary-500: var(--default-secondary-500);
  --secondary-600: var(--default-secondary-600);
  --secondary-700: var(--default-secondary-700);
  --secondary-800: var(--default-secondary-800);
  --secondary-900: var(--default-secondary-900);
  --secondary-color: var(--default-secondary-500);
  --foreground: #18181B;
  --muted-foreground: #71717A;
}
#app {
  display: flex;
  height: 100vh;
  width: 100%;
  justify-content: center;
  font-weight: normal;
  padding: 0;
  flex: 1;
  font-family: var(--custom-font-family, "Open Sans", sans-serif);
  font-weight: var(--custom-font-weight, normal);
  font-style: var(--custom-font-style, normal);
}
a,
.green {
  text-decoration: none;
  color: hsl(160, 100%, 37%);
  transition: 0.4s;
}
.font-sans {
  font-family: var(--custom-font-family, "Open Sans", sans-serif);
  font-weight: var(--custom-font-weight, normal);
  font-style: var(--custom-font-style, normal);
}
.font-poppins {
  font-family: var(--custom-font-family, "Poppins", sans-serif);
  font-weight: var(--custom-font-weight, normal);
  font-style: var(--custom-font-style, normal);
}
body,
h1,
.h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
p, span, div, button, input, textarea, select,
label, a, li, td, th {
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
p, span, div, label, li, td, th {
  color: inherit; /* Inherit from body which now has fixed dark color */
}
.h-100vh {
  height: 100vh;
}
.secondary-color {
  color: var(--primary-500, var(--default-500)) !important;
}
.secondary-border {
  border: 1px solid var(--primary-500, var(--default-500)) !important;
}
.theme-blue-bg {
  background: var(--primary-500, var(--default-500)) !important;
  color: white;
}
.theme-green-bg {
  background: #27cc66 !important;
  color: white;
}
.theme-bg-success {
  background-color: #72b777;
  color: white;
}
.navigate-btn {
  position: absolute;
  bottom: 0;
  border: 0;
  display: flex;
  height: 40px;
  width: 100%;
}
@media (hover: hover) {
  a:hover {
    background-color: hsla(160, 100%, 37%, 0.2);
  }
}
@media (min-width: 1024px) {
  body {
    display: flex;
    place-items: center;
  }
  #app {
    display: flex;
    height: 100vh;
    padding: 0;
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .navigate-btn {
    bottom: 7%;
  }
}
.pricing-slider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.form-slider {
  width: 100%;
  text-align: center;
  margin-bottom: 10px; /* Adjust as needed */
}
/* Line hover marker styles for adding points to shapes */
.line-hover-marker {
  position: relative;
  cursor: pointer;
  z-index: 1000;
}
.line-hover-marker-inner {
  width: 24px;
  height: 24px;
  background-color: rgba(0, 102, 255, 0.6);
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
}
.line-hover-marker:hover .line-hover-marker-inner {
  background-color: rgba(0, 102, 255, 0.8);
  transform: scale(1.1);
}
.plus-icon {
  color: white;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
/* Map popup styles with custom font support */
.custom-popup {
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.custom-popup h4, .custom-popup .h4 {
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.custom-popup p {
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
.popup-detail {
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
/* Mapbox popup container styles */
.mapboxgl-popup-content {
  font-family: var(--custom-font-family, inherit);
  font-weight: var(--custom-font-weight, inherit);
  font-style: var(--custom-font-style, inherit);
}
/* Disable Mapbox logo click for kiosk mode - logo remains visible per Mapbox ToS */
.mapboxgl-ctrl-logo {
  pointer-events: none !important;
  cursor: default !important;
}
/* ======================================
   Billing Error Dialog Styles
   ====================================== */
/* Billing error styles are now using ElMessage toast notifications - see custom-error-popup below */
/* Custom popup styles */
.custom-error-popup,
.custom-success-popup {
  font-family: var(--custom-font-family, inherit);
}
.custom-error-popup {
  background-color: #fee2e2 !important;
  border-color: #fca5a5 !important;
}
.custom-error-popup .el-message__content {
  color: #b91c1c !important;
}
.custom-error-popup .el-message__icon {
  color: #dc2626 !important;
}
.custom-success-popup {
  background-color: #dcfce7 !important;
  border-color: #86efac !important;
}
.custom-success-popup .el-message__content {
  color: #166534 !important;
}
.custom-success-popup .el-message__icon {
  color: #22c55e !important;
}.btn-builder {
  background-color: #0c8ce9;
  color: white;
}

.btn-builder:hover {
  background-color: #0b7cd1;
}

.btn-view {
  background-color: #28a745;
  color: white;
}

.btn-view:hover {
  background-color: #218838;
}
