/* Keep report filters within the centered container at every breakpoint. */
.report-filters__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: end;
  margin-bottom: 16px;
}
.report-filters__grid > .form-group {
  min-width: 0;
  margin-bottom: 0;
}
.report-filters__grid .form-control {
  width: 100%;
  min-width: 0;
}
@media (min-width: 480px) {
  .report-filters__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .report-filters__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1500px) {
  .report-filters__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Match the Delivery navigation type size (Bootstrap default). */
.navbar {
  font-size: 14px;
}

.table-responsive.table-can-drag {
  cursor: grab;
}
.table-responsive a {
  cursor: pointer;
}
.table-responsive.table-is-dragging,
.table-responsive.table-is-dragging * {
  cursor: grabbing !important;
  user-select: none;
  -webkit-user-select: none;
}

/* Keep the order identifier visible while the remaining columns scroll. */
.table-responsive > .table > thead > tr > th:first-child:not([colspan]),
.table-responsive > .table > tbody > tr > td:first-child:not([colspan]),
.table-responsive > .table > tfoot > tr > td:first-child:not([colspan]) {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 90px;
  white-space: nowrap;
  background-color: var(--frozen-column-background, #fff);
  border-left: 0;
  box-shadow: 3px 0 5px rgba(0, 0, 0, .06);
}
.table-responsive > .table > thead > tr > th:first-child:not([colspan]) {
  z-index: 3;
}
/* Match Ace's native striped colors on the opaque frozen cells. */
.table-responsive > .table-striped > tbody > tr:nth-of-type(odd) {
  --frozen-column-background: #f6f6f7;
}

/* Let report columns expand horizontally instead of wrapping their text. */
.table-responsive > .table th,
.table-responsive > .table td {
  white-space: nowrap;
}

/* The frozen column does not initiate dragging; its links remain clickable. */
.table-responsive.table-can-drag > .table > :is(thead, tbody, tfoot) > tr > :is(th, td):first-child:not([colspan]) {
  cursor: default;
}
.table-responsive.table-can-drag > .table > :is(thead, tbody, tfoot) > tr > :is(th, td):first-child:not([colspan]) a {
  cursor: pointer;
}



/* Remove the outer top and right borders, including the mobile wrapper. */
.table-responsive,
.table-responsive > .table {
  border-top: 0;
  border-right: 0;
}
.table-responsive > .table > :is(thead, tbody, tfoot) > tr > :last-child {
  border-right: 0;
}

/* Keep the outer left edge borderless, including on mobile. */
.table-responsive,
.table-responsive > .table,
.table-responsive > .table > :is(thead, tbody, tfoot) > tr > :first-child {
  border-left: 0;
}
