/* Clientes, Pedidos, Ondas and Execução de separação (wms-picking): layout and colors only (the putaway/inventory layout is reused). Field/button
   sizes live in forms.css. */
.customers-layout {
   grid-template-columns: minmax(340px, 1fr) minmax(0, 1.6fr)
}

@media(max-width:1100px) {
   .customers-layout {
      grid-template-columns: 1fr
   }
}

.stock-grid.picking-grid th,
.stock-grid.picking-grid td {
   padding: 7px 8px;
   vertical-align: top
}

.stock-grid.picking-grid tr.is-error td {
   background: var(--danger-faint)
}

.stock-grid.picking-grid tr.is-selected td {
   background: var(--primary-faint)
}

.stock-grid.picking-lines input {
   min-width: 90px
}

.compact-chip.picking-other {
   background: var(--accent-soft);
   color: var(--accent-text);
   text-transform: none;
   letter-spacing: 0
}

.picking-import {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 10px;
   margin: 0 0 8px
}

.picking-import small {
   font-size: 10px;
   color: var(--text-2)
}

.picking-import-result {
   display: grid;
   gap: 10px;
   margin-top: 10px;
   font-size: 11px;
   color: var(--text-2)
}

.picking-import-error,
.picking-import-warning {
   display: block;
   font-size: 10px;
   line-height: 1.5
}

.picking-import-error {
   color: var(--danger-text)
}

.picking-import-warning {
   color: var(--warning-text)
}

.picking-search {
   display: flex;
   gap: 8px;
   align-items: center;
   margin: 8px 0
}

.picking-search input {
   flex: 1
}

.picking-results {
   margin: 6px 0 10px;
   max-height: 240px;
   overflow: auto
}

.picking-chosen {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 8px 0;
   font-size: 12px
}

.picking-new-customer {
   align-items: end;
   margin-top: 8px
}

.picking-inline {
   margin-top: 6px
}

.picking-fraction {
   color: var(--warning-text) !important
}

.picking-tabs {
   margin: 0 0 14px
}

.picking-check {
   display: flex;
   align-items: flex-start;
   gap: 8px;
   font-size: 11px;
   color: var(--text-2);
   margin: 6px 0 10px
}

.picking-check small {
   display: block;
   font-size: 10px;
   color: var(--text-faint)
}

.picking-row-actions {
   display: flex;
   gap: 4px;
   justify-content: flex-end
}

.picking-result,
.picking-order {
   margin-top: 14px;
   display: grid;
   gap: 8px;
   font-size: 11px;
   color: var(--text-2)
}

.picking-group {
   display: grid;
   gap: 4px;
   margin-bottom: 10px
}

.picking-group .compact-row {
   width: 100%
}

.picking-group-title {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 8px;
   font-size: 11px;
   color: var(--text-2)
}

.picking-group-title small {
   font-size: 10px;
   color: var(--text-faint)
}

.picking-group-title button {
   margin-left: auto
}

.picking-short {
   display: grid;
   gap: 8px;
   margin-top: 10px
}

.compact-chip.picking-request {
   background: var(--indigo-soft);
   color: var(--indigo-text);
   text-transform: none;
   letter-spacing: 0
}

/* Lists of Pedidos and Solicitações (validation r1 M4, r2 M1): the shared two-line row (.compact-row.is-two-line, compact-list.css; wms-ui "Linha de
   lista em duas linhas", 2026-10-08), the destination/supplier on line 1, the chips and the status on line 2. Ondas ("N pedidos", one chip and the
   status) is the classic one-line row. */

/* A long chip ("Solicitação do Armazém N – Nome") never passes the row: ellipsis, the whole text in the title. */
/* Styled CSV picker (M3): the label is the 34px .inventory-action button; the native input stays in the DOM (focusable, labelled) but invisible. */
.picking-file {
   position: relative
}

.picking-file:focus-within {
   outline: 2px solid var(--focus-ring);
   outline-offset: 1px
}

.picking-file.is-disabled {
   opacity: .55;
   cursor: not-allowed
}

.picking-file-input {
   position: absolute;
   width: 1px;
   height: 1px;
   opacity: 0;
   overflow: hidden;
   clip-path: inset(50%);
   white-space: nowrap
}

.picking-file-name {
   max-width: 260px;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap
}
/* J6C (wms-picking, 2026-10-17): the filter and the order of execution of the list, the state of the regions of an order and the region chip of a task. Tokens only. */
.picking-filters {
   display: grid;
   gap: 8px;
   margin: 8px 0
}

.picking-regions {
   display: grid;
   gap: 4px
}

.picking-region {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 8px;
   font-size: 11px;
   color: var(--text-2)
}

.picking-region small {
   font-size: 10px;
   color: var(--text-faint)
}

.picking-region.is-mine small {
   color: var(--success-text)
}

.picking-region button {
   margin-left: auto
}

.compact-chip.picking-region-chip.is-storage,
.compact-chip.picking-region-name.is-storage {
   background: var(--indigo-soft);
   color: var(--indigo-text)
}

.compact-chip.picking-region-chip.is-picking,
.compact-chip.picking-region-name.is-picking {
   background: var(--primary-soft);
   color: var(--primary-text)
}
