/* These styles are generated from project.scss. */

.alert-debug {
  color: black;
  background-color: white;
  border-color: #d6e9c6;
}

.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

/* additional styles here */
.center {
  text-align: center;
}

/* django-admin-interface sets align-items: center on the checkbox row, a
   column flex container, which floats "SMS Opt-in" into the middle of the
   change form. Django's own value keeps it at the left like every other field. */
.admin-interface .aligned .flex-container.checkbox-row {
  align-items: flex-start;
}

.results td,
.results th {
  vertical-align: middle;
}

#progress-modal {
  position: relative;
  background: #fff;
  width: auto;
  max-width: 500px;
  margin: 20px auto;
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
}

.modal-body {
  padding: 1rem;
}

.modal-title {
  font-size: 1.25rem;
}

.loader {
  border: 16px solid #f3f3f3;
  /* Light grey */
  border-top: 16px solid #3498db;
  /* Blue */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  margin: 20px auto;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.page {
  page-break-after: always;
}

@media print {

  .no-print,
  .no-print * {
    display: none !important;
  }
}

/* override inconsistencies in admin_interface */
form .button {
  padding: 4px 5px !important;
  white-space: nowrap;
}

.field-shift_actions .button {
  margin: 0;
}

/* Django gives the date/time pickers a fixed width (19em) and overflow:hidden.
   django-admin-interface also styles every `.module` as width:100%, and the
   picker carries that class -- so it stretched to the viewport and, opening next
   to the right-hand filter sidebar, was clipped to its first column. Pin the
   width back. */
.admin-interface .calendarbox.module,
.admin-interface .clockbox.module {
  width: 19em;
}

/* The New Orders sidebar: one form (admin/delivery/new_orders.html). */
.new-orders-filter {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0 15px 15px;
}

.new-orders-filter label {
  font-weight: bold;
  margin-top: 8px;
}

.new-orders-filter input[type="date"],
.new-orders-filter select {
  width: 100%;
  box-sizing: border-box;
}

.new-orders-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.new-orders-filter-row input[type="date"] {
  flex: 1 1 auto;
}

.new-orders-today {
  white-space: nowrap;
}

.new-orders-empty {
  margin: 20px;
  color: var(--body-quiet-color, #666);
}

.new-orders-filter-hint {
  color: var(--body-quiet-color, #666);
  font-size: 0.9em;
}

.new-orders-filter .new-orders-apply {
  align-self: flex-start;
  margin-top: 8px;
}

/* color codings */
tr.shift.past {
  background-color: gray;
}

tr.shift.unavailable {
  background-color: pink;
}

tr.shift.warning {
  background-color: lightyellow;
}

/* walk list */
.delivery-item {
  page-break-inside: avoid;
  /* border-bottom: 1px solid #ccc; */
  padding-bottom: 10px;
  margin-bottom: 10px;
  float: left;
  /* Clear floats within each delivery item */
}

.delivery-item .recipient-details {
  width: 30%;
  float: left;
}

.delivery-item .item-list {
  width: 70%;
  float: left;
}

.delivery-item tr.shopify-order {
  background-color: #ffdddd;
}

.summary-table {
  page-break-inside: avoid;
  border-collapse: collapse;
  margin-bottom: 20px;
  float: right;
  width: 300px;
}

.summary-table td,
.summary-table th {
  border-bottom: 1px solid #ccc;
  padding: 5px;
  word-wrap: break-word;
}

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

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.row-even {
  background-color: #f2f2f2;
}
