html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.shipment-row {
    cursor: pointer;
    user-select: none;
    transition: background-color 0.1s ease, border-color 0.1s ease;
}

    .shipment-row:hover {
        background-color: var(--bs-light);
    }

    .shipment-row.shipment-selected {
        background-color: rgba(var(--bs-primary-rgb), 0.08);
        border-color: var(--bs-primary) !important;
    }

    .shipment-row .form-check-input {
        cursor: pointer;
    }

    .shipment-row.shipment-in-batch {
        cursor: default;
        background-color: rgba(var(--bs-primary-rgb), 0.04);
    }

        .shipment-row.shipment-in-batch:hover {
            background-color: rgba(var(--bs-primary-rgb), 0.04);
        }
/* Full-batch picking list. No selection or enforced current-shipment state. */
.picking-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    font-size: .875rem;
}
.picking-progress { flex: 1 1 10rem; max-width: 20rem; height: .5rem; }
.picking-list { border: 1px solid var(--bs-border-color); border-radius: .5rem; overflow: hidden; }
.picking-list-heading, .picking-shipment {
    display: grid;
    grid-template-columns: 4.5rem minmax(9rem, 1fr) minmax(0, 1.6fr) minmax(14rem, 1.15fr);
    gap: 1rem;
    padding: .875rem 1rem;
}
.picking-list-heading {
    background: var(--bs-tertiary-bg);
    font-size: .75rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
}
.picking-shipment { border-top: 1px solid var(--bs-border-color); font-size: .875rem; align-items: start; }
.picking-shipment-completed { background: rgba(var(--bs-success-rgb), .04); }
.picking-number-column { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; }
.picking-number { font-size: 1.5rem; line-height: 1.2; font-variant-numeric: tabular-nums; color: var(--bs-primary); }
.picking-reference { font-size: .7rem; color: var(--bs-secondary-color); overflow-wrap: anywhere; }
.picking-address, .picking-orders { min-width: 0; overflow-wrap: anywhere; }
.picking-dispatch { margin-top: .5rem; font-size: .75rem; color: var(--bs-secondary-color); }
.picking-order + .picking-order { margin-top: .75rem; padding-top: .75rem; border-top: 1px dashed var(--bs-border-color); }
.picking-order-heading { font-size: .75rem; color: var(--bs-secondary-color); margin-bottom: .35rem; }
.picking-order-heading strong { color: var(--bs-body-color); }
.picking-item { display: grid; grid-template-columns: minmax(2.25rem, max-content) minmax(0, 1fr); gap: .5rem; }
.picking-item + .picking-item { margin-top: .5rem; }
.picking-quantity { font-weight: 700; font-variant-numeric: tabular-nums; }
.picking-sku { font-size: .75rem; color: var(--bs-secondary-color); }
.picking-mobile-label { display: none; }
@media (max-width: 991.98px) {
    .picking-list-heading, .picking-shipment {
        grid-template-columns: 4rem minmax(7rem, 1fr) minmax(0, 1.3fr) minmax(12rem, 1fr);
        gap: .75rem;
        padding: .75rem;
    }
}
@media (max-width: 767.98px) {
    .picking-list-heading { display: none; }
    .picking-shipment { grid-template-columns: 4.5rem minmax(0, 1fr); }
    .picking-shipment:first-of-type { border-top: 0; }
    .picking-number-column { grid-column: 1; grid-row: 1; }
    .picking-address { grid-column: 2; grid-row: 1; }
    .picking-orders { grid-column: 2; grid-row: 2; }
    .picking-controls { grid-column: 2; grid-row: 3; }
    .picking-mobile-label { display: block; font-size: .7rem; color: var(--bs-secondary-color); }
}

.picking-shipment { scroll-margin-top: 1rem; }
.picking-controls { min-width: 0; }
.picking-controls .form-label { font-size: .75rem; margin-bottom: .25rem; }
.picking-package-fields { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: .5rem; }
.picking-postage-legend { font-size: .8rem; font-weight: 600; margin-bottom: .5rem; }
.picking-postage-note, .picking-value { font-size: .75rem; }
.picking-postage-note { color: var(--bs-secondary-color); }
.picking-postage-note span { display: block; }

/* Long listing titles must wrap inside the outstanding queue flex column. */
.shipment-row .flex-grow-1 { min-width: 0; overflow-wrap: anywhere; }
