/* Inventários and Contagem de inventário (wms-inventory): layout and colors only. Field/button sizes live in forms.css. */
.inventories-layout {
    grid-template-columns: minmax(380px, 1fr) minmax(0, 1.9fr)
}

.inventory-counting-layout {
    grid-template-columns: minmax(360px, 1fr) minmax(0, 1.9fr)
}

@media(max-width:1100px) {

    .inventories-layout,
    .inventory-counting-layout {
        grid-template-columns: 1fr
    }
}

.inventory-main,
.inventory-detail {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-content: start
}

.inventory-main>*,
.inventory-detail>* {
    min-width: 0
}

.inventory-main .profile-form,
.inventory-detail .profile-form {
    min-width: 0
}

.inventory-feedback {
    margin: 0
}

.inventory-filter {
    margin-top: 12px
}

.inventory-filter label {
    margin-bottom: 6px
}

.inventory-status.is-open {
    background: var(--primary-faint);
    color: var(--primary-text)
}

.inventory-status.is-running {
    background: var(--accent-soft);
    color: var(--accent-text)
}

.inventory-status.is-review {
    background: var(--purple-soft);
    color: var(--purple-text)
}

.inventory-status.is-closed {
    background: var(--success-soft);
    color: var(--success-text)
}

.inventory-status.is-stopped {
    background: var(--surface-2);
    color: var(--text-muted)
}

.inventory-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-2);
    cursor: pointer;
    white-space: nowrap
}

.inventory-action:disabled {
    opacity: .5;
    cursor: default
}

.profile-save.inventory-start {
    background: var(--purple-fill);
    color: var(--on-fill)
}

.profile-save:disabled {
    opacity: .55
}

/* Form: scope kind, pickers, chosen chips and overlap warnings. */
.inventory-kind {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    cursor: pointer
}

.inventory-kind.checked {
    border-color: var(--purple-border);
    background: var(--purple-soft);
    color: var(--purple-text);
    font-weight: 600
}

.inventory-kind input {
    margin: 0
}

.inventory-scope-note {
    margin: 0
}

.inventory-parents {
    margin-bottom: 10px
}

.inventory-product-search .module-search {
    flex: 1;
    min-width: 0
}

.inventory-picker {
    margin-top: 10px;
    max-height: 220px;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 4px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px
}

.inventory-picker .compact-empty {
    margin: 8px
}

.inventory-picker-error {
    margin: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    color: var(--danger-text);
    font-size: 11px
}

.inventory-picker-error p {
    margin: 0;
    flex: 1;
    min-width: 160px
}

.inventory-option {
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: var(--radius);
    cursor: pointer;
    color: var(--text-2);
    min-width: 0
}

.inventory-option:hover {
    background: var(--hover)
}

.inventory-option.checked {
    background: var(--primary-faint)
}

.inventory-option input {
    margin: 0
}

.inventory-option-code {
    flex-shrink: 0;
    font: 700 9px 'Manrope', sans-serif;
    color: var(--accent-text);
    background: var(--accent-soft);
    padding: 3px 6px;
    border-radius: var(--radius-sm)
}

.inventory-option-title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.inventory-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 10px
}

.inventory-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 4px 3px 7px;
    border-radius: var(--radius-sm);
    background: var(--purple-soft);
    color: var(--purple-text);
    font: 700 9px 'Manrope', sans-serif
}

.inventory-chip button {
    border: 0;
    background: none;
    color: inherit;
    display: grid;
    place-items: center;
    padding: 0;
    cursor: pointer
}

.inventory-overlaps {
    margin: 0 0 14px;
    padding: 14px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--warning-border);
    background: var(--warning-faint);
    color: var(--warning-text)
}

.inventory-overlaps.is-pending {
    border-color: var(--warning-border);
    box-shadow: 0 0 0 3px var(--warning-soft)
}

.inventory-overlaps strong {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px
}

.inventory-overlaps p {
    font-size: 10px;
    line-height: 1.6;
    margin: 6px 0
}

.inventory-overlaps ul {
    margin: 0;
    padding-left: 18px;
    font-size: 10px;
    line-height: 1.8
}

.inventory-overlaps em {
    font-style: normal;
    font-size: 8px;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background: var(--warning-soft)
}

.inventory-overlaps small {
    display: block;
    font-size: 9px;
    margin-top: 6px
}

.inventory-confirm-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
    margin-top: 10px;
    flex-wrap: wrap
}

.inventory-start-hint {
    margin: 0
}

.inventory-reason {
    margin: 0 0 12px
}

.address-confirm .permission-option {
    margin: 0 0 12px;
    background: var(--surface)
}

/* Detail: description, scope, timeline, progress, summary and audit. */
.inventory-detail .profile-form-title {
    margin-bottom: 14px
}

.inventory-description {
    font-size: 11px;
    color: var(--text-2);
    margin: 0 0 10px;
    overflow-wrap: anywhere
}

.inventory-scope-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px
}

.inventory-timeline {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px
}

.inventory-timeline li {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px 4px 4px;
    border-radius: var(--radius-lg);
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 600;
    border: 1px solid transparent
}

.inventory-timeline li>span {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    flex-shrink: 0
}

.inventory-timeline li.is-done {
    background: var(--success-soft);
    color: var(--success-text)
}

.inventory-timeline li.is-done>span {
    background: var(--success);
    border-color: var(--success);
    color: var(--on-fill)
}

.inventory-timeline li.is-current {
    background: var(--accent-soft);
    color: var(--accent-text);
    border-color: var(--accent-border)
}

.inventory-timeline li.is-current>span {
    border-color: var(--orange);
    background: var(--orange)
}

.inventory-timeline li.is-optional:not(.is-done):not(.is-current) {
    background: none;
    border: 1px dashed var(--border-strong)
}

.inventory-timeline li.is-stopped {
    background: var(--danger-soft);
    color: var(--danger-text);
    border-color: var(--danger-border)
}

.inventory-progress {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    margin-bottom: 14px
}

.inventory-progress-card {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 12px;
    min-width: 0
}

.inventory-progress-card.is-current {
    border-color: var(--purple-border);
    background: var(--purple-faint)
}

.inventory-progress-card strong {
    display: block;
    font: 700 12px 'Manrope', sans-serif;
    color: var(--text-2);
    margin: 5px 0 8px
}

.inventory-progress-card span {
    display: block;
    font-size: 9px;
    color: var(--text-faint);
    margin-top: 7px
}

.inventory-bar {
    height: 6px;
    border-radius: var(--radius-xs);
    background: var(--chart-track);
    overflow: hidden
}

.inventory-bar i {
    display: block;
    height: 100%;
    background: var(--purple)
}

.inventory-summary span {
    font-size: 9px;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    color: var(--text-2)
}

.inventory-audit {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
    margin: 0 0 12px
}

.inventory-audit div {
    padding: 10px 12px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    min-width: 0
}

.inventory-audit dt {
    font-size: 9px;
    color: var(--text-muted)
}

.inventory-audit dd {
    margin: 4px 0 0;
    font-size: 10px;
    color: var(--text-2);
    overflow-wrap: anywhere
}

.inventory-readonly {
    margin: 0
}

.inventory-section .profile-list-title {
    align-items: flex-start
}

.inventory-address-tools {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 12px
}

.inventory-address-tools .module-search {
    flex: 1;
    min-width: 200px;
    width: auto
}

.inventory-pending-toggle {
    margin: 0
}

/* Grids (addresses, review, counting sheet): compact cells inside the shared stock grid. */
.inventory-grid-wrap {
    max-height: 420px
}

.stock-grid.inventory-grid th,
.stock-grid.inventory-grid td {
    padding: 7px 8px
}

.inventory-address {
    font-family: ui-monospace, monospace;
    font-weight: 600
}

.inventory-address-state {
    font-size: 9px;
    color: var(--text-faint)
}

.inventory-address-state.is-progress {
    color: var(--accent-text)
}

.inventory-product-cell strong {
    display: block;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.inventory-review-grid tr.is-divergent td {
    background: var(--warning-faint)
}

.inventory-review-grid tr.is-divergent.is-pending td:first-child {
    box-shadow: inset 3px 0 var(--warning)
}

.inventory-decision {
    display: inline-block;
    max-width: 120px;
    white-space: normal;
    line-height: 1.3;
    font-size: 9px;
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    background: var(--success-soft);
    color: var(--success-text)
}

.inventory-decision.is-pending {
    background: var(--danger-soft);
    color: var(--danger-text)
}

.inventory-review-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px
}

.inventory-decision-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 8px 10px;
    border-radius: var(--radius-lg);
    background: var(--primary-faint);
    border: 1px solid var(--border-subtle)
}

.inventory-decision-bar>span {
    flex: 1;
    min-width: 160px;
    font-size: 10px;
    color: var(--text-2)
}

.inventory-preview {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--primary-border);
    border-radius: var(--radius-lg);
    background: var(--primary-faint)
}

.inventory-preview>strong {
    font: 700 12px 'Manrope', sans-serif;
    color: var(--primary-text)
}

.inventory-preview dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 10px;
    margin: 10px 0 0
}

/* Values on the same line even when a label wraps (2026-10-22, user request: "Sobras bloqueadas na doca"): each total is a column with the value at the bottom. */
.inventory-preview dl>div {
    display: flex;
    flex-direction: column
}

.inventory-preview dt {
    font-size: 9px;
    color: var(--text-muted)
}

.inventory-preview dd {
    margin: auto 0 0;
    padding-top: 4px;
    font: 700 13px 'Manrope', sans-serif;
    color: var(--primary-text)
}

.inventory-preview .is-warning dd {
    color: var(--danger-text)
}

.inventory-capacity {
    margin-top: 12px;
    font-size: 10px;
    color: var(--warning-text)
}

.inventory-capacity p {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 6px
}

.inventory-capacity ul {
    margin: 0;
    padding-left: 18px;
    line-height: 1.7;
    overflow-wrap: anywhere
}

.inventory-history li {
    border-left: 2px solid var(--border);
    padding: 2px 0 2px 10px;
    min-width: 0
}

.inventory-history strong {
    display: block;
    font-size: 10px;
    color: var(--text-2)
}

/* Counting screen. */
.inventory-count-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    min-width: 0;
    max-width: 440px
}

.inventory-count-banner>div {
    min-width: 0;
    flex: 1
}

.inventory-count-banner strong {
    display: block;
    font-size: 11px;
    color: var(--text-2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.inventory-tabs {
    margin: 12px 0 0;
    padding-bottom: 10px;
    flex-wrap: wrap
}

.inventory-row-icon {
    flex-shrink: 0;
    color: var(--text-faint)
}

.inventory-address-status.is-pending {
    background: var(--surface-2);
    color: var(--text-muted)
}

.inventory-address-status.is-progress {
    background: var(--accent-soft);
    color: var(--accent-text)
}

.inventory-address-status.is-done {
    background: var(--success-soft);
    color: var(--success-text)
}

.inventory-address-status.is-other {
    background: var(--primary-faint);
    color: var(--primary-text)
}

.inventory-address-status.is-blocked {
    background: var(--danger-soft);
    color: var(--danger-text)
}

.inventory-sheet .profile-form-title {
    margin-bottom: 16px
}

.inventory-sheet .profile-form-title h2 {
    overflow-wrap: anywhere
}

.inventory-entry {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .9fr) auto;
    gap: 10px;
    align-items: start;
    margin-top: 16px;
    padding: 14px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg)
}

.inventory-entry .user-field label {
    margin-bottom: 6px
}

.inventory-entry-save {
    margin-top: 19px
}

@media(max-width:1300px) {
    .inventory-entry {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .inventory-entry-product {
        grid-column: 1/-1
    }

    .inventory-entry-save {
        grid-column: 1/-1;
        justify-self: end;
        margin-top: 0
    }
}

.inventory-sheet .address-notice {
    margin: 14px 0 0
}

.inventory-sheet .profile-form-footer {
    flex-wrap: wrap
}

.inventory-empty .error {
    margin: 0
}

.inventory-empty .inventory-action {
    margin-top: 6px
}

/* Server pages of the address lists (counting and manager): "Mostrando X de N" + "Carregar mais". */
.inventory-list-more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px
}

.inventory-list-more small {
    font-size: 10px;
    color: var(--text-faint)
}

.inventory-inactive {
    color: var(--text-faint)
}

.inventory-product-hint {
    color: var(--text-2);
    font-weight: 600
}

/* "Limpar" of the chosen scope chips (InventoryForm): a blue text action beside 9px chips, never the 34px "Novo X" button of forms.css (validation r2 of the shipping, M9). */
.inventory-chips-clear {
    display: flex;
    gap: 5px;
    align-items: center;
    border: 0;
    background: none;
    color: var(--blue);
    font-size: 9px;
    padding: 0;
    cursor: pointer
}

.inventory-chips-clear:disabled {
    opacity: .5;
    cursor: default
}