/* V1.2.17 fluid quota table and compact expanded editor without horizontal scrolling. */
.exhibitor-quota-table-wrap {
  overflow-x: clip;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.exhibitor-quota-table {
  min-width: 0 !important;
  table-layout: fixed;
  width: 100%;
}

.exhibitor-quota-table th,
.exhibitor-quota-table td {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
}

.exhibitor-quota-table th:nth-child(1),
.exhibitor-quota-table .quota-summary-row > td:nth-child(1) {
  min-width: 0 !important;
  width: 32% !important;
}

.exhibitor-quota-table th:nth-child(2),
.exhibitor-quota-table .quota-summary-row > td:nth-child(2) {
  width: 15%;
}

.exhibitor-quota-table th:nth-child(3),
.exhibitor-quota-table .quota-summary-row > td:nth-child(3) {
  width: 39%;
}

.exhibitor-quota-table th:nth-child(4),
.exhibitor-quota-table .quota-summary-row > td:nth-child(4) {
  width: 14%;
}

.exhibitor-quota-table .quota-summary-row > td {
  padding: 7px 8px;
}

.quota-summary-chips {
  gap: 4px;
}

.quota-summary-chips span {
  font-size: .73rem;
  padding: 4px 6px;
  white-space: normal;
}

.quota-detail-row > td {
  padding-inline: 8px !important;
}

.quota-event-list {
  gap: 4px;
  padding-top: 5px;
}

.quota-event-editor {
  gap: 5px;
  grid-template-areas: "event self guest save";
  grid-template-columns: minmax(110px, .82fr) minmax(0, 1fr) minmax(0, 1.12fr) auto;
  padding: 5px 7px;
}

.quota-event-name {
  grid-area: event;
}

.quota-compact-self {
  grid-area: self;
}

.quota-compact-guest {
  grid-area: guest;
}

.quota-event-save {
  grid-area: save;
  min-height: 30px;
  padding: 4px 9px;
}

.quota-compact-kind {
  gap: 4px;
  grid-template-columns: minmax(66px, .9fr) 54px minmax(62px, .8fr);
}

.quota-compact-kind input {
  box-sizing: border-box;
  height: 30px;
  margin: 0;
  min-height: 30px;
  min-width: 0;
  padding: 3px 5px;
  width: 100%;
}

.quota-compact-usage {
  font-size: .7rem;
  overflow-wrap: anywhere;
  white-space: normal;
}

.exhibitor-quota-table .quota-detail-row .quota-compact-usage > b {
  display: inline;
}

.quota-compact-code {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

@media (min-width: 901px) {
  .quota-compact-usage {
    white-space: nowrap;
  }

  .exhibitor-quota-table .quota-detail-row .quota-compact-code {
    display: inline;
    margin: 0 0 0 4px;
    white-space: nowrap;
  }
}

.quota-detail-note {
  margin-top: 4px;
}

@media (max-width: 900px) {
  .quota-event-editor {
    grid-template-areas:
      "event save"
      "self self"
      "guest guest";
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (max-width: 680px) {
  .exhibitor-quota-table-wrap {
    overflow-x: clip;
  }

  .exhibitor-quota-table,
  .exhibitor-quota-table tbody {
    display: block;
    min-width: 0 !important;
    width: 100%;
  }

  .exhibitor-quota-table thead {
    display: none;
  }

  .exhibitor-quota-table .quota-summary-row {
    display: grid;
    grid-template-areas:
      "name staff"
      "summary action";
    grid-template-columns: minmax(0, 1fr) auto;
    height: auto;
  }

  .exhibitor-quota-table .quota-summary-row > td {
    display: block;
    padding: 6px;
    width: auto !important;
  }

  .exhibitor-quota-table .quota-summary-row > td:nth-child(1) { grid-area: name; }
  .exhibitor-quota-table .quota-summary-row > td:nth-child(2) { grid-area: staff; }
  .exhibitor-quota-table .quota-summary-row > td:nth-child(3) { grid-area: summary; }
  .exhibitor-quota-table .quota-summary-row > td:nth-child(4) { grid-area: action; }

  .exhibitor-quota-table .quota-detail-row {
    display: block;
    height: auto;
  }

  .exhibitor-quota-table .quota-detail-row > td {
    display: block;
    width: 100% !important;
  }

  .quota-summary-chips {
    justify-content: flex-start;
  }

  .quota-event-editor {
    gap: 5px;
    grid-template-areas:
      "event save"
      "self self"
      "guest guest";
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 6px;
  }

  .quota-compact-kind {
    grid-template-columns: minmax(82px, 1fr) 56px minmax(78px, .8fr);
  }
}
