/* Warehouse SO shares the application's native controls and typography. */
.warehouse-so { color: var(--text-primary); font: inherit; font-size: 12px; line-height: var(--line-body, 1.5); min-width: 0; }
dialog.warehouse-so, .warehouse-so-dialog { box-sizing: border-box; width: min(1200px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius-section, 12px); background: var(--bg-card, white); overflow: auto; overscroll-behavior: contain; }
dialog.warehouse-so::backdrop { background: #0f172a99; }
dialog.warehouse-so-dialog { width: min(640px, calc(100vw - 32px)); }
.warehouse-so h2 { margin: 4px 0; font-size: 14px; }
.warehouse-so h3 { margin: 12px 0; font-size: 14px; }
.warehouse-so small { display: block; color: var(--text-secondary); margin-top: 4px; }
.warehouse-so .widget { padding: 18px; min-width: 0; }
.warehouse-so-heading, .warehouse-so-toolbar, .warehouse-so footer, .warehouse-so-actions, .warehouse-so nav { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.warehouse-so-heading, .warehouse-so-toolbar { justify-content: space-between; }
.warehouse-so nav { margin: 14px 0; }
.warehouse-so footer { margin-top: 16px; }
.warehouse-so .warehouse-so-actions .btn { margin: 0; }
.warehouse-so .btn { font: inherit; border: 1px solid var(--border); min-height: var(--control-height); touch-action: manipulation; user-select: none; -webkit-tap-highlight-color: transparent; }
.warehouse-so .btn:active:not(:disabled) { filter: brightness(.94); }
.warehouse-so .btn[aria-pressed="true"] { background: var(--primary); color: white; border-color: var(--primary); }
.warehouse-so .btn:disabled { opacity: .5; cursor: not-allowed; }
.warehouse-so .form-group { display: flex; flex-direction: column; gap: 5px; margin: 10px 0; min-width: 0; font-size: 12px; }
.warehouse-so input:not([type="checkbox"]), .warehouse-so select, .warehouse-so textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--control-height); padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-card); color: var(--text-primary); font: inherit; }
.warehouse-so input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 auto; }
.warehouse-so textarea { min-height: 80px; }
.warehouse-so-fields, .warehouse-so-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.warehouse-so-groups > section { padding: 12px; border: 1px solid var(--border); border-radius: 8px; }
.warehouse-so-pics { display: flex; flex-wrap: wrap; gap: 8px 16px; padding-top: 8px; }
.warehouse-so-pics label { display: flex; align-items: center; gap: 6px; min-height: 34px; }
.warehouse-so-scan { display: flex; align-items: end; gap: 10px; max-width: 650px; }
.warehouse-so-scan .form-group { flex: 1; margin: 0; }
.warehouse-so-progress { max-width: 760px; margin: 12px 0 14px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-card); }
.warehouse-so-progress-head { display: flex; justify-content: space-between; gap: 12px; }
.warehouse-so-progress progress { display: block; width: 100%; height: 8px; margin: 7px 0 3px; accent-color: var(--primary); }
.warehouse-so-progress small { margin: 0; }
.warehouse-so-progress-categories { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 8px; color: var(--text-secondary); }
.warehouse-so-progress-categories strong { color: var(--text-primary); }
.warehouse-so .table-responsive { width: 100%; overflow-x: auto; overflow-y: visible; overscroll-behavior-inline: contain; margin-top: 14px; }
.warehouse-so .data-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.warehouse-so .data-table th, .warehouse-so .data-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.warehouse-so .data-table td:nth-child(2) { min-width: 190px; max-width: 350px; overflow-wrap: anywhere; }
.warehouse-so [data-wh-notice] { min-height: 20px; color: var(--text-secondary); overflow-wrap: anywhere; }
.warehouse-so [data-dialog-error] { color: var(--danger, #b42318); }
.warehouse-so-finding { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.warehouse-so-finding span { flex: 1; min-width: 0; }
.warehouse-so-stepper { display: flex; align-items: end; gap: 8px; }
.warehouse-so-stepper .form-group { width: 120px; margin: 0; }
.warehouse-so-stepper .btn { min-width: 44px; font-size: 20px; }
.warehouse-so [hidden], .warehouse-so[hidden] { display: none !important; }
@media (max-width: 720px) {
 dialog.warehouse-so { width: calc(100vw - 16px); max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 12px; }
 .warehouse-so .widget { padding: 12px; }
 .warehouse-so-fields, .warehouse-so-groups { grid-template-columns: minmax(0, 1fr); }
 .warehouse-so h2 { font-size: 14px; }
 .warehouse-so .btn { min-height: 44px; }
}
@media (pointer: coarse) { .warehouse-so input:not([type="checkbox"]), .warehouse-so select, .warehouse-so textarea { font-size: 16px; } }
#warehouse-so-page { width: 100%; min-width: 0; color: var(--text-primary); }
#warehouse-so-page[hidden] { display: none; }
.warehouse-so-page-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.warehouse-so-page-header h2 { font-size: 18px; margin: 0; line-height: var(--line-heading); }
/* Duplicate sources remain separate inventory units, identified by Excel row. */
.warehouse-so .warehouse-so-duplicate > td,
.warehouse-so label.warehouse-so-duplicate { background: var(--warning-bg, #fff8dd); }
.warehouse-so .warehouse-so-duplicate-label { color: var(--warning-text, #765300); font-weight: 600; }
.warehouse-so label.warehouse-so-duplicate { padding-inline: 10px; }
.warehouse-so-duplicate-warning { margin: 12px 0; padding: 12px; border: 1px solid var(--warning-border, #dfc66e); border-radius: 8px; background: var(--warning-bg, #fff8dd); overflow-wrap: anywhere; }
.warehouse-so-duplicate-warning summary { cursor: pointer; font-weight: 600; }
.warehouse-so-duplicate-warning ul { max-height: 240px; overflow-y: auto; padding-left: 20px; }
.warehouse-so-duplicate-warning li + li { margin-top: 8px; }

/* Findings follow WP Stock Section A while retaining Warehouse editor actions. */
.warehouse-so .warehouse-so-findings-wrap { border: 1px solid var(--border); border-radius: var(--radius-section, 12px); }
.warehouse-so-findings-table { width: 100%; min-width: 1120px; table-layout: fixed; border-collapse: collapse; font: inherit; }
.warehouse-so-findings-table th, .warehouse-so-findings-table td { padding: 12px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.warehouse-so-findings-table th { background: var(--bg-table-header, #e8eef9); font-weight: 600; line-height: 1.35; vertical-align: middle; }
.warehouse-so-findings-table td { background: var(--bg-secondary, #f5f6fa); }
.warehouse-so-findings-table tbody tr:last-child td { border-bottom: 0; }
.warehouse-so-findings-table .wh-finding-no { width: 4%; }
.warehouse-so-findings-table .wh-finding-code { width: 14%; }
.warehouse-so-findings-table .wh-finding-product { width: 18%; }
.warehouse-so-findings-table .wh-finding-qty { width: 4%; }
.warehouse-so-findings-table .wh-finding-status { width: 9%; }
.warehouse-so-findings-table .wh-finding-issue { width: 12%; }
.warehouse-so-findings-table .wh-finding-details { width: 27%; }
.warehouse-so-findings-table .wh-finding-action { width: 12%; }
.warehouse-so-findings-table .warehouse-so-finding-notes { white-space: pre-wrap; }
.warehouse-so-findings-table .warehouse-so-actions { align-items: flex-start; }

/* Keep the two HA identity actions readable inside horizontally scrollable tables. */
.warehouse-so-ha-imei-actions { min-width: 170px; }
.warehouse-so-ha-imei-actions .btn { white-space: nowrap; }
