/* ========================================================================== */
/* FCMS UI LOCK v1 · v0.9.1                                                */
/*                                                                            */
/* This file is intentionally loaded AFTER style.css.                         */
/* Business/feature CSS may change layout or widths, but must not change the  */
/* shared geometry and typography below. Edit this file only when the UI Lock */
/* itself is deliberately revised.                                            */
/* ========================================================================== */

:root{
  --ui-lock-control-height:30px;
  --ui-lock-grid-control-height:26px;
  --ui-lock-grid-head-height:28px;
  --ui-lock-grid-row-height:28px;
  --ui-lock-query-row-height:34px;
  --ui-lock-section-title-height:34px;
  --ui-lock-page-title-height:28px;

  --ui-lock-font-body:12px;
  --ui-lock-font-control:12px;
  --ui-lock-font-label:11px;
  --ui-lock-font-grid:12px;
  --ui-lock-font-grid-head:11px;
  --ui-lock-font-section:14px;
  --ui-lock-font-page:18px;
  --ui-lock-font-status:11px;
  --ui-lock-font-aux:11px;

  --ui-lock-border:#aebfcd;
  --ui-lock-grid-line:#c5d2dc;
  --ui-lock-grid-head:#e7eef4;
  --ui-lock-selected:#fff2b3;
  --ui-lock-radius:2px;
  --ui-lock-gap:4px;

  /* Keep legacy variables as aliases so old feature selectors resolve to the
     locked geometry instead of reintroducing their historical dimensions. */
  --wms-control-height:var(--ui-lock-control-height);
  --wms-form-control-height:var(--ui-lock-control-height);
  --wms-grid-control-height:var(--ui-lock-grid-control-height);
  --wms-query-row-height:var(--ui-lock-query-row-height);
  --wms-table-head-height:var(--ui-lock-grid-head-height);
  --wms-table-row-height:var(--ui-lock-grid-row-height);
  --wms-section-title-height:var(--ui-lock-section-title-height);
  --wms-page-title-height:var(--ui-lock-page-title-height);
  --wms-font-body:var(--ui-lock-font-body);
  --wms-font-control:var(--ui-lock-font-control);
  --wms-font-grid:var(--ui-lock-font-grid);
  --wms-font-grid-head:var(--ui-lock-font-grid-head);
  --wms-font-section:var(--ui-lock-font-section);
  --wms-font-page:var(--ui-lock-font-page);
  --wms-grid-line:var(--ui-lock-grid-line);
  --wms-grid-header:var(--ui-lock-grid-head);
  --wms-selected:var(--ui-lock-selected);
}

/* -------------------------------------------------------------------------- */
/* Typography lock                                                            */
/* -------------------------------------------------------------------------- */
#app-view,
#app-view .wms-page{
  font-size:var(--ui-lock-font-body)!important;
  line-height:1.3!important;
}

#app-view .wms-page>h1{
  box-sizing:border-box!important;
  height:var(--ui-lock-page-title-height)!important;
  min-height:var(--ui-lock-page-title-height)!important;
  margin:0 0 6px!important;
  padding:0!important;
  font-size:var(--ui-lock-font-page)!important;
  font-weight:700!important;
  line-height:24px!important;
}

#app-view .wms-page h2,
#app-view .section-title-row h2,
#app-view .compact-panel-head h2{
  margin:0!important;
  padding:0!important;
  font-size:var(--ui-lock-font-section)!important;
  font-weight:700!important;
  line-height:20px!important;
}

#app-view .wms-page h3,
#app-view .section-title-row h3{
  font-size:12px!important;
  line-height:18px!important;
}

#app-view .page-help,
#app-view .muted,
#app-view .help,
#app-view .field-help,
#app-view .selected-record-label,
#app-view .empty,
#app-view .wms-autocomplete-empty,
#app-view .confirm-date-label{
  font-size:var(--ui-lock-font-aux)!important;
}

/* -------------------------------------------------------------------------- */
/* Control geometry lock                                                      */
/* -------------------------------------------------------------------------- */
#app-view .wms-page input:not([type="checkbox"]):not([type="radio"]),
#app-view .wms-page select,
#app-view .wms-page button,
#app-view .app-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .app-modal select,
#app-view .app-modal button,
#app-view .workflow-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .workflow-modal select,
#app-view .workflow-modal button{
  box-sizing:border-box!important;
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  margin:0!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:var(--ui-lock-radius)!important;
  box-shadow:none!important;
  font-size:var(--ui-lock-font-control)!important;
  line-height:20px!important;
}

#app-view .wms-page input:not([type="checkbox"]):not([type="radio"]),
#app-view .wms-page select,
#app-view .app-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .app-modal select,
#app-view .workflow-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .workflow-modal select{
  padding:3px 7px!important;
  border-color:var(--ui-lock-border)!important;
  background-color:#fff!important;
}

#app-view .wms-page button,
#app-view .app-modal button,
#app-view .workflow-modal button{
  padding:3px 10px!important;
  border-color:var(--ui-lock-border)!important;
}

/* Primary, secondary and danger buttons may differ by color only. */
#app-view .wms-page button.primary,
#app-view .wms-page button.secondary,
#app-view .wms-page button.danger,
#app-view .app-modal button.primary,
#app-view .app-modal button.secondary,
#app-view .app-modal button.danger,
#app-view .workflow-modal button.primary,
#app-view .workflow-modal button.secondary,
#app-view .workflow-modal button.danger{
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  border-width:1px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
  box-shadow:none!important;
}

#app-view .wms-page label,
#app-view .wms-query-label,
#app-view .date-range-label,
#app-view .plan-picker-label,
#app-view .app-modal-field{
  font-size:var(--ui-lock-font-label)!important;
  line-height:14px!important;
}

#app-view .wms-page input[type="checkbox"],
#app-view .wms-page input[type="radio"],
#app-view .app-modal input[type="checkbox"],
#app-view .app-modal input[type="radio"],
#app-view .workflow-modal input[type="checkbox"],
#app-view .workflow-modal input[type="radio"]{
  box-sizing:border-box!important;
  width:15px!important;
  min-width:15px!important;
  max-width:15px!important;
  height:15px!important;
  min-height:15px!important;
  max-height:15px!important;
  margin:0!important;
  padding:0!important;
}

/* Textareas keep content-driven height, but share the same type/border system. */
#app-view .wms-page textarea,
#app-view .app-modal textarea,
#app-view .workflow-modal textarea{
  box-sizing:border-box!important;
  min-height:64px!important;
  padding:6px 7px!important;
  border:1px solid var(--ui-lock-border)!important;
  border-radius:var(--ui-lock-radius)!important;
  box-shadow:none!important;
  font-size:var(--ui-lock-font-control)!important;
  line-height:1.35!important;
}

/* -------------------------------------------------------------------------- */
/* Calendar/date control lock                                                 */
/* -------------------------------------------------------------------------- */
#app-view .smart-date,
#app-view .plan-date-input,
#app-view .plan-edit-date,
#app-view .outbound-draft-date,
#app-view .confirm-edit-date,
#app-view .pallet-date-input{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) var(--ui-lock-control-height)!important;
  gap:2px!important;
  align-items:stretch!important;
  width:100%!important;
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  margin:0!important;
}

#app-view .smart-date-trigger{
  box-sizing:border-box!important;
  width:var(--ui-lock-control-height)!important;
  min-width:var(--ui-lock-control-height)!important;
  max-width:var(--ui-lock-control-height)!important;
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  padding:0!important;
  border-width:1px!important;
  border-radius:var(--ui-lock-radius)!important;
}

/* Native date hosts stay physically isolated so they can never steal clicks
   from a neighbouring select/input. */
#app-view .wms-page .smart-date>input.smart-date-calendar,
#app-view .wms-page .plan-date-input>input.smart-date-calendar,
#app-view .wms-page .plan-edit-date>input.smart-date-calendar,
#app-view .wms-page .outbound-draft-date>input.smart-date-calendar,
#app-view .wms-page .confirm-edit-date>input.smart-date-calendar,
#app-view .wms-page .pallet-date-input>input.smart-date-calendar{
  position:absolute!important;
  width:1px!important;
  min-width:1px!important;
  max-width:1px!important;
  height:1px!important;
  min-height:1px!important;
  max-height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* -------------------------------------------------------------------------- */
/* Form/search alignment lock                                                 */
/* -------------------------------------------------------------------------- */
#app-view .master-form,
#app-view .form-grid,
#app-view .inbound-plan-form,
#app-view .outbound-plan-form,
#app-view .outbound-form-grid{
  align-items:start!important;
  gap:5px 7px!important;
}

#app-view .master-form>label,
#app-view .form-grid>label,
#app-view .inbound-plan-form>label,
#app-view .outbound-plan-form>label,
#app-view .outbound-form-grid>label{
  min-width:0!important;
  line-height:14px!important;
}

#app-view .master-form>label>input,
#app-view .master-form>label>select,
#app-view .master-form>label>.input-button,
#app-view .master-form>label>.smart-date,
#app-view .form-grid>label>input,
#app-view .form-grid>label>select,
#app-view .form-grid>label>.input-button,
#app-view .form-grid>label>.smart-date,
#app-view .inbound-plan-form>label>input,
#app-view .inbound-plan-form>label>select,
#app-view .inbound-plan-form>label>.input-button,
#app-view .inbound-plan-form>label>.smart-date,
#app-view .outbound-plan-form>label>input,
#app-view .outbound-plan-form>label>select,
#app-view .outbound-plan-form>label>.input-button,
#app-view .outbound-plan-form>label>.smart-date,
#app-view .outbound-form-grid>label>input,
#app-view .outbound-form-grid>label>select,
#app-view .outbound-form-grid>label>.input-button,
#app-view .outbound-form-grid>label>.smart-date{
  width:100%!important;
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  margin-top:3px!important;
}

#app-view .input-button{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:3px!important;
  align-items:stretch!important;
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
}
#app-view .input-button>*{height:var(--ui-lock-control-height)!important;min-height:var(--ui-lock-control-height)!important;max-height:var(--ui-lock-control-height)!important;margin:0!important}

#app-view .toolbar,
#app-view .toolbar.wrap,
#app-view .query-action-group,
#app-view .section-title-actions,
#app-view .inbound-form-actions,
#app-view .master-form-actions,
#app-view .outbound-form-actions,
#app-view .selected-section-controls,
#app-view .plan-product-actions,
#app-view .date-range-actions,
#app-view .quick-range-buttons{
  align-items:center!important;
  gap:var(--ui-lock-gap)!important;
}

#app-view .wms-query-row,
#app-view .wave-filter-table-row{
  box-sizing:border-box!important;
  min-height:var(--ui-lock-query-row-height)!important;
  height:var(--ui-lock-query-row-height)!important;
  padding:2px!important;
  gap:3px!important;
  align-items:center!important;
}

#app-view .query-action-group,
#app-view .quick-range-buttons{
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
}

/* -------------------------------------------------------------------------- */
/* Section-title/action bar lock                                              */
/* -------------------------------------------------------------------------- */
#app-view .section-title-row,
#app-view .compact-panel-head{
  box-sizing:border-box!important;
  min-height:var(--ui-lock-section-title-height)!important;
  height:var(--ui-lock-section-title-height)!important;
  padding:2px 6px!important;
  align-items:center!important;
}

#app-view .section-title-actions,
#app-view .selected-section-controls,
#app-view .plan-product-actions{
  min-height:var(--ui-lock-control-height)!important;
  height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
}

/* -------------------------------------------------------------------------- */
/* Grid lock                                                                  */
/* -------------------------------------------------------------------------- */
#app-view .table-wrap{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  overflow:auto!important;
  border:1px solid var(--ui-lock-grid-line)!important;
  border-radius:0!important;
  background:#fff!important;
  scrollbar-gutter:stable!important;
}

#app-view .table-wrap table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:var(--ui-lock-font-grid)!important;
}

#app-view .table-wrap thead{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
}

#app-view .table-wrap th,
#app-view .table-wrap td{
  box-sizing:border-box!important;
  height:var(--ui-lock-grid-row-height)!important;
  min-height:var(--ui-lock-grid-row-height)!important;
  padding:1px 6px!important;
  border-right:1px solid var(--ui-lock-grid-line)!important;
  border-bottom:1px solid var(--ui-lock-grid-line)!important;
  vertical-align:middle!important;
  line-height:20px!important;
}

#app-view .table-wrap th{
  height:var(--ui-lock-grid-head-height)!important;
  min-height:var(--ui-lock-grid-head-height)!important;
  background:var(--ui-lock-grid-head)!important;
  color:#29465e!important;
  text-align:center!important;
  font-size:var(--ui-lock-font-grid-head)!important;
  font-weight:700!important;
  border-bottom-color:#97aab9!important;
}

#app-view .table-wrap td{
  font-size:var(--ui-lock-font-grid)!important;
}

#app-view .table-wrap th:last-child,
#app-view .table-wrap td:last-child{border-right:0!important}
#app-view .table-wrap tbody tr:last-child td{border-bottom:0!important}
#app-view .table-wrap tbody tr:nth-child(even):not(.is-selected):not(.selected)>td{background:#f8fafc!important}
#app-view .table-wrap tbody tr.is-selected>td,
#app-view .table-wrap tbody tr.selected>td{background:var(--ui-lock-selected)!important;color:#25313d!important}

/* In-grid controls are intentionally smaller than page controls, but every
   in-grid control uses exactly the same locked geometry. */
#app-view .table-wrap input:not([type="checkbox"]):not([type="radio"]),
#app-view .table-wrap select,
#app-view .table-wrap button,
#app-view .plan-draft-table input:not([type="checkbox"]):not([type="radio"]),
#app-view .plan-draft-table select,
#app-view .plan-draft-table button,
#app-view .plan-inline-edit-table input:not([type="checkbox"]):not([type="radio"]),
#app-view .plan-inline-edit-table select,
#app-view .plan-inline-edit-table button,
#app-view .outbound-plan-draft-table input:not([type="checkbox"]):not([type="radio"]),
#app-view .outbound-plan-draft-table select,
#app-view .outbound-plan-draft-table button{
  height:var(--ui-lock-grid-control-height)!important;
  min-height:var(--ui-lock-grid-control-height)!important;
  max-height:var(--ui-lock-grid-control-height)!important;
  margin:0!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  border-width:1px!important;
  border-radius:var(--ui-lock-radius)!important;
  font-size:11px!important;
  line-height:18px!important;
}

#app-view .table-wrap input[type="checkbox"],
#app-view .table-wrap input[type="radio"]{
  width:15px!important;min-width:15px!important;max-width:15px!important;
  height:15px!important;min-height:15px!important;max-height:15px!important;
}

#app-view .table-empty-row td{
  height:72px!important;
  min-height:72px!important;
  padding:0!important;
  background:#fff!important;
}
#app-view .table-empty-row .empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:70px!important;
  padding:0!important;
  background:#fbfcfd!important;
  font-size:var(--ui-lock-font-aux)!important;
}

/* -------------------------------------------------------------------------- */
/* Status lock                                                                */
/* -------------------------------------------------------------------------- */
#app-view .status-pill,
#app-view .status{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:48px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  padding:0 7px!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:999px!important;
  font-size:var(--ui-lock-font-status)!important;
  font-weight:700!important;
  line-height:20px!important;
  white-space:nowrap!important;
}

/* -------------------------------------------------------------------------- */
/* Explicit exception boundaries                                              */
/* -------------------------------------------------------------------------- */
/* Header/sidebar/workspace tabs are navigation chrome, not business controls.
   Their existing compact dimensions remain intentional. */
#app-view header button,
#app-view nav button,
#app-view .workspace-tab-strip button,
#app-view .workspace-tab button{
  max-height:none!important;
}

/* Native hidden inputs used solely as implementation hosts must never be
   promoted to the visible control height by the lock. */
#app-view .wms-page input[type="file"].hidden,
#app-view .wms-page .file-button input[type="file"]{
  width:1px!important;
  height:1px!important;
  min-height:1px!important;
  max-height:1px!important;
  padding:0!important;
  border:0!important;
}

/* Form baseline hard-lock. The duplicated root ID is deliberate: historical
   feature selectors use !important and high specificity. UI Lock must always
   win the cascade so a direct input and a wrapped input/date control start on
   exactly the same Y coordinate. */
#app-view#app-view .master-form>label>input:not([type="checkbox"]):not([type="radio"]),
#app-view#app-view .master-form>label>select,
#app-view#app-view .master-form>label>.input-button,
#app-view#app-view .master-form>label>.smart-date,
#app-view#app-view .form-grid>label>input:not([type="checkbox"]):not([type="radio"]),
#app-view#app-view .form-grid>label>select,
#app-view#app-view .form-grid>label>.input-button,
#app-view#app-view .form-grid>label>.smart-date,
#app-view#app-view .inbound-plan-form>label>input:not([type="checkbox"]):not([type="radio"]),
#app-view#app-view .inbound-plan-form>label>select,
#app-view#app-view .inbound-plan-form>label>.input-button,
#app-view#app-view .inbound-plan-form>label>.smart-date,
#app-view#app-view .outbound-plan-form>label>input:not([type="checkbox"]):not([type="radio"]),
#app-view#app-view .outbound-plan-form>label>select,
#app-view#app-view .outbound-plan-form>label>.input-button,
#app-view#app-view .outbound-plan-form>label>.smart-date,
#app-view#app-view .outbound-form-grid>label>input:not([type="checkbox"]):not([type="radio"]),
#app-view#app-view .outbound-form-grid>label>select,
#app-view#app-view .outbound-form-grid>label>.input-button,
#app-view#app-view .outbound-form-grid>label>.smart-date{
  margin-top:3px!important;
}

/* Common business-panel shell. Old inbound screens used thicker colored top
   borders than outbound/inventory screens; UI Lock removes that visual drift. */
#app-view .wms-page .inbound-section,
#app-view .wms-page .outbound-section,
#app-view .wms-page .inventory-workflow-search-block,
#app-view .wms-page .inventory-workflow-stock-block,
#app-view .wms-page .inventory-workflow-action-block,
#app-view .wms-page .inventory-workflow-approval-block{
  border-width:1px!important;
  border-style:solid!important;
  border-color:var(--ui-lock-border)!important;
  border-radius:0!important;
  box-shadow:none!important;
}


/* UI Lock v1 correction: grid sort headers are labels, never boxed controls. */
#app-view .table-wrap th>.table-sort-button,
#app-view .plan-draft-table th>.editable-sort-button,
#app-view .plan-inline-edit-table th>.editable-sort-button,
#app-view .outbound-plan-draft-table th>.editable-sort-button{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0 3px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:inherit!important;
  font-size:var(--ui-lock-font-grid-head)!important;font-weight:700!important;line-height:20px!important;
}
#app-view .table-wrap th>.table-sort-button:hover,
#app-view .table-wrap th>.table-sort-button:focus-visible,
#app-view .table-wrap th>.table-sort-button.active,
#app-view .plan-draft-table th>.editable-sort-button:hover,
#app-view .plan-draft-table th>.editable-sort-button:focus-visible,
#app-view .plan-draft-table th>.editable-sort-button.active{background:transparent!important;color:#123f6b!important}


/* v0.9.1: confirmation input is a true modal, not a third workflow panel. */
#page-inbound-confirmations>#inbound-confirm-registration-section.workflow-modal-backdrop:not(.hidden){
  position:fixed!important;inset:0!important;z-index:420!important;display:flex!important;
  align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;
  min-width:0!important;min-height:0!important;margin:0!important;padding:10px!important;overflow:auto!important;flex:none!important;
}

/* -------------------------------------------------------------------------- */
/* v0.9.2 cumulative UI Lock corrections                                      */
/* -------------------------------------------------------------------------- */
/* Registration grids must fit their modal. Feature CSS may not hide the last
   column. Wider content scrolls inside the grid only. */
#app-view#app-view .workflow-modal-registration{
  width:min(1680px,calc(100vw - 12px))!important;
}
#app-view#app-view .inbound-registration-modal{
  width:min(1600px,calc(100vw - 12px))!important;
}
#app-view#app-view #plan-draft-lines>.table-wrap,
#app-view#app-view #outbound-plan-draft-lines>.table-wrap{
  overflow-x:auto!important;
  overflow-y:auto!important;
  max-width:100%!important;
}
#app-view#app-view #plan-draft-lines .plan-draft-table{
  width:100%!important;
  min-width:1180px!important;
  table-layout:fixed!important;
}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(1),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(1){width:9%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(2),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(2){width:14%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(3),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(3){width:7%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(4),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(4){width:18%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(5),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(5){width:11%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(6),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(6){width:7%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(7),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(7){width:11%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(8),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(8){width:8%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(9),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(9){width:10%!important}
#app-view#app-view #plan-draft-lines .plan-draft-table th:nth-child(10),#app-view#app-view #plan-draft-lines .plan-draft-table td:nth-child(10){width:5%!important}
#app-view#app-view .outbound-plan-draft-table{
  width:100%!important;
  min-width:1180px!important;
  table-layout:fixed!important;
}
#app-view#app-view .outbound-plan-draft-table th:nth-child(1),#app-view#app-view .outbound-plan-draft-table td:nth-child(1){width:11%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(2),#app-view#app-view .outbound-plan-draft-table td:nth-child(2){width:16%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(3),#app-view#app-view .outbound-plan-draft-table td:nth-child(3){width:5%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(4),#app-view#app-view .outbound-plan-draft-table td:nth-child(4){width:5%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(5),#app-view#app-view .outbound-plan-draft-table td:nth-child(5){width:7%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(6),#app-view#app-view .outbound-plan-draft-table td:nth-child(6){width:7%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(7),#app-view#app-view .outbound-plan-draft-table td:nth-child(7){width:7%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(8),#app-view#app-view .outbound-plan-draft-table td:nth-child(8){width:12%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(9),#app-view#app-view .outbound-plan-draft-table td:nth-child(9){width:25%!important}
#app-view#app-view .outbound-plan-draft-table th:nth-child(10),#app-view#app-view .outbound-plan-draft-table td:nth-child(10){width:5%!important}
#app-view#app-view .plan-product-toolbar{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
}
#app-view#app-view .plan-product-actions{justify-self:end!important;max-width:100%!important}

/* Wave candidate filters: keep date controls on their own row and distribute
   the condition row over the full available width. */
#app-view#app-view .wave-filter-primary-row{
  display:grid!important;
  grid-template-columns:84px 110px 130px 14px 130px minmax(360px,1fr)!important;
  gap:6px!important;
}
#app-view#app-view .wave-filter-secondary-row{
  display:grid!important;
  grid-template-columns:84px repeat(10,minmax(105px,1fr)) 82px!important;
  gap:6px!important;
}
#app-view#app-view .wave-filter-secondary-row .wave-filter-actions{grid-column:auto!important;width:100%!important}
@media(max-width:1450px){
  #app-view#app-view .wave-filter-secondary-row{
    height:64px!important;min-height:64px!important;
    grid-template-columns:84px repeat(5,minmax(120px,1fr))!important;
    grid-auto-rows:28px!important;
  }
  #app-view#app-view .wave-filter-secondary-row>.wave-filter-actions{grid-column:6!important}
}

/* There are no inbound/outbound confirmation input modals in v0.9.2. */
#app-view #inbound-confirm-registration-section,
#app-view #outbound-confirm-registration-section{display:none!important}

/* ========================================================================== */
/* v0.9.3 cumulative UX corrections                                            */
/* ========================================================================== */

/* Required marker is part of the label text, never a far-edge decoration. */
#app-view .required-star,
#app-view .inbound-plan-form>label>.required-star,
#app-view .app-modal .required-star,
#app-view .workflow-modal .required-star{
  position:static!important;
  display:inline!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 0 2px!important;
  line-height:inherit!important;
  vertical-align:baseline!important;
}

/* Customer master: operational basics and document/settlement business info. */
#customer-form.customer-master-form{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:6px!important}
#customer-form .master-form-section{border:1px solid var(--ui-lock-border)!important;padding:6px!important;background:#f8fbfe!important}
#customer-form .master-form-section>h2{height:22px!important;line-height:20px!important;margin:0 0 4px!important}
#customer-form .customer-master-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;align-items:end!important}
#customer-form .customer-master-grid>label{min-width:0!important}
#customer-form .customer-wide-field{grid-column:span 2!important}
#customer-form .customer-address-field{grid-column:span 3!important}
#customer-form .customer-full-field{grid-column:1/-1!important}
#customer-form .master-form-actions{grid-column:1/-1!important}
@media(max-width:1100px){
  #customer-form .customer-master-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #customer-form .customer-address-field,#customer-form .customer-full-field{grid-column:1/-1!important}
}

/* Inbound registration action column must keep both + and − visible. */
#plan-draft-lines .plan-draft-table th:nth-child(10),
#plan-draft-lines .plan-draft-table td:nth-child(10){width:76px!important;min-width:76px!important;max-width:76px!important;overflow:visible!important;white-space:nowrap!important}
#plan-draft-lines .table-action-group{display:flex!important;gap:3px!important;width:100%!important;justify-content:center!important;overflow:visible!important}
#plan-draft-lines .table-action-group button{min-width:30px!important;width:30px!important;padding:0 4px!important}

/* Wave list processing buttons are one visual set; role is expressed only by color. */
#instruction-waves-table .table-action-group button{width:72px!important;min-width:72px!important;max-width:72px!important;padding:0 6px!important}
#instruction-waves-table th:last-child,#instruction-waves-table td:last-child{min-width:226px!important}

/* Search reset/query controls should not collapse into a text-width sliver. */
#app-view .wms-query-row .query-action-group button{min-width:76px!important;width:76px!important}

/* Current inventory is the deliberate dense-read exception requested for one-screen visibility. */
#inventory-table>.table-wrap{overflow-x:hidden!important}
#inventory-table table{width:100%!important;min-width:0!important;table-layout:fixed!important}
#inventory-table th,#inventory-table td{font-size:10px!important;padding-left:2px!important;padding-right:2px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#inventory-table th:nth-child(1),#inventory-table td:nth-child(1){width:5.8%!important}
#inventory-table th:nth-child(2),#inventory-table td:nth-child(2){width:7.5%!important}
#inventory-table th:nth-child(3),#inventory-table td:nth-child(3){width:6.7%!important}
#inventory-table th:nth-child(4),#inventory-table td:nth-child(4){width:6.7%!important}
#inventory-table th:nth-child(5),#inventory-table td:nth-child(5){width:7%!important}
#inventory-table th:nth-child(6),#inventory-table td:nth-child(6){width:9%!important}
#inventory-table th:nth-child(7),#inventory-table td:nth-child(7){width:4%!important}
#inventory-table th:nth-child(8),#inventory-table td:nth-child(8){width:6%!important}
#inventory-table th:nth-child(9),#inventory-table td:nth-child(9){width:5.5%!important}
#inventory-table th:nth-child(10),#inventory-table td:nth-child(10){width:6%!important}
#inventory-table th:nth-child(11),#inventory-table td:nth-child(11){width:5%!important}
#inventory-table th:nth-child(12),#inventory-table td:nth-child(12),
#inventory-table th:nth-child(13),#inventory-table td:nth-child(13),
#inventory-table th:nth-child(14),#inventory-table td:nth-child(14){width:5.5%!important}
#inventory-table th:nth-child(15),#inventory-table td:nth-child(15),
#inventory-table th:nth-child(16),#inventory-table td:nth-child(16),
#inventory-table th:nth-child(17),#inventory-table td:nth-child(17){width:4.75%!important}

#plan-draft-lines .plan-row-actions{white-space:nowrap!important;text-align:center!important}
#plan-draft-lines .plan-row-actions>button{width:30px!important;min-width:30px!important;margin:0 1px!important;padding:0 3px!important}
/* Current-inventory dense type must win over the common grid 11/12px lock. */
#app-view#app-view #inventory-table th,
#app-view#app-view #inventory-table td{font-size:10px!important;padding-left:2px!important;padding-right:2px!important}
/* v0.9.3: only reset remains in the wave filter action cell, so it owns the full cell. */
#app-view#app-view .wave-filter-secondary-row .wave-filter-actions{display:grid!important;grid-template-columns:1fr!important}
#app-view#app-view .wave-filter-secondary-row .wave-filter-actions button{width:100%!important;min-width:76px!important}
#app-view#app-view .wave-filter-secondary-row .wave-filter-actions{justify-items:end!important}
#app-view#app-view .wave-filter-secondary-row .wave-filter-actions button{width:76px!important;min-width:76px!important;max-width:76px!important}
#app-view#app-view #instruction-waves-table .table-action-group button{height:26px!important;min-height:26px!important;max-height:26px!important;line-height:24px!important}
/* Customer road-address search is a real popup, not an inline result strip. */
#address-search-modal .address-search-modal{width:min(760px,calc(100vw - 48px))!important;max-height:min(620px,calc(100vh - 48px))!important}
#address-search-modal .address-popup-results{padding:8px!important;overflow:auto!important;max-height:500px!important}
#address-search-modal .address-popup-summary{margin:0 0 6px!important;font-size:11px!important;color:#526579!important}
#address-search-modal .address-result{border-radius:0!important;margin:3px 0!important}


/* ========================================================================== */
/* v0.9.4 cumulative workflow/UI corrections                                  */
/* ========================================================================== */
/* Required labels are one atomic caption; the red star can never wrap alone. */
#app-view .field-label,.app-modal .field-label,.workflow-modal .field-label{
  display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:flex-start!important;
  gap:2px!important;white-space:nowrap!important;width:max-content!important;max-width:100%!important;line-height:15px!important;
}
#app-view .field-label .required-star,.app-modal .field-label .required-star,.workflow-modal .field-label .required-star{
  position:static!important;display:inline-block!important;margin:0!important;line-height:15px!important;white-space:nowrap!important;
}
/* Inbound detail editable controls have one grid-control geometry. */
#inbound-plan-lines-table input[data-inbound-note],#inbound-plan-lines-table .in-grid-quantity,
#inbound-plan-lines-table select[data-inbound-status]{height:26px!important;min-height:26px!important;max-height:26px!important;font-size:11px!important;padding:2px 6px!important;margin:0!important;width:100%!important;}
/* Summary belongs to the right side of its title band. */
#confirm-stage-summary,#allocation-wave-stage-summary,#outbound-confirm-stage-summary{margin-left:auto!important;text-align:right!important;justify-self:end!important;}
.section-title-row>.selected-record-label{margin-left:auto!important;text-align:right!important;}
/* Search reset actions live at the fixed right edge and never collapse. */
#app-view .wms-query-row .query-action-group,#app-view .wave-filter-actions{margin-left:auto!important;justify-self:end!important;}
#app-view .wms-query-row .query-action-group button,#app-view .wave-filter-actions button{width:auto!important;min-width:58px!important;max-width:none!important;}
/* Allocation quantity text must stay in its own cell. */
#outbound-wave-lines-table td,#outbound-wave-lines-table th{overflow:hidden!important;}
#outbound-wave-lines-table .allocation-quantity-cell{display:grid!important;grid-template-columns:minmax(56px,72px) 28px minmax(58px,1fr)!important;gap:3px!important;width:100%!important;overflow:hidden!important;}
#outbound-wave-lines-table .allocation-quantity-cell>*{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#outbound-wave-lines-table th:nth-last-child(3),#outbound-wave-lines-table td:nth-last-child(3){min-width:190px!important;}
#outbound-wave-lines-table th:nth-last-child(2),#outbound-wave-lines-table td:nth-last-child(2){min-width:96px!important;}
/* Header select cells are checkboxes, not the word '선택'. */
.table-wrap thead th input[type="checkbox"]{display:block!important;margin:0 auto!important;}
/* v0.9.4 final specificity: query/reset actions use the same locked geometry. */
#app-view#app-view .wms-query-row .query-action-group button,
#app-view#app-view .wave-filter-table-row .wave-filter-actions button{
  width:auto!important;min-width:58px!important;max-width:none!important;
  height:24px!important;min-height:24px!important;max-height:24px!important;
  font-size:9px!important;line-height:22px!important;padding:0 6px!important;
}
#app-view#app-view .wave-filter-table-row .wave-filter-actions,
#app-view#app-view .wms-query-row .query-action-group{justify-self:end!important;justify-content:flex-end!important;}
/* Outbound progress reset always occupies the last grid column. */
#app-view#app-view .outbound-confirm-condition-row>.query-action-group{
  grid-column:-2/-1!important;justify-self:end!important;width:auto!important;
}

/* ========================================================================== */
/* v0.9.5 cumulative workflow/UI corrections                                  */
/* ========================================================================== */
/* One alignment contract for every WMS data grid. */
#app-view .table-wrap th{ text-align:center!important; vertical-align:middle!important; }
#app-view .table-wrap th .table-sort-button{ width:100%!important; justify-content:center!important; text-align:center!important; }
#app-view .table-wrap td.cell-left{ text-align:left!important; }
#app-view .table-wrap td.cell-center{ text-align:center!important; }
#app-view .table-wrap td.num{ text-align:right!important; font-variant-numeric:tabular-nums!important; }
#app-view .table-wrap th:has(input[type="checkbox"]),
#app-view .table-wrap td:has(>input[type="checkbox"]){ text-align:center!important; }
#app-view .table-wrap th input[type="checkbox"],
#app-view .table-wrap td>input[type="checkbox"]{ display:block!important; margin-left:auto!important; margin-right:auto!important; }

/* Long document identifiers get only the width they need; reclaim space first. */
#inbound-plan-lines-table [data-column-key="aggregate_plan_no"],
#inbound-plan-lines-table [data-column-key="plan_no"]{ width:162px!important; min-width:162px!important; max-width:162px!important; white-space:nowrap!important; }
#inbound-plan-lines-table [data-column-key="pallet_no"]{ width:188px!important; min-width:188px!important; max-width:188px!important; white-space:nowrap!important; }
#inbound-confirmations-table [data-column-key="confirmation_no"]{ width:162px!important; min-width:162px!important; max-width:162px!important; white-space:nowrap!important; }
#inbound-confirmations-table [data-column-key="plan_no"]{ width:162px!important; min-width:162px!important; max-width:162px!important; white-space:nowrap!important; }
#inbound-confirmations-table [data-column-key="actual_inbound_date"],
#inbound-confirmations-table [data-column-key="planned_date_value"]{ width:112px!important; min-width:112px!important; max-width:112px!important; }
#inbound-confirmations-table [data-column-key="inventory_status"]{ width:94px!important; min-width:94px!important; max-width:94px!important; }

/* Allocation quantity is input + unit only; no duplicate EA amount. */
#outbound-wave-lines-table .allocation-quantity-cell{ display:grid!important; grid-template-columns:minmax(54px,72px) 30px!important; gap:3px!important; justify-content:end!important; align-items:center!important; }
#outbound-wave-lines-table [data-column-key="instruction_qty"]{ min-width:118px!important; width:118px!important; max-width:132px!important; }
#outbound-wave-lines-table [data-column-key="unallocated_qty"],
#outbound-wave-lines-table [data-column-key="inventory_shortage_qty"]{ min-width:96px!important; width:96px!important; }

/* Allocation exception rows: manual unallocated = yellow, physical shortage = red. */
#outbound-wave-lines-table tbody tr.row-unallocated>td{ background:#fff4bf!important; }
#outbound-wave-lines-table tbody tr.row-stock-shortage>td{ background:#f8d7da!important; }
#outbound-wave-lines-table tbody tr.row-stock-shortage.is-selected>td{ background:#f4c2c7!important; }
#outbound-wave-lines-table tbody tr.row-unallocated.is-selected>td{ background:#ffeaa0!important; }

/* Shortage disposition belongs in the confirmation modal. */
.app-modal-radio-field{ border:0!important; padding:0!important; margin:0!important; min-width:0!important; }
.app-modal-radio-field legend{ padding:0!important; margin:0 0 5px!important; }
.app-modal-radio-group{ display:flex!important; gap:8px!important; flex-wrap:wrap!important; }
.app-modal-radio-option{ display:inline-flex!important; align-items:center!important; gap:5px!important; min-height:30px!important; padding:0 10px!important; border:1px solid #b8c9d9!important; background:#fff!important; }
.app-modal-radio-option input[type="radio"]{ width:15px!important; height:15px!important; margin:0!important; }

/* Inbound plan live-query row has only Reset at the right edge. */
#app-view#app-view .inbound-plan-search-row .query-action-group{ margin-left:auto!important; width:auto!important; }
/* v0.9.5 allocation compactness final override: the legacy nth-last-child rule must not force 190px. */
#outbound-wave-lines-table th[data-column-key="instruction_qty"],
#outbound-wave-lines-table td[data-column-key="instruction_qty"]{
  min-width:118px!important;width:118px!important;max-width:132px!important;
}

/* ========================================================================== */
/* cumulative master/selection/grid corrections                               */
/* ========================================================================== */

/* Toast surfaces are retired. Success is reflected by live UI refresh;
   errors/decisions use the common centered modal. */

/* Status is a centered semantic column, matching its centered header. */
#app-view .table-wrap td:has(.status-pill){text-align:center!important;vertical-align:middle!important}
#app-view .table-wrap td:has(.status-pill) .status-pill{margin-left:auto!important;margin-right:auto!important}

/* Inbound-plan detail: reclaim width from fixed-format identifiers/dates first. */
#app-view#app-view #inbound-plan-lines-table table{
  min-width:0!important;width:100%!important;table-layout:auto!important;
}
#inbound-plan-lines-table [data-column-key="aggregate_plan_no"],
#inbound-plan-lines-table [data-column-key="plan_no"]{
  width:148px!important;min-width:148px!important;max-width:148px!important;white-space:nowrap!important;
}
#inbound-plan-lines-table [data-column-key="pallet_no"]{
  width:158px!important;min-width:158px!important;max-width:158px!important;white-space:nowrap!important;
}
#inbound-plan-lines-table [data-column-key="current_expected_date"],
#inbound-plan-lines-table [data-column-key="planned_date_value"]{
  width:98px!important;min-width:98px!important;max-width:98px!important;white-space:nowrap!important;
}
#inbound-plan-lines-table [data-column-key="date_management"]{
  width:78px!important;min-width:78px!important;max-width:78px!important;white-space:nowrap!important;
}
#inbound-plan-lines-table [data-column-key="inventory_status"]{
  width:84px!important;min-width:84px!important;max-width:84px!important;white-space:nowrap!important;
}
#inbound-plan-lines-table [data-column-key="display_qty"]{
  width:88px!important;min-width:88px!important;max-width:88px!important;white-space:nowrap!important;
}
#inbound-plan-lines-table [data-column-key="sku"]{min-width:104px!important;width:112px!important}
#inbound-plan-lines-table [data-column-key="product_name"]{min-width:142px!important}
#inbound-plan-lines-table [data-column-key="note"]{min-width:110px!important}

/* Inbound-confirm detail uses the actual detail host (not the legacy summary id). */
#app-view#app-view #inbound-confirmation-lines-table table{
  min-width:0!important;width:100%!important;table-layout:auto!important;
}
#inbound-confirmation-lines-table [data-column-key="confirmation_no"],
#inbound-confirmation-lines-table [data-column-key="plan_no"]{
  width:148px!important;min-width:148px!important;max-width:148px!important;white-space:nowrap!important;
}
#inbound-confirmation-lines-table [data-column-key="actual_inbound_date"],
#inbound-confirmation-lines-table [data-column-key="date_value"]{
  width:96px!important;min-width:96px!important;max-width:96px!important;white-space:nowrap!important;
}
#inbound-confirmation-lines-table [data-column-key="date_management"]{
  width:78px!important;min-width:78px!important;max-width:78px!important;white-space:nowrap!important;
}
#inbound-confirmation-lines-table [data-column-key="inventory_status"]{
  width:84px!important;min-width:84px!important;max-width:84px!important;white-space:nowrap!important;
}
#inbound-confirmation-lines-table [data-column-key="quantity"]{
  width:86px!important;min-width:86px!important;max-width:86px!important;white-space:nowrap!important;
}
#inbound-confirmation-lines-table [data-column-key="plt_qty"],
#inbound-confirmation-lines-table [data-column-key="box_qty"],
#inbound-confirmation-lines-table [data-column-key="ea_qty"]{
  width:48px!important;min-width:48px!important;max-width:48px!important;white-space:nowrap!important;
}
#inbound-confirmation-lines-table [data-column-key="sku"]{min-width:104px!important;width:112px!important}
#inbound-confirmation-lines-table [data-column-key="product_name"]{min-width:140px!important}
#inbound-confirmation-lines-table [data-column-key="warehouse_name"]{min-width:84px!important;width:92px!important}
#inbound-confirmation-lines-table [data-column-key="note"]{min-width:100px!important}

/* Product master: three semantic bands, normal control geometry, dense list. */
#product-form.product-master-form{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:6px!important;
}
#product-form .master-form-section{
  border:1px solid var(--ui-lock-border)!important;padding:6px!important;background:#f8fbfe!important;min-width:0!important;
}
#product-form .master-form-section>h2{height:22px!important;line-height:20px!important;margin:0 0 4px!important;font-size:14px!important}
#product-form .product-master-grid{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:5px!important;align-items:end!important;
}
#product-form .product-master-grid>label{min-width:0!important}
#product-form .master-form-actions{grid-column:1/-1!important}

/* Master lists are deliberate dense-read grids like Current Inventory. */
#customers-table th,#customers-table td,
#groups-table th,#groups-table td,
#products-table th,#products-table td,
#destinations-table th,#destinations-table td,
#outbound-policies-table th,#outbound-policies-table td,
#picking-sequences-table th,#picking-sequences-table td,
#centers-table th,#centers-table td,
#warehouses-table th,#warehouses-table td,
#locations-table th,#locations-table td,
#voucher-suppliers-table th,#voucher-suppliers-table td{
  font-size:10px!important;padding-left:3px!important;padding-right:3px!important;white-space:nowrap!important;
}
#customers-table table,#groups-table table,#products-table table,#destinations-table table,
#outbound-policies-table table,#picking-sequences-table table,#centers-table table,
#warehouses-table table,#locations-table table,#voucher-suppliers-table table{
  table-layout:auto!important;
}
/* Grid controls retain their established control geometry even inside dense master tables. */
#customers-table input,#customers-table select,#customers-table button,
#groups-table input,#groups-table select,#groups-table button,
#products-table input,#products-table select,#products-table button,
#destinations-table input,#destinations-table select,#destinations-table button,
#outbound-policies-table input,#outbound-policies-table select,#outbound-policies-table button,
#picking-sequences-table input,#picking-sequences-table select,#picking-sequences-table button,
#centers-table input,#centers-table select,#centers-table button,
#warehouses-table input,#warehouses-table select,#warehouses-table button,
#locations-table input,#locations-table select,#locations-table button{
  font-size:11px!important;
}

/* Lookup pair stays compact and clearly read-only-by-selection in master forms. */
#product-customer-code-search,#product-customer-name-search,
#destination-customer-code-search,#destination-customer-name-search{background:#fff!important}

@media(max-width:1100px){
  #product-form .product-master-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  #product-form .product-master-grid>[class*="m-span-"]{grid-column:span 3!important}
}
/* Master-menu pages: all result/preview grids share the Current Inventory density. */
#app-view :is(#page-customers,#page-groups,#page-products,#page-destinations,#page-outbound-policies,#page-picking-sequences,#page-master-import,#page-centers,#page-warehouses,#page-locations) .table-wrap th,
#app-view :is(#page-customers,#page-groups,#page-products,#page-destinations,#page-outbound-policies,#page-picking-sequences,#page-master-import,#page-centers,#page-warehouses,#page-locations) .table-wrap td{
  font-size:10px!important;padding-left:3px!important;padding-right:3px!important;
}

/* v0.9.7 — grid breathing room: left/right aligned contents do not touch cell borders. */
#app-view .table-wrap td.cell-left{padding-left:7px!important;padding-right:4px!important;}
#app-view .table-wrap td.num{padding-left:4px!important;padding-right:7px!important;}
#app-view .table-wrap td.cell-center{padding-left:4px!important;padding-right:4px!important;}

/* Dense inventory ledgers keep the same readable inner gap while retaining 10px type. */
#app-view#app-view :is(#inventory-table,#inventory-io-table,#stocktake-list-table,#stocktake-detail-table) th,
#app-view#app-view :is(#inventory-table,#inventory-io-table,#stocktake-list-table,#stocktake-detail-table) td{
  font-size:10px!important;white-space:nowrap!important;
}
#app-view#app-view :is(#inventory-table,#inventory-io-table,#stocktake-list-table,#stocktake-detail-table) td.cell-left{padding-left:6px!important;padding-right:3px!important;}
#app-view#app-view :is(#inventory-table,#inventory-io-table,#stocktake-list-table,#stocktake-detail-table) td.num{padding-left:3px!important;padding-right:6px!important;}

/* Allocation warnings always outrank selected-row highlighting. */
#outbound-wave-lines-table tbody tr.row-unallocated>td,
#outbound-wave-lines-table tbody tr.row-unallocated.is-selected>td{background:#fff4bf!important;}
#outbound-wave-lines-table tbody tr.row-stock-shortage>td,
#outbound-wave-lines-table tbody tr.row-stock-shortage.is-selected>td{background:#f8d7da!important;}

/* Allocation quantity controls use a stable input + unit geometry. */
#outbound-wave-lines-table .allocation-quantity-cell{display:grid!important;grid-template-columns:82px 34px!important;gap:6px!important;align-items:center!important;justify-content:end!important;}
#outbound-wave-lines-table .allocation-quantity-cell input{width:82px!important;text-align:right!important;}
#outbound-wave-lines-table .allocation-quantity-cell b{width:34px!important;text-align:left!important;}

/* Pallet warehouse assignment is compact and aligned. */
#inbound-plan-lines-table [data-column-key="putaway_warehouse_code"]{min-width:148px!important;width:156px!important;}
#inbound-plan-lines-table .putaway-warehouse-cell{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;white-space:nowrap!important;}
#inbound-plan-lines-table .putaway-warehouse-cell select{width:116px!important;}
#inbound-plan-lines-table .putaway-complete{font-size:10px!important;font-weight:700!important;}

/* Stocktake shortage rows are visually persistent. */
#stocktake-detail-table tbody tr.row-stock-shortage>td,
#stocktake-detail-table tbody tr.row-stock-shortage.is-selected>td{background:#f8d7da!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.9.8 DELTA                                               */
/* Current Inventory is the typography reference; geometry remains unchanged. */
/* ========================================================================== */
:root{
  --ui-lock-font-body:10px;
  --ui-lock-font-control:10px;
  --ui-lock-font-label:10px;
  --ui-lock-font-grid:10px;
  --ui-lock-font-grid-head:10px;
  --ui-lock-font-section:12px;
  --ui-lock-font-page:14px;
  --ui-lock-font-status:10px;
  --ui-lock-font-aux:10px;
}

/* Explicit historical font declarations must not undo the v0.9.8 density. */
#app-view button,
#app-view input:not([type="checkbox"]):not([type="radio"]),
#app-view select,
#app-view textarea,
#app-view .form-grid label,
#app-view .master-form label,
#app-view .inbound-plan-form label,
#app-view .outbound-form-grid>label,
#app-view .inbound-confirm-modal-form>label{
  font-size:var(--ui-lock-font-control)!important;
}
#app-view .table-wrap th{font-size:var(--ui-lock-font-grid-head)!important;}
#app-view .table-wrap td{font-size:var(--ui-lock-font-grid)!important;}

/* Business warning colors outrank zebra and selection states. */
#outbound-wave-lines-table tbody tr.row-unallocated>td,
#outbound-wave-lines-table tbody tr.row-unallocated.is-selected>td,
#outbound-wave-lines-table tbody tr.row-unallocated.selected>td{background:#fff2c9!important;}
#outbound-wave-lines-table tbody tr.row-stock-shortage>td,
#outbound-wave-lines-table tbody tr.row-stock-shortage.is-selected>td,
#outbound-wave-lines-table tbody tr.row-stock-shortage.selected>td{background:#fde5e5!important;}
#stocktake-detail-table tbody tr.row-stock-shortage>td,
#stocktake-detail-table tbody tr.row-stock-shortage.is-selected>td{background:#fde5e5!important;}
#stocktake-detail-table tbody tr.row-stock-overage>td,
#stocktake-detail-table tbody tr.row-stock-overage.is-selected>td{background:#e6f4df!important;}

/* Stocktake entry controls remain column-aligned and use the available cell width. */
#stocktake-detail-table .stocktake-actual{
  width:86px!important;min-width:86px!important;max-width:86px!important;margin:0 auto!important;text-align:right!important;
}
#stocktake-detail-table [data-stocktake-reason]{
  width:92px!important;min-width:92px!important;max-width:92px!important;margin:0 auto!important;
}
#stocktake-detail-table .stocktake-note-input{
  width:100%!important;min-width:180px!important;max-width:none!important;margin:0!important;
}

/* No browser +/- spinner on any numeric quantity input anywhere in WMS. */
#app-view input[type="number"]{-moz-appearance:textfield!important;appearance:textfield!important;}
#app-view input[type="number"]::-webkit-inner-spin-button,
#app-view input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;appearance:none!important;margin:0!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.9.9 — COMPACT GEOMETRY + LAYOUT REGRESSION GUARD       */
/* Current Inventory density is now the WMS-wide reference for both type and  */
/* geometry. This block is intentionally last so historical feature CSS cannot */
/* re-expand controls or break explicit search rows.                           */
/* ========================================================================== */
:root{
  --ui-lock-control-height:26px;
  --ui-lock-grid-control-height:23px;
  --ui-lock-grid-head-height:25px;
  --ui-lock-grid-row-height:25px;
  --ui-lock-query-row-height:30px;
  --ui-lock-section-title-height:30px;
  --ui-lock-page-title-height:26px;
  --ui-lock-gap:3px;
}

#app-view .wms-page input:not([type="checkbox"]):not([type="radio"]),
#app-view .wms-page select,
#app-view .wms-page button,
#app-view .app-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .app-modal select,
#app-view .app-modal button,
#app-view .workflow-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .workflow-modal select,
#app-view .workflow-modal button{
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  line-height:18px!important;
}
#app-view .wms-page input:not([type="checkbox"]):not([type="radio"]),
#app-view .wms-page select,
#app-view .app-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .app-modal select,
#app-view .workflow-modal input:not([type="checkbox"]):not([type="radio"]),
#app-view .workflow-modal select{padding-left:6px!important;padding-right:6px!important;}
#app-view .wms-page button,
#app-view .app-modal button,
#app-view .workflow-modal button{padding-left:8px!important;padding-right:8px!important;}

#app-view .wms-page input[type="checkbox"],
#app-view .wms-page input[type="radio"],
#app-view .app-modal input[type="checkbox"],
#app-view .app-modal input[type="radio"],
#app-view .workflow-modal input[type="checkbox"],
#app-view .workflow-modal input[type="radio"],
#app-view .table-wrap input[type="checkbox"],
#app-view .table-wrap input[type="radio"]{
  width:14px!important;min-width:14px!important;max-width:14px!important;
  height:14px!important;min-height:14px!important;max-height:14px!important;
}

#app-view .section-title-row,
#app-view .compact-panel-head{
  height:var(--ui-lock-section-title-height)!important;
  min-height:var(--ui-lock-section-title-height)!important;
  max-height:var(--ui-lock-section-title-height)!important;
  padding:1px 5px!important;
}
#app-view .section-title-actions,
#app-view .selected-section-controls,
#app-view .plan-product-actions,
#app-view .query-action-group,
#app-view .quick-range-buttons{
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  gap:3px!important;
}
#app-view #outbound-wave-selected-section .section-title-actions button,
#app-view #outbound-wave-selected-section .selected-section-controls button,
#app-view .inventory-action-buttons button,
#app-view #adjustment-form>button[type="submit"]{
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
}

#app-view .wms-query-row,
#app-view .wave-filter-table-row{
  height:var(--ui-lock-query-row-height)!important;
  min-height:var(--ui-lock-query-row-height)!important;
  padding:1px 2px!important;
  gap:3px!important;
}

#app-view .table-wrap th,
#app-view .table-wrap td{
  height:var(--ui-lock-grid-row-height)!important;
  min-height:var(--ui-lock-grid-row-height)!important;
  padding-top:1px!important;
  padding-bottom:1px!important;
  line-height:18px!important;
}
#app-view .table-wrap th{
  height:var(--ui-lock-grid-head-height)!important;
  min-height:var(--ui-lock-grid-head-height)!important;
}
#app-view .table-wrap input:not([type="checkbox"]):not([type="radio"]),
#app-view .table-wrap select,
#app-view .table-wrap button,
#app-view .plan-draft-table input:not([type="checkbox"]):not([type="radio"]),
#app-view .plan-draft-table select,
#app-view .plan-draft-table button,
#app-view .plan-inline-edit-table input:not([type="checkbox"]):not([type="radio"]),
#app-view .plan-inline-edit-table select,
#app-view .plan-inline-edit-table button,
#app-view .outbound-plan-draft-table input:not([type="checkbox"]):not([type="radio"]),
#app-view .outbound-plan-draft-table select,
#app-view .outbound-plan-draft-table button{
  height:var(--ui-lock-grid-control-height)!important;
  min-height:var(--ui-lock-grid-control-height)!important;
  max-height:var(--ui-lock-grid-control-height)!important;
  padding-top:1px!important;
  padding-bottom:1px!important;
  line-height:17px!important;
  font-size:10px!important;
}

/* Keep text/number breathing room while using the compact grid. */
#app-view .table-wrap td.cell-left{padding-left:5px!important;padding-right:3px!important;}
#app-view .table-wrap td.num{padding-left:3px!important;padding-right:5px!important;}
#app-view .table-wrap td.cell-center{padding-left:3px!important;padding-right:3px!important;}

/* Stocktake search: strict two-row desktop geometry, no orphaned '전체 고객사' button. */
#app-view .stocktake-search-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:var(--ui-lock-query-row-height) var(--ui-lock-query-row-height)!important;
  gap:3px!important;
  min-height:calc(var(--ui-lock-query-row-height) * 2 + 7px)!important;
  height:auto!important;
  padding:2px!important;
  overflow:visible!important;
}
#app-view .stocktake-search-row{display:grid!important;align-items:center!important;gap:3px!important;min-width:0!important;}
#app-view .stocktake-search-row-primary{
  grid-template-columns:minmax(145px,.75fr) minmax(180px,.95fr) 88px 92px minmax(280px,1.55fr) 88px!important;
}
#app-view .stocktake-search-row-secondary{
  grid-template-columns:minmax(190px,280px) minmax(190px,280px) minmax(0,1fr)!important;
}
#app-view .stocktake-search-row-primary>input:not([type="hidden"]),
#app-view .stocktake-search-row-primary>button,
#app-view .stocktake-search-row-secondary>select{
  width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
}
#app-view #stocktake-customer-all{white-space:nowrap!important;}
#app-view #stocktake-customer-all.selected{
  background:#1d6fa5!important;border-color:#155982!important;color:#fff!important;font-weight:700!important;
}

/* Stocktake variance status colors: negative = light red, positive = light green. */
#app-view #stocktake-detail-table tbody tr.row-stock-shortage>td,
#app-view #stocktake-detail-table tbody tr.row-stock-shortage.is-selected>td,
#app-view #stocktake-detail-table tbody tr.row-stock-shortage.selected>td{background:#fde5e5!important;}
#app-view #stocktake-detail-table tbody tr.row-stock-overage>td,
#app-view #stocktake-detail-table tbody tr.row-stock-overage.is-selected>td,
#app-view #stocktake-detail-table tbody tr.row-stock-overage.selected>td{background:#e6f4df!important;}

/* Compact a few historically over-wide fixed cells after typography reduction. */
#app-view #inbound-plan-lines-table [data-column-key="putaway_warehouse_code"]{min-width:132px!important;width:138px!important;}
#app-view #inbound-plan-lines-table .putaway-warehouse-cell select{width:104px!important;}
#app-view #outbound-wave-lines-table .allocation-quantity-cell{grid-template-columns:72px 30px!important;gap:4px!important;}
#app-view #outbound-wave-lines-table .allocation-quantity-cell input{width:72px!important;}
#app-view #outbound-wave-lines-table .allocation-quantity-cell b{width:30px!important;}
#app-view #stocktake-detail-table .stocktake-actual{width:78px!important;min-width:78px!important;max-width:78px!important;}
#app-view #stocktake-detail-table [data-stocktake-reason]{width:86px!important;min-width:86px!important;max-width:86px!important;}
#app-view #stocktake-detail-table .stocktake-note-input{width:100%!important;min-width:160px!important;max-width:none!important;}

@media(max-width:900px){
  #app-view .stocktake-search-grid{grid-template-rows:auto auto!important;}
  #app-view .stocktake-search-row-primary{grid-template-columns:1fr 1fr 88px 92px!important;grid-auto-rows:var(--ui-lock-control-height)!important;}
  #app-view .stocktake-search-row-primary>.task-product{grid-column:1/4!important;}
  #app-view .stocktake-search-row-secondary{grid-template-columns:1fr 1fr!important;}
}


/* v0.10.1 compact regression lock */
#app-view#app-view .query-action-group button,
#app-view#app-view .task-reset-button,
#app-view#app-view .task-search-button,
#app-view#app-view .wave-filter-actions button,
#app-view#app-view .section-title-actions button{
  height:26px!important;min-height:26px!important;max-height:26px!important;
  font-size:10px!important;line-height:24px!important;padding:0 7px!important;
  min-width:66px!important;width:auto!important;max-width:none!important;
}
#app-view#app-view .query-action-group{height:26px!important;min-height:26px!important;gap:3px!important;}
#app-view#app-view #stocktake-detail-table input.stocktake-actual{width:100%!important;min-width:48px!important;text-align:right!important;}
#app-view#app-view #stocktake-detail-table .stocktake-note-input{width:100%!important;min-width:120px!important;}
#app-view#app-view #stocktake-detail-table th[data-column-key="actual_plt"],
#app-view#app-view #stocktake-detail-table th[data-column-key="actual_box"],
#app-view#app-view #stocktake-detail-table th[data-column-key="actual_ea"],
#app-view#app-view #inbound-confirmation-lines-table th[data-column-key="plt_qty"],
#app-view#app-view #inbound-confirmation-lines-table th[data-column-key="box_qty"],
#app-view#app-view #inbound-confirmation-lines-table th[data-column-key="ea_qty"],
#app-view#app-view #outbound-confirmation-lines-table th[data-column-key="plt_qty"],
#app-view#app-view #outbound-confirmation-lines-table th[data-column-key="box_qty"],
#app-view#app-view #outbound-confirmation-lines-table th[data-column-key="ea_qty"]{text-align:center!important;}


/* v0.10.1 FINAL ACTION / SELECTION / LAYOUT OVERRIDES
   This block is intentionally last so legacy rules cannot enlarge query-side controls. */
#app-view#app-view .query-action-group button,
#app-view#app-view .wave-filter-actions button,
#app-view#app-view .task-reset-button,
#app-view#app-view .task-search-button,
#app-view#app-view button[id$="-reset"],
#app-view#app-view button[id$="-scope-toggle"]{
  height:24px!important;min-height:24px!important;max-height:24px!important;
  font-size:9px!important;line-height:22px!important;padding:0 6px!important;
  min-width:58px!important;width:auto!important;max-width:none!important;
}
#app-view#app-view .query-action-group,
#app-view#app-view .wave-filter-actions{height:24px!important;min-height:24px!important;gap:3px!important;align-items:center!important;}
#app-view#app-view .outbound-plan-row-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:4px!important;min-width:max-content!important;}
#app-view#app-view #outbound-plan-edit,
#app-view#app-view #outbound-plan-cancel{display:inline-flex!important;visibility:visible!important;}
#app-view#app-view .picker-product-table tbody tr[data-row-selectable="true"]{cursor:pointer!important;}
#app-view#app-view .picker-product-table tbody tr.is-selected>td{background:#fff7d6!important;}

/* v0.10.1 highest-specificity query action override */
#app-view#app-view .wms-query-row .query-action-group button,
#app-view#app-view .wave-filter-table-row .wave-filter-actions button,
#app-view#app-view .outbound-confirm-condition-row>.query-action-group button{
  width:auto!important;min-width:58px!important;max-width:none!important;
  height:24px!important;min-height:24px!important;max-height:24px!important;
  font-size:9px!important;line-height:22px!important;padding:0 6px!important;
}
#app-view#app-view .outbound-confirm-condition-row>.query-action-group{width:auto!important;height:24px!important;min-height:24px!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.2 — ALLOCATION HARDENING / MASTER CONSISTENCY        */
/* This final block intentionally outranks the v0.10.1 emergency overrides.   */
/* ========================================================================== */

/* Search-side auxiliary actions: same 26px geometry as the surrounding form
   controls; compact, but no longer the tiny 24px/9px regression. */
#app-view#app-view .wms-query-row .query-action-group button,
#app-view#app-view .wave-filter-table-row .wave-filter-actions button,
#app-view#app-view .outbound-confirm-condition-row>.query-action-group button,
#app-view#app-view .query-action-group button,
#app-view#app-view .wave-filter-actions button,
#app-view#app-view .task-reset-button,
#app-view#app-view .task-search-button,
#app-view#app-view button[id$="-reset"],
#app-view#app-view button[id$="-scope-toggle"]{
  width:auto!important;min-width:66px!important;max-width:none!important;
  height:26px!important;min-height:26px!important;max-height:26px!important;
  font-size:10px!important;line-height:24px!important;padding:0 7px!important;
}
#app-view#app-view .query-action-group,
#app-view#app-view .wave-filter-actions,
#app-view#app-view .outbound-confirm-condition-row>.query-action-group{
  width:auto!important;height:26px!important;min-height:26px!important;max-height:26px!important;
  gap:3px!important;align-items:center!important;align-self:center!important;
}

/* Header-side action groups sit on the true vertical centre line. */
#app-view#app-view .section-title-row,
#app-view#app-view .compact-panel-head{
  align-items:center!important;
}
#app-view#app-view .section-title-row>.section-title-actions,
#app-view#app-view .section-title-row>.selected-section-controls,
#app-view#app-view .section-title-row>.plan-product-actions{
  align-self:center!important;align-items:center!important;margin-top:0!important;margin-bottom:0!important;
}

/* Product master section headings use exactly the customer-master heading scale. */
#app-view#app-view #product-form .master-form-section>h2{
  height:22px!important;line-height:20px!important;margin:0 0 4px!important;
  font-size:var(--ui-lock-font-section)!important;font-weight:700!important;
}

/* Attribute-change / inventory-move are picker-driven: no query/reset column. */
#app-view#app-view #page-status-change .inventory-task-search,
#app-view#app-view #page-inventory-move .inventory-task-search{
  grid-template-columns:minmax(390px,1.15fr) minmax(390px,1.45fr)!important;
}
/* Unit and quantity belong together on the second row. */
#app-view#app-view #inventory-status-form .inventory-unit-field,
#app-view#app-view #inventory-move-form .inventory-unit-field{
  grid-column:1!important;
}

/* Customer/center/destination address input-button uses one shared geometry. */
#app-view#app-view #customer-form .customer-address-field .input-button,
#app-view#app-view #center-form .master-address-field .input-button,
#app-view#app-view #destination-form .master-address-field .input-button{
  display:grid!important;grid-template-columns:minmax(0,1fr) 66px!important;gap:3px!important;
  align-items:center!important;width:100%!important;min-width:0!important;
}
#app-view#app-view #customer-form .customer-address-field .input-button>*,
#app-view#app-view #center-form .master-address-field .input-button>*,
#app-view#app-view #destination-form .master-address-field .input-button>*{
  height:var(--ui-lock-control-height)!important;min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;min-width:0!important;margin:0!important;
}

/* Warehouse/location note controls must be pixel-identical to their peer inputs. */
#app-view#app-view #warehouse-form input[name="note"],
#app-view#app-view #location-form input[name="note"],
#app-view#app-view #location-form input[name="picking_priority"]{
  box-sizing:border-box!important;height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;max-height:var(--ui-lock-control-height)!important;
  padding:2px 6px!important;line-height:18px!important;border-width:1px!important;
}

/* Allocation: compact method/date editors; processing order is fixed and the lower grid is not sortable. */
#app-view#app-view #outbound-wave-lines-table .allocation-method-cell{
  display:block!important;min-width:78px!important;width:100%!important;
}
#app-view#app-view #outbound-wave-lines-table .allocation-method-cell select{
  width:100%!important;min-width:78px!important;max-width:none!important;
}
#app-view#app-view #outbound-wave-lines-table .wave-allocation-date-input{
  width:104px!important;min-width:104px!important;max-width:104px!important;margin:0 auto!important;
}
#app-view#app-view #outbound-wave-lines-table .allocation-date-empty{
  display:block!important;text-align:center!important;
}

/* Allocation condition is a full-row state, including every visible editor control.
   Shortage red has priority over unallocated yellow and selection/zebra states. */
#app-view#app-view #outbound-wave-lines-table tbody tr.row-unallocated>td,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-unallocated.is-selected>td,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-unallocated.selected>td{
  background:#fff2c9!important;
}
#app-view#app-view #outbound-wave-lines-table tbody tr.row-unallocated>td input,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-unallocated>td select,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-unallocated>td button{
  background-color:#fff2c9!important;
}
#app-view#app-view #outbound-wave-lines-table tbody tr.row-stock-shortage>td,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-stock-shortage.is-selected>td,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-stock-shortage.selected>td{
  background:#fde5e5!important;
}
#app-view#app-view #outbound-wave-lines-table tbody tr.row-stock-shortage>td input,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-stock-shortage>td select,
#app-view#app-view #outbound-wave-lines-table tbody tr.row-stock-shortage>td button{
  background-color:#fde5e5!important;
}

@media(max-width:900px){
  #app-view#app-view #page-status-change .inventory-task-search,
  #app-view#app-view #page-inventory-move .inventory-task-search{grid-template-columns:1fr!important;}
}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.3 — FIXED ALLOCATION ORDER / FILTER / SPLIT          */
/* ========================================================================== */
#app-view#app-view #outbound-wave-selected-section .selected-section-controls{transform:translateY(-1px)!important;}
@media(min-width:901px){
#app-view#app-view #page-outbound-allocations.active{grid-template-rows:minmax(160px,1fr) 7px minmax(160px,1fr)!important;gap:0!important;}
#app-view#app-view #page-outbound-allocations.active>#wave-history-section{grid-row:1!important;min-height:0!important;overflow:hidden!important;}
#app-view#app-view #page-outbound-allocations.active>#allocation-splitter{grid-row:2!important;}
#app-view#app-view #page-outbound-allocations.active>#outbound-wave-selected-section{grid-row:3!important;min-height:0!important;overflow:hidden!important;}
}
#app-view#app-view #page-outbound-allocations .allocation-splitter{height:7px;min-height:7px;margin:0 3px;cursor:ns-resize;position:relative;touch-action:none;user-select:none;background:transparent;}
#app-view#app-view #page-outbound-allocations .allocation-splitter::after{content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:#9db2c4;}
body.allocation-resizing,body.allocation-resizing *{cursor:ns-resize!important;user-select:none!important;}
#app-view#app-view .wave-detail-search{display:grid!important;grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) minmax(220px,1.1fr) 90px auto auto!important;gap:4px!important;align-items:center!important;}
#app-view#app-view #wave-detail-status-filter{width:90px!important;min-width:90px!important;max-width:90px!important;}
#app-view#app-view #wave-detail-search-summary{white-space:nowrap!important;text-align:right!important;}
#app-view#app-view #outbound-wave-lines-table table{width:100%!important;min-width:1060px!important;table-layout:fixed!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="sku"]{width:132px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="product_name"]{width:190px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="allocation_mode"]{width:104px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="date_value"]{width:126px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="ordered_qty"],#app-view#app-view #outbound-wave-lines-table th[data-column-key="available_qty"]{width:112px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="instruction_qty"]{width:122px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="unallocated_qty"],#app-view#app-view #outbound-wave-lines-table th[data-column-key="inventory_shortage_qty"]{width:118px!important;}
#app-view#app-view #outbound-wave-lines-table .allocation-method-cell{min-width:0!important;width:100%!important;}
#app-view#app-view #outbound-wave-lines-table .allocation-method-cell select{min-width:0!important;width:100%!important;}
#app-view#app-view #stocktake-detail-table th[data-column-key="actual_ea"],#app-view#app-view #stocktake-detail-table td[data-column-key="actual_ea"]{width:82px!important;min-width:82px!important;max-width:82px!important;}
#app-view#app-view #stocktake-detail-table input.stocktake-actual{text-align:right!important;padding-right:6px!important;}
#app-view#app-view #stocktake-detail-table td[data-column-key="actual_ea"] input.stocktake-actual{width:68px!important;min-width:68px!important;max-width:68px!important;}
#app-view#app-view #stocktake-detail-table [data-stocktake-reason-group]{display:block!important;width:94px!important;min-width:94px!important;max-width:94px!important;margin:0 auto!important;}
#app-view#app-view #stocktake-detail-table th[data-column-key="reason"],#app-view#app-view #stocktake-detail-table td[data-column-key="reason"]{width:108px!important;min-width:108px!important;max-width:108px!important;}
@media(max-width:1200px){#app-view#app-view .wave-detail-search{grid-template-columns:1fr 1fr 1fr 86px auto auto!important;}}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.4 — cumulative field/date/delivery/split corrections */
/* ========================================================================== */
/* Inbound quantity: conversion stays left, the editable quantity is pinned right. */
#app-view#app-view #plan-draft-lines .plan-draft-total{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;width:100%!important;}
#app-view#app-view #plan-draft-lines .plan-draft-total span{flex:1 1 auto!important;min-width:0!important;text-align:left!important;}
#app-view#app-view #plan-draft-lines .plan-draft-total input{flex:0 0 76px!important;width:76px!important;margin-left:auto!important;text-align:right!important;}

/* Inbound-plan / inbound-confirmation integrated search field uses the same length. */
#app-view#app-view #inbound-plan-search,
#app-view#app-view #confirm-plan-search{width:520px!important;min-width:520px!important;max-width:520px!important;}

/* Allocation-confirm shortage choices are compact selectable cards. */
#app-view#app-view .app-modal-radio-card-field .app-modal-radio-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;width:100%!important;}
#app-view#app-view .app-modal-radio-card{display:grid!important;grid-template-columns:15px minmax(0,1fr)!important;align-items:center!important;gap:7px!important;min-height:48px!important;padding:6px 8px!important;border:1px solid #aebfd0!important;border-radius:4px!important;background:#fff!important;cursor:pointer!important;}
#app-view#app-view .app-modal-radio-card:has(input:checked){border:2px solid #2f6690!important;padding:5px 7px!important;background:#f4f8fc!important;}
#app-view#app-view .app-modal-radio-copy{display:flex!important;flex-direction:column!important;gap:1px!important;min-width:0!important;}
#app-view#app-view .app-modal-radio-copy b{font-size:11px!important;line-height:15px!important;}
#app-view#app-view .app-modal-radio-copy small{font-size:10px!important;line-height:14px!important;color:#617187!important;white-space:normal!important;}

/* Outbound-progress upper/lower grids: restored 5:5 drag splitter. */
@media(min-width:901px){
  #app-view#app-view #page-outbound-confirmations.active{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(160px,1fr) 7px minmax(160px,1fr)!important;gap:0!important;min-height:0!important;overflow:hidden!important;}
  #app-view#app-view #page-outbound-confirmations.active>.outbound-confirm-target-section{grid-row:3!important;min-height:0!important;height:100%!important;overflow:hidden!important;}
  #app-view#app-view #page-outbound-confirmations.active>#outbound-confirm-splitter{grid-row:4!important;}
  #app-view#app-view #page-outbound-confirmations.active>#outbound-confirmation-selected-section{grid-row:5!important;min-height:0!important;height:100%!important;overflow:hidden!important;}
}
#app-view#app-view #page-outbound-confirmations .outbound-confirm-splitter{display:block;height:7px;min-height:7px;margin:0 3px;cursor:ns-resize;position:relative;touch-action:none;user-select:none;background:transparent;}
#app-view#app-view #page-outbound-confirmations .outbound-confirm-splitter::after{content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:#9db2c4;}
body.outbound-confirm-resizing,body.outbound-confirm-resizing *{cursor:ns-resize!important;user-select:none!important;}

/* Current stock has 18 columns; reserve real width for the rightmost Multiple column. */
#app-view#app-view #inventory-table th:nth-child(15),#app-view#app-view #inventory-table td:nth-child(15),
#app-view#app-view #inventory-table th:nth-child(16),#app-view#app-view #inventory-table td:nth-child(16),
#app-view#app-view #inventory-table th:nth-child(17),#app-view#app-view #inventory-table td:nth-child(17),
#app-view#app-view #inventory-table th:nth-child(18),#app-view#app-view #inventory-table td:nth-child(18){width:3.575%!important;min-width:0!important;max-width:none!important;text-align:right!important;display:table-cell!important;}

@media(max-width:900px){
  #app-view#app-view #inbound-plan-search,#app-view#app-view #confirm-plan-search{width:100%!important;min-width:0!important;max-width:none!important;}
  #app-view#app-view #page-outbound-confirmations .outbound-confirm-splitter{display:none!important;}
  #app-view#app-view .app-modal-radio-card-field .app-modal-radio-group{grid-template-columns:1fr!important;}
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.5 — DATE / MASTER / INSTRUCTION CONSISTENCY         */
/* ========================================================================== */

/* Outbound date filters use one exact six-cell rhythm on all three pages. */
@media(min-width:901px){
  #app-view#app-view .outbound-plan-date-row,
  #app-view#app-view .wave-filter-primary-row,
  #app-view#app-view .outbound-confirm-date-row{
    grid-template-columns:64px 140px 132px 12px 132px minmax(240px,1fr)!important;
    grid-auto-flow:row!important;
  }
  #app-view#app-view .outbound-plan-date-row>.range-separator,
  #app-view#app-view .wave-filter-primary-row>.range-separator,
  #app-view#app-view .outbound-confirm-date-row>.range-separator{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:12px!important;min-width:12px!important;max-width:12px!important;
    padding:0!important;background:#fff!important;text-align:center!important;
  }
  #app-view#app-view .outbound-plan-date-row>input[type="date"],
  #app-view#app-view .wave-filter-primary-row>input[type="date"],
  #app-view#app-view .outbound-confirm-date-row>input[type="date"]{
    width:132px!important;min-width:132px!important;max-width:132px!important;
  }
  #app-view#app-view .outbound-plan-date-row>select,
  #app-view#app-view .wave-filter-primary-row>select,
  #app-view#app-view .outbound-confirm-date-row>select{
    width:140px!important;min-width:140px!important;max-width:140px!important;
  }
}

/* Outbound registration first line: customer / destination / three dates fit exactly in 12 columns. */
#app-view#app-view #outbound-plan-form{grid-template-columns:repeat(12,minmax(0,1fr))!important;}
#app-view#app-view #outbound-plan-form>label{min-width:0!important;}
#app-view#app-view #outbound-plan-form .m-span-2{grid-column:span 2!important;}
#app-view#app-view #outbound-plan-form .m-span-3{grid-column:span 3!important;}
#app-view#app-view #outbound-plan-form .m-span-12{grid-column:1/-1!important;}

/* Allocation grid: destination identity is part of every working row. */
#app-view#app-view #outbound-wave-lines-table table{min-width:1340px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="destination_code"]{width:126px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="destination_name"]{width:168px!important;}

/* Allocation confirm cards are genuinely two-line cards and the modal has breathing room. */
#app-modal .app-modal:has(.app-modal-radio-card-field){width:min(650px,calc(100vw - 20px))!important;min-height:230px!important;}
#app-modal .app-modal-radio-card-field{border:0!important;padding:0!important;margin:0!important;min-width:0!important;}
#app-modal .app-modal-radio-card-field legend{padding:0!important;margin:0 0 6px!important;}
#app-modal .app-modal-radio-card-field .app-modal-radio-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;}
#app-modal .app-modal-radio-card{display:grid!important;grid-template-columns:15px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-height:62px!important;padding:8px 10px!important;border:1px solid #aebfd0!important;border-radius:2px!important;background:#fff!important;cursor:pointer!important;}
#app-modal .app-modal-radio-card:has(input:checked){border:2px solid #2f6690!important;padding:7px 9px!important;background:#f4f8fc!important;}
#app-modal .app-modal-radio-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;min-width:0!important;white-space:normal!important;}
#app-modal .app-modal-radio-copy b{display:block!important;width:100%!important;font-size:11px!important;line-height:15px!important;}
#app-modal .app-modal-radio-copy small{display:block!important;width:100%!important;font-size:10px!important;line-height:14px!important;color:#617187!important;white-space:normal!important;}
#app-modal .app-modal:has(.app-modal-radio-card-field) #app-modal-form{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;}
#app-modal .app-modal:has(.app-modal-radio-card-field) .app-modal-actions{margin-top:auto!important;padding-top:10px!important;}

/* Destination master follows the requested four-row input sequence. */
#app-view#app-view #destination-form.destination-master-form{grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:4px 6px!important;}
#app-view#app-view #destination-form.destination-master-form .m-span-2{grid-column:span 2!important;}
#app-view#app-view #destination-form.destination-master-form .m-span-3{grid-column:span 3!important;}
#app-view#app-view #destination-form.destination-master-form .m-span-4{grid-column:span 4!important;}
#app-view#app-view #destination-form.destination-master-form .m-span-5{grid-column:span 5!important;}
#app-view#app-view #destination-form.destination-master-form .m-span-6{grid-column:span 6!important;}
#app-view#app-view #destination-form.destination-master-form .m-span-8{grid-column:span 8!important;}
#app-view#app-view #destination-form.destination-master-form .master-form-actions{grid-column:1/-1!important;}

/* Destination copy must show enough rows and enough horizontal detail. */
#app-view#app-view .destination-copy-panel{min-height:215px!important;margin:6px 0!important;}
#app-view#app-view .destination-copy-panel .toolbar{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(260px,1.2fr) auto auto auto!important;gap:4px!important;align-items:end!important;}
#app-view#app-view .destination-copy-panel .toolbar label{min-width:0!important;width:100%!important;}
#app-view#app-view #destination-copy-table{min-height:145px!important;}
#app-view#app-view #destination-copy-table>.table-wrap{height:145px!important;min-height:145px!important;max-height:145px!important;}
#app-view#app-view #destination-copy-table table{min-width:1450px!important;}

/* Destination list uses the same compact master-search rhythm as peer master pages. */
#app-view#app-view .destination-list-section{min-height:250px!important;margin-top:6px!important;}
#app-view#app-view .destination-list-toolbar{display:grid!important;grid-template-columns:minmax(260px,360px) minmax(260px,1fr) 150px 120px 76px 76px!important;gap:4px!important;align-items:center!important;}
#app-view#app-view .destination-customer-filter-picker{width:100%!important;grid-template-columns:minmax(0,1fr) 86px!important;}
#app-view#app-view #destination-customer-filter-display{cursor:pointer!important;background:#fff!important;color:#293b4d!important;}
#app-view#app-view #destination-search{width:100%!important;}

/* Outbound instruction page reuses the same query/grid visual system as peer workflow pages. */
#app-view#app-view #page-outbound-instructions .wave-plan-filter,
#app-view#app-view #page-outbound-instructions .wave-candidate-summary,
#app-view#app-view #page-outbound-instructions .toolbar,
#app-view#app-view #page-outbound-instructions .table-wrap{border-radius:0!important;box-shadow:none!important;}
#app-view#app-view #page-outbound-instructions .wave-candidate-section,
#app-view#app-view #page-outbound-instructions .wave-history-section{border-top-width:1px!important;border-top-color:var(--ui-lock-grid-line)!important;}
#app-view#app-view #page-outbound-instructions .wave-candidate-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px!important;margin:2px 0!important;}
#app-view#app-view #page-outbound-instructions .wave-candidate-summary article{height:28px!important;min-height:28px!important;border:1px solid var(--ui-lock-grid-line)!important;background:#f7fafc!important;}

@media(max-width:900px){
  #app-modal .app-modal:has(.app-modal-radio-card-field){min-height:0!important;}
  #app-modal .app-modal-radio-card-field .app-modal-radio-group{grid-template-columns:1fr!important;}
  #app-view#app-view .destination-copy-panel .toolbar,
  #app-view#app-view .destination-list-toolbar{grid-template-columns:1fr!important;}
  #app-view#app-view #destination-copy-table>.table-wrap{height:180px!important;min-height:180px!important;max-height:180px!important;}
}

/* v0.10.5 allocation width rebalance: destination columns are added without forcing horizontal scroll at 1366px. */
#app-view#app-view #outbound-wave-lines-table table{min-width:1100px!important;table-layout:fixed!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="destination_code"]{width:92px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="destination_name"]{width:116px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="sku"]{width:100px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="product_name"]{width:140px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="allocation_mode"]{width:85px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="date_value"]{width:104px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="ordered_qty"],
#app-view#app-view #outbound-wave-lines-table th[data-column-key="available_qty"]{width:88px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="instruction_qty"]{width:100px!important;}
#app-view#app-view #outbound-wave-lines-table th[data-column-key="unallocated_qty"],
#app-view#app-view #outbound-wave-lines-table th[data-column-key="inventory_shortage_qty"]{width:100px!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.6 — WORKFLOW QUERY / SPLITTER / GRID PERSONALIZATION */
/* ========================================================================== */

/* Six core workflow pages share one compact query rhythm. */
@media(min-width:901px){
  #app-view#app-view #page-inbound-plans .inbound-plan-date-row{
    grid-template-columns:104px 152px 14px 152px minmax(260px,1fr)!important;
  }
  #app-view#app-view #page-inbound-plans .inbound-plan-search-row,
  #app-view#app-view #page-inbound-confirmations .confirmation-filter-search-row,
  #app-view#app-view #page-outbound-plans .outbound-plan-search-row{
    grid-template-columns:104px minmax(420px,1fr) 92px!important;
  }
  #app-view#app-view #page-inbound-confirmations .confirmation-filter-date-row{
    grid-template-columns:104px 136px 148px 152px 14px 152px minmax(260px,1fr)!important;
  }
  #app-view#app-view #page-outbound-plans .outbound-plan-date-row,
  #app-view#app-view #page-outbound-instructions .wave-filter-primary-row,
  #app-view#app-view #page-outbound-confirmations .outbound-confirm-date-row{
    grid-template-columns:104px 148px 152px 14px 152px minmax(260px,1fr)!important;
  }
  #app-view#app-view #page-outbound-instructions .wave-filter-secondary-row{
    grid-template-columns:104px repeat(3,minmax(118px,1.08fr)) repeat(3,minmax(100px,.9fr)) repeat(4,minmax(92px,.82fr)) 92px!important;
  }
  #app-view#app-view #page-outbound-confirmations .outbound-confirm-condition-row{
    grid-template-columns:104px repeat(3,minmax(130px,1fr)) 110px 100px 110px 92px!important;
  }
  #app-view#app-view #page-outbound-allocations .allocation-wave-date-row{
    grid-template-columns:104px 148px 152px 14px 152px minmax(260px,1fr)!important;
  }
  #app-view#app-view #page-outbound-allocations .allocation-wave-condition-row{
    grid-template-columns:104px minmax(180px,1.25fr) 120px 120px 100px 100px minmax(160px,1.05fr) minmax(180px,1.15fr) 110px 92px!important;
  }
  #app-view#app-view #page-inbound-plans .wms-query-label,
  #app-view#app-view #page-inbound-confirmations .wms-query-label,
  #app-view#app-view #page-outbound-plans .wms-query-label,
  #app-view#app-view #page-outbound-instructions .wms-query-label,
  #app-view#app-view #page-outbound-allocations .wms-query-label,
  #app-view#app-view #page-outbound-confirmations .wms-query-label{
    width:104px!important;min-width:104px!important;max-width:104px!important;
  }
  #app-view#app-view #page-inbound-plans .wms-query-row>input[type="date"],
  #app-view#app-view #page-inbound-confirmations .wms-query-row>input[type="date"],
  #app-view#app-view #page-outbound-plans .wms-query-row>input[type="date"],
  #app-view#app-view #page-outbound-instructions .wave-filter-primary-row>input[type="date"],
  #app-view#app-view #page-outbound-allocations .allocation-wave-date-row>input[type="date"],
  #app-view#app-view #page-outbound-confirmations .wms-query-row>input[type="date"]{
    width:152px!important;min-width:152px!important;max-width:152px!important;
  }
  #app-view#app-view #page-outbound-plans .outbound-plan-date-row>select,
  #app-view#app-view #page-outbound-instructions .wave-filter-primary-row>select,
  #app-view#app-view #page-outbound-allocations .allocation-wave-date-row>select,
  #app-view#app-view #page-outbound-confirmations .outbound-confirm-date-row>select{
    width:148px!important;min-width:148px!important;max-width:148px!important;
  }
  #app-view#app-view #page-inbound-plans .range-separator,
  #app-view#app-view #page-inbound-confirmations .range-separator,
  #app-view#app-view #page-outbound-plans .range-separator,
  #app-view#app-view #page-outbound-instructions .range-separator,
  #app-view#app-view #page-outbound-allocations .range-separator,
  #app-view#app-view #page-outbound-confirmations .range-separator{
    width:14px!important;min-width:14px!important;max-width:14px!important;
  }
}

/* Every upper/lower workflow grid uses the same draggable horizontal splitter. */
#app-view#app-view .workflow-grid-splitter{
  display:block;height:7px;min-height:7px;margin:0 3px;cursor:ns-resize;position:relative;
  touch-action:none;user-select:none;background:transparent;
}
#app-view#app-view .workflow-grid-splitter::after{
  content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:#9db2c4;
}
#app-view#app-view .workflow-grid-splitter:hover::after{height:2px;top:2px;background:#5f88a9;}
body.workflow-grid-resizing,body.workflow-grid-resizing *{cursor:ns-resize!important;user-select:none!important;}
@media(min-width:901px){
  #app-view#app-view #page-inbound-plans.active,
  #app-view#app-view #page-inbound-confirmations.active,
  #app-view#app-view #page-outbound-plans.active,
  #app-view#app-view #page-outbound-instructions.active{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(160px,1fr) 7px minmax(160px,1fr)!important;
    gap:0!important;min-height:0!important;overflow:hidden!important;
  }
  #app-view#app-view #page-inbound-plans.active>.inbound-list-section,
  #app-view#app-view #page-inbound-confirmations.active>.unified-confirm-list-section,
  #app-view#app-view #page-outbound-plans.active>.outbound-list-section,
  #app-view#app-view #page-outbound-instructions.active>.wave-candidate-section{
    grid-row:1!important;min-height:0!important;height:100%!important;overflow:hidden!important;
  }
  #app-view#app-view #page-inbound-plans.active>#inbound-plan-splitter,
  #app-view#app-view #page-inbound-confirmations.active>#inbound-confirm-splitter,
  #app-view#app-view #page-outbound-plans.active>#outbound-plan-splitter,
  #app-view#app-view #page-outbound-instructions.active>#outbound-instruction-splitter{grid-row:2!important;}
  #app-view#app-view #page-inbound-plans.active>#inbound-selected-section,
  #app-view#app-view #page-inbound-confirmations.active>#inbound-confirmation-selected-section,
  #app-view#app-view #page-outbound-plans.active>#outbound-plan-selected-section,
  #app-view#app-view #page-outbound-instructions.active>#instruction-wave-history-section{
    grid-row:3!important;min-height:0!important;height:100%!important;overflow:hidden!important;
  }
}
@media(max-width:900px){
  #app-view#app-view .workflow-grid-splitter{display:none!important;}
}

/* Excel-like per-user grid settings: width, visibility, order and reset. */
#app-view#app-view .table-wrap th{position:relative!important;}
#app-view#app-view .table-wrap th.grid-menu-host{padding-left:31px!important;}
#app-view#app-view .grid-column-menu-button{
  position:absolute!important;left:3px!important;top:50%!important;transform:translateY(-50%)!important;z-index:8!important;
  width:22px!important;min-width:22px!important;max-width:22px!important;
  height:22px!important;min-height:22px!important;max-height:22px!important;
  margin:0!important;padding:0!important;border:1px solid #93a9ba!important;border-radius:2px!important;
  background:#f8fbfd!important;color:#29465e!important;font-size:12px!important;font-weight:700!important;line-height:20px!important;
}
#app-view#app-view .grid-column-menu-button:hover{background:#e5eff6!important;border-color:#6689a5!important;}
#app-view#app-view .grid-column-resizer{
  position:absolute;top:0;right:-3px;z-index:9;width:7px;height:100%;cursor:col-resize;touch-action:none;user-select:none;
}
#app-view#app-view .grid-column-resizer::after{
  content:"";position:absolute;top:4px;bottom:4px;left:3px;width:1px;background:transparent;
}
#app-view#app-view .grid-column-resizer:hover::after{background:#4d7898;}
body.grid-column-resizing,body.grid-column-resizing *{cursor:col-resize!important;user-select:none!important;}
#app-view#app-view .grid-column-hidden{display:none!important;}

.grid-column-popover{
  position:fixed;z-index:850;width:300px;max-width:calc(100vw - 16px);max-height:min(520px,calc(100vh - 16px));
  display:flex;flex-direction:column;overflow:hidden;border:1px solid #7f99ad;border-radius:3px;background:#fff;
  box-shadow:0 10px 30px #24384a38;color:#24384a;font:12px/1.3 Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif;
}
.grid-column-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:6px 8px;border-bottom:1px solid #c4d1dc;background:#e8f0f6;}
.grid-column-popover-head strong{font-size:12px}.grid-column-popover-head span{font-size:10px;color:#68798a;}
.grid-column-list{min-height:70px;overflow:auto;padding:4px;}
.grid-column-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:4px;min-height:30px;padding:2px 5px;border:1px solid transparent;border-radius:2px;background:#fff;}
.grid-column-option:hover{background:#f2f7fb;border-color:#d6e1e9;}
.grid-column-option.is-dragging{opacity:.48;background:#e6eef5;}
.grid-column-option.is-structural{background:#f7f8f9;color:#70808d;}
.grid-column-drag{display:flex;align-items:center;justify-content:center;color:#6f8190;font-weight:700;cursor:grab;user-select:none;}
.grid-column-option.is-structural .grid-column-drag{cursor:default;opacity:.35;}
.grid-column-option label{display:flex;align-items:center;gap:7px;min-width:0;cursor:pointer;}
.grid-column-option label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.grid-column-option input[type="checkbox"]{width:15px;height:15px;margin:0;}
.grid-column-option small{font-size:9px;color:#8a98a4;}
.grid-column-popover-actions{display:flex;justify-content:flex-end;gap:4px;padding:6px;border-top:1px solid #cbd7e0;background:#f7fafc;}
.grid-column-popover-actions button{height:28px;min-width:72px;padding:2px 8px;border:1px solid #aebfcd;border-radius:2px;background:#fff;color:#29465e;font-size:11px;}


/* v0.10.7 cumulative UI fixes */
#app-view#app-view #page-outbound-instructions .wave-candidate-section > .section-title-row,
#app-view#app-view #page-outbound-instructions #instruction-wave-history-section > .section-title-row{margin-bottom:0!important;}
#app-view#app-view #page-outbound-instructions .wave-candidate-section{gap:0!important;padding-top:0!important;}
#app-view#app-view #page-outbound-instructions .wave-candidate-section > .section-title-row{border-bottom:1px solid var(--ui-lock-border)!important;}
#app-view#app-view #page-outbound-instructions .wave-plan-filter{margin-top:0!important;}
#app-view#app-view #page-outbound-instructions .wave-filter-actions{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
#app-view#app-view #page-outbound-instructions .wave-filter-actions::before,
#app-view#app-view #page-outbound-instructions .wave-filter-actions::after{display:none!important;content:none!important;}
#app-view#app-view #stocktake-detail-table th[data-grid-column-key="actual_total"],
#app-view#app-view #stocktake-detail-table td[data-grid-column-key="actual_total"]{width:92px!important;min-width:92px!important;max-width:92px!important;}
#app-view#app-view #stocktake-detail-table td[data-grid-column-key="actual_total"]{text-align:right!important;padding-right:6px!important;}
#app-view#app-view .stocktake-search-row-primary .task-customer-code,
#app-view#app-view .stocktake-search-row-primary .task-customer-name,
#app-view#app-view .stocktake-search-row-secondary #stocktake-center-filter,
#app-view#app-view .stocktake-search-row-secondary #stocktake-warehouse-filter{width:160px!important;min-width:160px!important;max-width:160px!important;}
@media(min-width:901px){
  #app-view#app-view #page-stocktake.active{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(150px,1fr) 7px minmax(150px,1fr)!important;gap:0!important;min-height:0!important;overflow:hidden!important;}
  #app-view#app-view #page-stocktake.active>h1{grid-row:1!important;}
  #app-view#app-view #page-stocktake.active>.inventory-workflow-search-block{grid-row:2!important;}
  #app-view#app-view #page-stocktake.active>#stocktake-history-section{grid-row:3!important;min-height:0!important;height:100%!important;overflow:hidden!important;}
  #app-view#app-view #page-stocktake.active>#stocktake-splitter{grid-row:4!important;}
  #app-view#app-view #page-stocktake.active>#stocktake-detail-section{grid-row:5!important;min-height:0!important;height:100%!important;overflow:hidden!important;}
}

/* v0.10.8 cumulative stability / download UI corrections */
/* Upload-settings notes: one readable line per rule, larger than helper text. */
#app-view#app-view #page-upload-settings .upload-setting-notes{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:7px!important;
  margin:5px 0 8px!important;
  padding:8px 10px!important;
  border:1px solid var(--ui-lock-border)!important;
  background:#f7fafc!important;
  color:#29465e!important;
  font-size:12px!important;
  line-height:1.5!important;
}
#app-view#app-view #page-upload-settings .upload-setting-notes p{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  line-height:1.5!important;
  white-space:normal!important;
}

/* Grid editor controls must follow the resized cell width. */
#app-view#app-view .table-wrap td>input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
#app-view#app-view .table-wrap td>select,
#app-view#app-view .table-wrap td>textarea,
#app-view#app-view .table-wrap td>.smart-date,
#app-view#app-view .table-wrap td>.input-button,
#app-view#app-view .upload-settings-grid td>input,
#app-view#app-view .upload-settings-grid td>select{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
#app-view#app-view .table-wrap td>.input-button>input,
#app-view#app-view .table-wrap td>.smart-date>input{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Outbound instruction uses the same full-frame fill rule as other WMS grids. */
#app-view#app-view #page-outbound-instructions #outbound-candidates-table,
#app-view#app-view #page-outbound-instructions #instruction-waves-table{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  align-self:stretch!important;
}
#app-view#app-view #page-outbound-instructions #outbound-candidates-table>.table-wrap,
#app-view#app-view #page-outbound-instructions #instruction-waves-table>.table-wrap{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
#app-view#app-view #page-outbound-instructions #outbound-candidates-table>.table-wrap>table,
#app-view#app-view #page-outbound-instructions #instruction-waves-table>.table-wrap>table{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  table-layout:auto!important;
}
#app-view#app-view #page-outbound-instructions .wave-candidate-section,
#app-view#app-view #page-outbound-instructions #instruction-wave-history-section{
  padding-left:0!important;
  padding-right:0!important;
}
#app-view#app-view #page-outbound-instructions .wave-candidate-section>.section-title-row,
#app-view#app-view #page-outbound-instructions #instruction-wave-history-section>.section-title-row,
#app-view#app-view #page-outbound-instructions .wave-plan-filter,
#app-view#app-view #page-outbound-instructions .wave-candidate-summary,
#app-view#app-view #page-outbound-instructions #instruction-wave-history-section>.toolbar{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Migration is a real developer-only operational page, not a blank route. */
#app-view#app-view #page-migration{
  width:100%!important;
  min-width:0!important;
}
#app-view#app-view #page-migration .migration-path-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
}
#app-view#app-view #page-migration .migration-path-grid input{width:100%!important;box-sizing:border-box!important;}
#app-view#app-view #page-migration .migration-export-section,
#app-view#app-view #page-migration .migration-import-section{min-height:120px!important;}


/* v0.10.9 migration blocker hotfix: the developer page must never look blank. */
#app-view#app-view #page-migration.active{display:flex!important;flex-direction:column!important;gap:2px!important;overflow:auto!important;}
#app-view#app-view #page-migration>.migration-path-section,
#app-view#app-view #page-migration>.migration-export-section,
#app-view#app-view #page-migration>.migration-import-section{display:flex!important;flex-direction:column!important;flex:0 0 auto!important;width:100%!important;visibility:visible!important;}
#app-view#app-view #page-migration .migration-export-section{min-height:190px!important;}
#app-view#app-view #page-migration .migration-import-section{min-height:220px!important;}
#app-view#app-view #page-migration #migration-export-table,
#app-view#app-view #page-migration #migration-import-table,
#app-view#app-view #page-migration #migration-result-table{display:block!important;width:100%!important;min-height:34px!important;}
#app-view#app-view #page-migration .migration-import-guide{padding:5px 7px;border-bottom:1px solid var(--ui-lock-border);background:#f7fbfe;color:#38556b;font-size:11px;line-height:16px;}
#app-view#app-view #page-migration .migration-inline-error{display:flex;gap:8px;align-items:center;margin:4px 0;padding:7px;border:1px solid #d58b8b;background:#fff0f0;color:#7e2525;font-size:11px;}
#app-view#app-view #page-migration .migration-inline-error strong{white-space:nowrap;}

/* v0.10.13 - compact masters, external grid tools, generic raw-order import */
#app-view#app-view .compact-master-form{gap:3px!important;margin-bottom:3px!important;}
#app-view#app-view .compact-master-form .master-form-section{padding:4px 6px!important;margin:0!important;gap:3px!important;}
#app-view#app-view .compact-master-form .master-form-section>h2{min-height:20px!important;margin:0 0 3px!important;padding:0!important;font-size:11px!important;line-height:20px!important;}
#app-view#app-view .compact-master-grid{display:grid!important;align-items:end!important;gap:4px 6px!important;min-width:0!important;}
#app-view#app-view .compact-master-grid>label{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;font-size:10px!important;line-height:14px!important;}
#app-view#app-view .compact-master-grid>label>input,
#app-view#app-view .compact-master-grid>label>select,
#app-view#app-view .compact-master-grid>label>.input-button{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;}
#app-view#app-view .compact-master-grid input,
#app-view#app-view .compact-master-grid select,
#app-view#app-view .compact-master-grid button{height:30px!important;min-height:30px!important;}
#app-view#app-view .customer-basic-grid{grid-template-columns:160px minmax(220px,1fr) 180px 110px!important;}
#app-view#app-view .customer-basic-grid>label:nth-child(7){grid-column:3/5!important;}
#app-view#app-view .customer-business-grid{grid-template-columns:repeat(6,minmax(120px,1fr))!important;}
#app-view#app-view .customer-business-grid>label:nth-child(7){grid-column:span 3!important;}
#app-view#app-view .customer-business-grid>label:nth-child(8){grid-column:span 1!important;}
#app-view#app-view .customer-business-grid>label:nth-child(9){grid-column:span 1!important;}
#app-view#app-view .compact-master-actions{display:flex!important;align-items:end!important;justify-content:flex-end!important;gap:4px!important;min-width:0!important;}
#app-view#app-view .compact-master-actions button{height:30px!important;min-width:72px!important;padding:3px 8px!important;font-size:10px!important;}
#app-view#app-view .product-basic-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;}
#app-view#app-view .product-basic-grid>label:nth-child(1){grid-column:span 2!important;}
#app-view#app-view .product-basic-grid>label:nth-child(2){grid-column:span 2!important;}
#app-view#app-view .product-basic-grid>label:nth-child(3){grid-column:span 2!important;}
#app-view#app-view .product-basic-grid>label:nth-child(4){grid-column:span 3!important;}
#app-view#app-view .product-basic-grid>label:nth-child(5){grid-column:span 2!important;}
#app-view#app-view .product-basic-grid>label:nth-child(6){grid-column:span 1!important;}
#app-view#app-view .product-basic-grid>label:nth-child(n+7){grid-column:span 2!important;}
#app-view#app-view .product-basic-grid>label:nth-child(9){grid-column:span 3!important;}
#app-view#app-view .product-spec-grid{grid-template-columns:repeat(7,minmax(100px,1fr))!important;}
#app-view#app-view .product-other-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;}
#app-view#app-view .product-other-grid>label:nth-child(1),
#app-view#app-view .product-other-grid>label:nth-child(2){grid-column:span 2!important;}
#app-view#app-view .product-other-grid>label:nth-child(3){grid-column:span 6!important;}
#app-view#app-view .product-other-grid>.compact-master-actions{grid-column:span 2!important;}

/* Column settings is an external grid tool, never a header cell. */
#app-view#app-view .table-wrap th.grid-menu-host{padding-left:4px!important;}
#app-view#app-view .grid-column-menu-button{
  position:static!important;left:auto!important;top:auto!important;transform:none!important;z-index:auto!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 26px!important;
  width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;
  margin:0 0 0 4px!important;padding:0!important;font-size:12px!important;line-height:24px!important;
}
#app-view#app-view .section-title-actions .grid-column-menu-button{order:-1!important;}
#app-view#app-view .toolbar>.grid-column-menu-button{margin-left:auto!important;}
#app-view#app-view .query-action-group>.grid-column-menu-button{margin-left:4px!important;}
#app-view#app-view .grid-column-toolbar{display:flex!important;justify-content:flex-end!important;align-items:center!important;min-height:28px!important;padding:1px 2px!important;background:transparent!important;}

/* Editable grid controls always follow the resized business column. */
#app-view#app-view .table-wrap td input:not([type="checkbox"]):not([type="radio"]),
#app-view#app-view .table-wrap td select,
#app-view#app-view .table-wrap td textarea{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}

/* Upload paths live above mappings. */
#app-view#app-view #page-upload-settings .upload-path-settings-form{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%!important;}
#app-view#app-view #page-upload-settings .upload-path-settings-form>label{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;font-size:11px!important;font-weight:700!important;}
#app-view#app-view #page-upload-settings .path-input-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 80px 96px!important;gap:4px!important;min-width:0!important;align-items:center!important;}
#app-view#app-view #page-upload-settings .path-input-actions input{width:100%!important;min-width:0!important;height:30px!important;box-sizing:border-box!important;}
#app-view#app-view #page-upload-settings .path-input-actions button{height:30px!important;min-width:0!important;}
#app-view#app-view #page-upload-settings .path-input-actions .badge{display:flex!important;align-items:center!important;justify-content:center!important;min-height:26px!important;white-space:nowrap!important;}
#app-view#app-view #page-upload-settings .upload-settings-wrap{max-height:44vh!important;overflow:auto!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid{min-width:2500px!important;table-layout:fixed!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid th,
#app-view#app-view #page-upload-settings .upload-settings-grid td{min-width:92px!important;max-width:160px!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid th:first-child,
#app-view#app-view #page-upload-settings .upload-settings-grid td:first-child{width:42px!important;min-width:42px!important;max-width:42px!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid tr:not(.is-block-profile) td:nth-child(n+16){background:#f3f5f7!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid input:disabled{background:#eef1f3!important;color:#8b969f!important;}

/* Inbound/outbound import modals: readable compact form, no clipped diagnostic text. */
#app-view#app-view .workflow-modal-import{width:min(940px,calc(100vw - 28px))!important;max-width:940px!important;}
#app-view#app-view .workflow-modal-import .workflow-modal-body{padding:8px!important;overflow:auto!important;}
#app-view#app-view .import-modal-status-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:30px!important;margin-bottom:6px!important;padding:4px 7px!important;border:1px solid var(--ui-lock-border)!important;background:#f5f9fc!important;}
#app-view#app-view .import-modal-status-row strong{font-size:11px!important;}
#app-view#app-view .import-form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;align-items:end!important;}
#app-view#app-view .import-form-grid>label{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;font-size:10px!important;font-weight:700!important;}
#app-view#app-view .import-form-grid>label>span{min-height:14px!important;white-space:normal!important;line-height:14px!important;}
#app-view#app-view .import-form-grid input,
#app-view#app-view .import-form-grid select{width:100%!important;min-width:0!important;height:30px!important;box-sizing:border-box!important;}
#app-view#app-view .import-form-grid .import-field-wide{grid-column:span 1!important;}
#app-view#app-view .import-form-grid .import-field-full{grid-column:1/-1!important;}
#app-view#app-view .import-file-controls,
#app-view#app-view #inbound-internal-file-controls{display:block!important;width:100%!important;min-width:0!important;}
#app-view#app-view .import-modal-actions{display:flex!important;justify-content:flex-end!important;gap:5px!important;margin-top:7px!important;padding-top:6px!important;border-top:1px solid var(--ui-lock-border)!important;}
#app-view#app-view .import-modal-actions button{height:30px!important;min-width:100px!important;}
#app-view#app-view .workflow-modal-import .import-diagnostic{display:block!important;width:100%!important;min-height:32px!important;height:auto!important;max-height:none!important;margin-top:6px!important;padding:6px 8px!important;box-sizing:border-box!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;line-height:1.45!important;font-size:10.5px!important;}

@media(max-width:1100px){
  #app-view#app-view .customer-basic-grid,#app-view#app-view .customer-business-grid,#app-view#app-view .product-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-view#app-view .customer-basic-grid>label,#app-view#app-view .customer-business-grid>label,#app-view#app-view .product-spec-grid>label{grid-column:auto!important;}
  #app-view#app-view .product-basic-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  #app-view#app-view .product-basic-grid>label{grid-column:span 2!important;}
}
@media(max-width:760px){
  #app-view#app-view .import-form-grid{grid-template-columns:1fr!important;}
  #app-view#app-view .import-form-grid>*{grid-column:1!important;}
  #app-view#app-view #page-upload-settings .upload-path-settings-form>label{grid-template-columns:1fr!important;}
  #app-view#app-view #page-upload-settings .path-input-actions{grid-template-columns:1fr!important;}
}


/* v0.10.14 - cumulative UI polish, grid tools and compact dashboard flow */
#app-view#app-view .grid-column-menu-button{flex:0 0 26px!important;width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;margin:0 4px 0 0!important;}
#app-view#app-view .section-title-row>.grid-column-title-leading{order:-100!important;margin-left:0!important;margin-right:5px!important;align-self:center!important;}
#app-view#app-view .toolbar>.grid-column-leading,#app-view#app-view .standardized-search-row>.grid-column-leading{margin-left:0!important;margin-right:4px!important;order:-100!important;}
#app-view#app-view .section-title-row{gap:4px!important;}

/* customer business address vertical alignment */
#app-view#app-view .customer-business-grid{align-items:end!important;}
#app-view#app-view .customer-business-grid>label:nth-child(7),#app-view#app-view .customer-business-grid>label:nth-child(8),#app-view#app-view .customer-business-grid>label:nth-child(9){align-self:end!important;}
#app-view#app-view .customer-business-grid>label:nth-child(7)>.input-button{margin-bottom:0!important;}

/* master section headings match customer master */
#app-view#app-view .product-master-form .master-form-section>h2{font-size:11px!important;line-height:20px!important;font-weight:700!important;}

/* requested grid data alignment */
#customers-table td[data-column-key="contact_name"],#customers-table td[data-column-key="contact_phone"],#customers-table td[data-column-key="representative_name"],#customers-table td[data-column-key="business_no"],#customers-table td[data-column-key="zip_no"],
#products-table td[data-column-key="default_inbound_unit"],#products-table td[data-column-key="default_outbound_unit"],
#destination-copy-table td[data-column-key="zip_no"],#destination-copy-table td[data-column-key="contact_name"],#destination-copy-table td[data-column-key="contact_phone"],
#centers-table td[data-column-key="zip_no"],#centers-table td[data-column-key="contact_name"],#centers-table td[data-column-key="contact_phone"],
#outbound-policies-table td[data-column-key="scope"],#outbound-policies-table td[data-column-key="target_type"],#outbound-policies-table td[data-column-key="target_name"],#outbound-policies-table td[data-column-key="policy_action"],#outbound-policies-table td[data-column-key="effective_from"],#outbound-policies-table td[data-column-key="effective_to"]{text-align:center!important;}
#groups-table td:not([data-column-key="note"]),#warehouses-table td:not([data-column-key="note"]),#locations-table td:not([data-column-key="note"]){text-align:center!important;}

/* destination copy compact width and no horizontal scroll at normal desktop widths */
#app-view#app-view .destination-copy-toolbar{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;}
#app-view#app-view .destination-copy-toolbar #destination-copy-pair-label{min-width:300px!important;max-width:520px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#app-view#app-view .destination-copy-toolbar #destination-copy-search{flex:1 1 auto!important;min-width:180px!important;}
#destination-copy-table .table-wrap{overflow-x:hidden!important;}
#destination-copy-table table{width:100%!important;table-layout:fixed!important;min-width:0!important;}
#destination-copy-table th:nth-child(1){width:42px!important} #destination-copy-table th:nth-child(2){width:110px!important} #destination-copy-table th:nth-child(3){width:140px!important} #destination-copy-table th:nth-child(4){width:80px!important} #destination-copy-table th:nth-child(7){width:100px!important} #destination-copy-table th:nth-child(8){width:120px!important}

/* stocktake search equal widths and tighter layout */
#app-view#app-view .stocktake-search-row-primary{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 110px 110px minmax(300px,2fr) 110px!important;}
#app-view#app-view .stocktake-search-row-secondary{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr)!important;max-width:calc(40% + 260px)!important;}
#app-view#app-view .stocktake-search-row-primary>.task-customer-code,#app-view#app-view .stocktake-search-row-primary>.task-customer-name,#app-view#app-view .stocktake-search-row-secondary>select{width:100%!important;min-width:0!important;}

/* outbound instruction grid frame follows outbound plan frame */
#app-view#app-view #page-outbound-instructions .outbound-section,#app-view#app-view #page-outbound-instructions .table-wrap{border-color:#9eb6c9!important;}
#app-view#app-view #page-outbound-instructions .validation-summary{margin:0!important;border-left:1px solid #9eb6c9!important;border-right:1px solid #9eb6c9!important;border-bottom:0!important;}
#app-view#app-view #page-outbound-instructions #outbound-candidates-table .table-wrap{margin-top:0!important;padding-top:0!important;}

/* compact dashboard process flow - preserve current dashboard height */
#app-view#app-view .dashboard-process-panel{display:grid!important;grid-template-rows:repeat(2,42px)!important;gap:4px!important;margin:4px 0 6px!important;padding:4px!important;border:1px solid #9fb7c8!important;background:#e6f0f6!important;}
#app-view#app-view .dashboard-process-lane{display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;}
#app-view#app-view .dashboard-process-title{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:30px!important;font-size:11px!important;background:#d2e3ee!important;border:1px solid #9fb7c8!important;}
#app-view#app-view .dashboard-process-lane>i{font-style:normal!important;color:#648198!important;font-size:14px!important;flex:0 0 auto!important;}
#app-view#app-view .dashboard-stage{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:5px!important;flex:1 1 0!important;min-width:92px!important;height:30px!important;padding:2px 7px!important;border:1px solid #a7bdcd!important;background:#fff!important;color:#24445b!important;font-size:10px!important;cursor:pointer!important;}
#app-view#app-view .dashboard-stage:hover{background:#f2f8fc!important;border-color:#527d9d!important;}
#app-view#app-view .dashboard-stage span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#app-view#app-view .dashboard-stage b{font-size:14px!important;color:#0e4f78!important;}
#app-view#app-view .dashboard-stage.done{background:#eef7f1!important;}

/* customer selection popup */
#app-view#app-view .customer-selection-modal{width:min(780px,92vw)!important;}
#app-view#app-view .customer-selection-pair-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
#app-view#app-view .customer-selection-pair-fields label,#app-view#app-view .customer-selection-single-field label{display:grid!important;grid-template-rows:auto 30px 180px!important;gap:3px!important;font-size:11px!important;font-weight:700!important;}
#app-view#app-view .customer-selection-pair-fields select,#app-view#app-view .customer-selection-single-field select{width:100%!important;min-height:180px!important;}
#app-view#app-view .product-list-toolbar #product-customer-filter-label{min-width:160px!important;}

/* remove now-unused help rows and reclaim vertical space */
#app-view#app-view .inventory-unit-help:empty{display:none!important;}
/* v0.10.14 stocktake exact field width lock */
#app-view#app-view .stocktake-search-row-primary{grid-template-columns:200px 200px 110px 110px minmax(320px,1fr) 110px!important;column-gap:4px!important;}
#app-view#app-view .stocktake-search-row-secondary{grid-template-columns:200px 200px!important;width:404px!important;max-width:404px!important;column-gap:4px!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.15 — accumulated UI regression fixes                */
/* ========================================================================== */

/* Customer/business address and product customer-name controls must sit on
   the exact same control baseline/height as their neighbouring inputs. */
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(7),
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(8),
#app-view#app-view #product-form .product-basic-grid>label:nth-child(1),
#app-view#app-view #product-form .product-basic-grid>label:nth-child(2){align-self:end!important;}
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(7)>.input-button,
#app-view#app-view #product-form .product-basic-grid>label:nth-child(2)>.input-button{
  width:100%!important;height:30px!important;min-height:30px!important;max-height:30px!important;
  margin-top:3px!important;padding:0!important;box-sizing:border-box!important;align-self:end!important;
}
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(7)>.input-button>*,
#app-view#app-view #product-form .product-basic-grid>label:nth-child(2)>.input-button>*{
  height:30px!important;min-height:30px!important;max-height:30px!important;line-height:28px!important;
  margin:0!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box!important;
}
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(8)>input,
#app-view#app-view #product-form .product-basic-grid>label:nth-child(1)>input{
  height:30px!important;min-height:30px!important;max-height:30px!important;line-height:28px!important;
  box-sizing:border-box!important;
}

/* Grid section-title contract: column tool is vertically centred at the far
   left; the title follows immediately. Only action/status groups occupy the
   right edge. This fixes the accidental centred/right-aligned titles. */
#app-view#app-view .section-title-row:has(>.grid-column-title-leading){
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;
  gap:5px!important;
}
#app-view#app-view .section-title-row:has(>.grid-column-title-leading)>.grid-column-title-leading{
  order:0!important;align-self:center!important;margin:0!important;position:static!important;top:auto!important;transform:none!important;
  flex:0 0 26px!important;
}
#app-view#app-view .section-title-row:has(>.grid-column-title-leading)>h2,
#app-view#app-view .section-title-row:has(>.grid-column-title-leading)>div:not(.section-title-actions):not(.selected-section-controls):not(.plan-product-actions){
  order:1!important;margin-left:0!important;margin-right:0!important;text-align:left!important;justify-self:start!important;flex:0 1 auto!important;
}
#app-view#app-view .section-title-row:has(>.grid-column-title-leading)>.section-title-actions,
#app-view#app-view .section-title-row:has(>.grid-column-title-leading)>.selected-section-controls,
#app-view#app-view .section-title-row:has(>.grid-column-title-leading)>.plan-product-actions{
  order:10!important;margin-left:auto!important;
}
#app-view#app-view #stocktake-history-section>.section-title-row,
#app-view#app-view #stocktake-detail-section>.section-title-row{align-items:center!important;}

/* Stocktake: four lookup controls share one generous width. The upper two
   fields end immediately before the customer selection button; centre and
   warehouse use the same width below. */
#app-view#app-view .stocktake-search-row-primary{
  grid-template-columns:250px 250px 126px 104px minmax(340px,1fr) 110px!important;
  column-gap:4px!important;
}
#app-view#app-view .stocktake-search-row-secondary{
  grid-template-columns:250px 250px!important;width:504px!important;max-width:504px!important;column-gap:4px!important;
}
#app-view#app-view .stocktake-search-row-primary>.task-customer-code,
#app-view#app-view .stocktake-search-row-primary>.task-customer-name,
#app-view#app-view .stocktake-search-row-secondary>#stocktake-center-filter,
#app-view#app-view .stocktake-search-row-secondary>#stocktake-warehouse-filter{
  width:100%!important;min-width:0!important;max-width:none!important;
}

/* Current stock / inventory IO: the leading column-tool is part of the same
   single compact row. Account for its 26px column so action controls never
   wrap to a second line. */
#app-view#app-view #page-inventory .inventory-overview-search{
  grid-template-columns:26px minmax(420px,1.35fr) minmax(320px,1fr) 96px 116px 116px 104px auto!important;
  grid-auto-rows:30px!important;height:36px!important;min-height:36px!important;align-items:center!important;overflow:visible!important;
}
#app-view#app-view #page-inventory-io .inventory-overview-search{
  grid-template-columns:26px minmax(420px,1.35fr) minmax(320px,1fr) 128px 116px 116px auto!important;
  grid-auto-rows:30px!important;height:36px!important;min-height:36px!important;align-items:center!important;overflow:visible!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.grid-column-leading{
  grid-column:1!important;align-self:center!important;justify-self:start!important;margin:0!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.query-action-group{
  height:30px!important;align-self:center!important;white-space:nowrap!important;
}
@media(max-width:1450px){
  #app-view#app-view #page-inventory .inventory-overview-search,
  #app-view#app-view #page-inventory-io .inventory-overview-search{height:auto!important;min-height:36px!important;grid-template-columns:26px repeat(3,minmax(170px,1fr))!important;grid-auto-rows:30px!important;}
}

/* Shared-looking source/target customer pair popup. */
#app-view#app-view .customer-selection-modal{width:min(1040px,94vw)!important;max-width:1040px!important;}
#app-view#app-view .customer-selection-help{margin:0 0 6px!important;padding:0!important;}
#app-view#app-view .customer-selection-pair-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
#app-view#app-view .customer-selection-panel{min-width:0!important;border:1px solid #bdcddd!important;background:#f8fbfd!important;padding:6px!important;}
#app-view#app-view .customer-selection-panel>h3{margin:0 0 5px!important;font-size:11px!important;line-height:18px!important;}
#app-view#app-view .customer-pair-search{grid-template-columns:1fr 1fr!important;margin:0!important;gap:4px!important;}
#app-view#app-view .customer-pair-search label{font-size:10px!important;font-weight:700!important;}
#app-view#app-view .customer-pair-search input{height:30px!important;min-height:30px!important;}
#app-view#app-view .customer-selection-selected{height:26px!important;line-height:24px!important;margin:5px 0!important;padding:0 6px!important;border:1px solid #c7d5e1!important;background:#eef5fa!important;font-size:10.5px!important;font-weight:700!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#app-view#app-view .customer-selection-results{height:220px!important;min-height:220px!important;max-height:220px!important;overflow:auto!important;background:#fff!important;border:1px solid #c7d5e1!important;padding:3px!important;}
#app-view#app-view .customer-selection-results .picker-customer-result{width:100%!important;border-radius:0!important;margin:0 0 2px!important;text-align:left!important;}
#app-view#app-view .customer-selection-results .picker-customer-result.is-selected{border-color:#1e6fa8!important;background:#e4f1fb!important;box-shadow:inset 3px 0 0 #1e6fa8!important;}

/* Outbound policy selection fields now use the common search-popup visual
   contract rather than long native select boxes. */
#app-view#app-view #outbound-policy-form .outbound-policy-picker-field>.input-button{width:100%!important;min-width:0!important;}
#app-view#app-view #outbound-policy-form .outbound-policy-picker-field>.input-button>input{cursor:pointer!important;background:#fff!important;text-overflow:ellipsis!important;}
#app-view#app-view #outbound-policy-form .outbound-policy-destination-field>.input-button{max-width:none!important;}

/* Direct inventory adjustment: the deleted green quantity guide must leave no
   visual container or reserved row behind. */
#app-view#app-view #adjustment-form .tx-quantity-hint{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;}

/* Outbound confirmation upper/lower grids: stable draggable split. */
@media(min-width:901px){
  #app-view#app-view #page-outbound-confirmations.active{grid-template-rows:auto auto minmax(160px,1fr) 7px minmax(160px,1fr)!important;}
  #app-view#app-view #page-outbound-confirmations.active>#outbound-confirm-target-section{grid-row:3!important;min-height:160px!important;}
  #app-view#app-view #page-outbound-confirmations.active>#outbound-confirm-splitter{grid-row:4!important;z-index:4!important;}
  #app-view#app-view #page-outbound-confirmations.active>#outbound-confirmation-selected-section{grid-row:5!important;min-height:160px!important;}
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.16 — accumulated polish after v0.10.15              */
/* ========================================================================== */

/* Destination-copy title row: column settings belongs to the title, and the
   source/target selector state reads from the left instead of floating centre. */
#app-view#app-view .destination-copy-panel>.section-title-row{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;
}
#app-view#app-view .destination-copy-panel>.section-title-row>.grid-column-title-leading{
  position:static!important;align-self:center!important;margin:0!important;flex:0 0 26px!important;
}
#app-view#app-view .destination-copy-panel>.section-title-row>div{
  text-align:left!important;margin:0!important;flex:0 1 auto!important;
}
#app-view#app-view .destination-copy-panel>.section-title-row>#destination-copy-selected-count{margin-left:auto!important;}
#app-view#app-view .destination-copy-toolbar{justify-content:flex-start!important;text-align:left!important;}
#app-view#app-view #destination-copy-customer-pair-open{flex:0 0 auto!important;}
#app-view#app-view #destination-copy-pair-label{display:block!important;text-align:left!important;margin:0!important;}

/* Selected customer in the source/target popup must be immediately legible. */
#app-view#app-view .customer-selection-selected{
  height:32px!important;min-height:32px!important;line-height:30px!important;margin:6px 0!important;padding:0 9px!important;
  border:1px solid #9eb8cb!important;background:#e8f2f9!important;color:#173f5d!important;
  font-size:13px!important;font-weight:800!important;letter-spacing:.05px!important;
}

/* Outbound policy column tool sits immediately before its search field. */
#app-view#app-view #page-outbound-policies>.toolbar{display:flex!important;align-items:center!important;gap:4px!important;}
#app-view#app-view #page-outbound-policies>.toolbar>.grid-column-leading{
  order:-100!important;margin:0!important;flex:0 0 26px!important;
}
#app-view#app-view #page-outbound-policies #outbound-policy-search{flex:1 1 auto!important;min-width:0!important;}

/* Picking sequence: reclaim the extra column-tool row by putting the tool
   directly before the existing help sentence. */
#app-view#app-view #page-picking-sequences .picking-sequence-help{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;min-height:28px!important;
}
#app-view#app-view #page-picking-sequences .picking-sequence-help>.grid-column-leading{
  order:-100!important;margin:0!important;flex:0 0 26px!important;
}
#app-view#app-view #page-picking-sequences .grid-column-toolbar:empty{display:none!important;}

/* Workflow title rule: every grid title follows the column settings control;
   status/action groups alone may occupy the right edge. */
#app-view#app-view :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,
  #page-outbound-instructions,#page-outbound-allocations,#page-outbound-confirmations,
  #page-stocktake,#page-adjustment,#page-inventory-move
) .section-title-row:has(>.grid-column-title-leading){
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;text-align:left!important;
}
#app-view#app-view :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,
  #page-outbound-instructions,#page-outbound-allocations,#page-outbound-confirmations,
  #page-stocktake,#page-adjustment,#page-inventory-move
) .section-title-row:has(>.grid-column-title-leading)>h2,
#app-view#app-view :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,
  #page-outbound-instructions,#page-outbound-allocations,#page-outbound-confirmations,
  #page-stocktake,#page-adjustment,#page-inventory-move
) .section-title-row:has(>.grid-column-title-leading)>div:not(.section-title-actions):not(.selected-section-controls):not(.plan-product-actions){
  order:1!important;text-align:left!important;margin:0!important;flex:0 1 auto!important;
}
#app-view#app-view :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,
  #page-outbound-instructions,#page-outbound-allocations,#page-outbound-confirmations,
  #page-stocktake,#page-adjustment,#page-inventory-move
) .section-title-row:has(>.grid-column-title-leading)>.grid-column-title-leading{
  order:0!important;position:static!important;align-self:center!important;margin:0!important;transform:none!important;
}
#app-view#app-view :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,
  #page-outbound-instructions,#page-outbound-allocations,#page-outbound-confirmations
) .section-title-row:has(>.grid-column-title-leading)>.section-title-actions{
  order:10!important;margin-left:auto!important;
}
#app-view#app-view #page-outbound-instructions #wave-create-selected{margin-left:auto!important;}

/* Stocktake: use the available left-hand width instead of leaving dead space.
   All four lookup controls share the same generous width. */
#app-view#app-view .stocktake-search-row-primary{
  grid-template-columns:300px 300px 126px 104px minmax(340px,1fr) 110px!important;column-gap:4px!important;
}
#app-view#app-view .stocktake-search-row-secondary{
  grid-template-columns:300px 300px!important;width:604px!important;max-width:604px!important;column-gap:4px!important;
}

/* Current stock / inventory IO: one compact, balanced row. */
#app-view#app-view #page-inventory .inventory-overview-search{
  grid-template-columns:26px minmax(430px,1.45fr) minmax(300px,1fr) 104px 116px 116px 110px auto!important;
  gap:4px!important;grid-auto-rows:30px!important;height:36px!important;min-height:36px!important;padding:3px!important;align-items:center!important;
}
#app-view#app-view #page-inventory-io .inventory-overview-search{
  grid-template-columns:26px minmax(430px,1.45fr) minmax(300px,1fr) 136px 116px 116px auto!important;
  gap:4px!important;grid-auto-rows:30px!important;height:36px!important;min-height:36px!important;padding:3px!important;align-items:center!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.task-lookup:first-of-type{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 118px!important;gap:4px!important;height:30px!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.task-lookup:nth-of-type(2){
  display:grid!important;grid-template-columns:minmax(0,1fr) 108px!important;gap:4px!important;height:30px!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.grid-column-leading{
  grid-column:1!important;align-self:center!important;justify-self:start!important;margin:0!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.query-action-group{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;height:30px!important;margin:0!important;white-space:nowrap!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search :is(input,select,button){height:30px!important;min-height:30px!important;box-sizing:border-box!important;}
@media(max-width:1450px){
  #app-view#app-view #page-inventory .inventory-overview-search,
  #app-view#app-view #page-inventory-io .inventory-overview-search{
    height:auto!important;min-height:36px!important;grid-template-columns:26px repeat(3,minmax(170px,1fr))!important;
  }
}

/* Outbound instruction table frame: use the exact same physical frame rules
   as the outbound-plan list. No instruction-only padding/border geometry. */
#app-view#app-view #page-outbound-instructions .wave-candidate-section{
  padding:3px!important;margin:0!important;border:1px solid var(--ui-lock-border)!important;border-radius:0!important;box-sizing:border-box!important;
  background:#fff!important;
}
#app-view#app-view #page-outbound-instructions #outbound-candidates-table{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;width:100%!important;margin:0!important;padding:0!important;
}
#app-view#app-view #page-outbound-instructions #outbound-candidates-table>.table-wrap{
  flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;border:1px solid var(--wms-border-soft)!important;border-radius:0!important;overflow:auto!important;box-sizing:border-box!important;
}
#app-view#app-view #page-outbound-instructions #outbound-candidates-table>.table-wrap>table{
  margin:0!important;border-collapse:collapse!important;table-layout:auto!important;
}
#app-view#app-view #page-outbound-instructions .wave-candidate-section>.section-title-row,
#app-view#app-view #page-outbound-instructions .wave-plan-filter,
#app-view#app-view #page-outbound-instructions .wave-candidate-summary{
  margin-left:0!important;margin-right:0!important;width:100%!important;box-sizing:border-box!important;
}

/* Explicit-width grids: user resize changes the real table length. The table
   must not stretch back to 100%; horizontal scroll appears only when needed. */
#app-view#app-view .table-wrap>table.grid-explicit-width{
  table-layout:fixed!important;flex:0 0 auto!important;
}
/* customer pair modal lives outside #app-view */
.customer-selection-modal .customer-selection-selected{
  height:32px!important;min-height:32px!important;line-height:30px!important;margin:6px 0!important;padding:0 9px!important;
  border:1px solid #9eb8cb!important;background:#e8f2f9!important;color:#173f5d!important;
  font-size:13px!important;font-weight:800!important;letter-spacing:.05px!important;box-sizing:border-box!important;
}
#app-view#app-view #page-outbound-instructions #outbound-candidates-table>.table-wrap{border-color:#c5d2dc!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.17 — compact masters / unified flow / dashboard      */
/* ========================================================================== */

/* Customer/product masters: preserve the shared 30px lock as an OUTER size.
   Previous compact rules used content-box, making these controls look thicker
   than group/center/warehouse masters. */
#app-view#app-view :is(#customer-form,#product-form) .compact-master-grid :is(input,select,button),
#app-view#app-view :is(#customer-form,#product-form) .compact-master-grid .input-button,
#app-view#app-view :is(#customer-form,#product-form) .compact-master-grid .input-button>*{
  box-sizing:border-box!important;
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
}
#app-view#app-view :is(#customer-form,#product-form) .compact-master-grid :is(input,select){padding-top:2px!important;padding-bottom:2px!important;}

/* One-grid source/target customer picker. */
.customer-selection-single-modal{width:min(780px,calc(100vw - 36px))!important;max-width:780px!important;max-height:min(620px,calc(100vh - 42px))!important;}
.customer-selection-single-modal .workflow-modal-body{padding:8px!important;overflow:hidden!important;}
.customer-selection-single-modal .customer-selection-help{margin:0 0 6px!important;font-size:11px!important;}
.customer-pair-search-single{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin:0 0 6px!important;}
.customer-pair-search-single label{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;font-size:11px!important;font-weight:700!important;}
.customer-pair-search-single input{box-sizing:border-box!important;width:100%!important;height:30px!important;min-height:30px!important;}
.customer-selection-pair-summary{margin:0 0 6px!important;height:auto!important;min-height:34px!important;line-height:20px!important;padding:6px 10px!important;font-size:13px!important;font-weight:800!important;}
.customer-pair-grid{border:1px solid #aebfcd!important;background:#fff!important;overflow:hidden!important;}
.customer-pair-grid-head,.customer-pair-grid-row{display:grid!important;grid-template-columns:58px 78px 180px minmax(0,1fr)!important;align-items:center!important;min-width:0!important;}
.customer-pair-grid-head{height:30px!important;background:#e7eef4!important;border-bottom:1px solid #aebfcd!important;color:#24445b!important;font-size:11px!important;font-weight:700!important;text-align:center!important;}
.customer-pair-grid-body{display:block!important;height:310px!important;max-height:310px!important;overflow:auto!important;}
.customer-pair-grid-row{height:30px!important;border-bottom:1px solid #d8e1e8!important;font-size:12px!important;color:#29465e!important;cursor:default!important;}
.customer-pair-grid-row:last-child{border-bottom:0!important;}
.customer-pair-grid-row:hover{background:#f3f8fb!important;}
.customer-pair-grid-row.is-selected{background:#fff8d7!important;}
.customer-pair-grid-row>*{min-width:0!important;padding:0 8px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.customer-pair-choice{display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;padding:0!important;border-right:1px solid #d8e1e8!important;}
.customer-pair-choice input[type="radio"]{width:15px!important;height:15px!important;margin:0!important;}
.customer-pair-grid-row>span{border-right:1px solid #d8e1e8!important;}
.customer-selection-single-modal .app-modal-actions{margin-top:7px!important;padding-top:7px!important;}

/* Current stock / IO: keep every control visible in one compact desktop row.
   Search fields get the space; categorical filters stay compact. */
#app-view#app-view #page-inventory .inventory-overview-search{
  display:grid!important;
  grid-template-columns:26px minmax(410px,510px) minmax(270px,1fr) 100px 112px 112px 105px 170px!important;
  gap:4px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:visible!important;
}
#app-view#app-view #page-inventory-io .inventory-overview-search{
  display:grid!important;
  grid-template-columns:26px minmax(410px,510px) minmax(270px,1fr) 122px 112px 112px 80px!important;
  gap:4px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:visible!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.task-lookup:first-of-type{
  display:grid!important;grid-template-columns:minmax(125px,1fr) minmax(150px,1.15fr) 108px!important;gap:4px!important;min-width:0!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.task-lookup:nth-of-type(2){
  display:grid!important;grid-template-columns:minmax(150px,1fr) 104px!important;gap:4px!important;min-width:0!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.query-action-group{
  min-width:0!important;width:100%!important;display:flex!important;justify-content:flex-end!important;gap:4px!important;
}
#app-view#app-view #page-inventory .inventory-overview-search>.query-action-group>button:first-child{min-width:72px!important;}
#app-view#app-view #page-inventory .inventory-overview-search>.query-action-group>#inventory-excel-download{min-width:92px!important;}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search :is(input,select,button){min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
@media(max-width:1320px){
  #app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search{overflow-x:auto!important;overflow-y:hidden!important;}
  #app-view#app-view #page-inventory .inventory-overview-search{grid-template-columns:26px 410px 270px 100px 112px 112px 105px 170px!important;}
  #app-view#app-view #page-inventory-io .inventory-overview-search{grid-template-columns:26px 410px 270px 122px 112px 112px 80px!important;}
}

/* Stocktake title controls: fully inside the 34px title bar and vertically centred. */
#app-view#app-view :is(#stocktake-history-section,#stocktake-detail-section)>.section-title-row{
  box-sizing:border-box!important;height:34px!important;min-height:34px!important;max-height:34px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;padding-top:4px!important;padding-bottom:4px!important;overflow:visible!important;
}
#app-view#app-view :is(#stocktake-history-section,#stocktake-detail-section)>.section-title-row>.grid-column-title-leading{
  position:static!important;top:auto!important;bottom:auto!important;transform:none!important;align-self:center!important;
  width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;margin:0 5px 0 0!important;
}
#app-view#app-view :is(#stocktake-history-section,#stocktake-detail-section)>.section-title-row>h2{margin:0!important;text-align:left!important;}

/* Outbound instruction: physically reuse the outbound-plan list panel geometry.
   Wave-specific behaviour remains, but frame/title/table spacing is identical. */
#app-view#app-view #page-outbound-instructions>.wave-candidate-section,
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section{
  box-sizing:border-box!important;margin:1px 0!important;padding:3px!important;
  border:1px solid var(--wms-border)!important;border-radius:var(--wms-panel-radius)!important;background:var(--wms-panel)!important;box-shadow:none!important;
}
#app-view#app-view #page-outbound-instructions>.wave-candidate-section{border-top:2px solid #4d83aa!important;}
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section{border-top:2px solid #7a91a8!important;}
#app-view#app-view #page-outbound-instructions>.wave-candidate-section>.section-title-row,
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section>.section-title-row{
  box-sizing:border-box!important;width:calc(100% + 6px)!important;max-width:none!important;height:34px!important;min-height:34px!important;
  margin:-3px -3px 3px!important;padding:4px!important;border:0!important;border-bottom:1px solid var(--wms-border)!important;background:var(--wms-title)!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;gap:5px!important;
}
#app-view#app-view #page-outbound-instructions :is(.wave-candidate-section,#instruction-wave-history-section)>.section-title-row>.grid-column-title-leading{
  order:0!important;position:static!important;align-self:center!important;margin:0!important;flex:0 0 26px!important;
}
#app-view#app-view #page-outbound-instructions :is(.wave-candidate-section,#instruction-wave-history-section)>.section-title-row h2{
  order:1!important;margin:0!important;text-align:left!important;flex:0 0 auto!important;
}
#app-view#app-view #page-outbound-instructions .wave-candidate-section>.section-title-row>div:not(.section-title-actions){
  order:1!important;display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;flex:0 1 auto!important;text-align:left!important;
}
#app-view#app-view #page-outbound-instructions .wave-candidate-section>.section-title-row>.section-title-actions{order:10!important;margin-left:auto!important;}
#app-view#app-view #page-outbound-instructions #instruction-wave-history-section>.section-title-row>.selected-record-label{order:10!important;margin-left:auto!important;}
#app-view#app-view #page-outbound-instructions :is(#outbound-candidates-table,#instruction-waves-table)>.table-wrap{
  box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;
  border:1px solid var(--wms-border-soft)!important;border-radius:0!important;overflow:auto!important;background:#fff!important;
}
#app-view#app-view #page-outbound-instructions .wave-plan-filter,
#app-view#app-view #page-outbound-instructions .wave-candidate-summary,
#app-view#app-view #page-outbound-instructions #instruction-wave-history-section>.toolbar{margin-left:0!important;margin-right:0!important;}

/* Dashboard: compact process map, but visually strong enough to be the first
   operational glance. Height remains essentially the old two-lane footprint. */
#app-view#app-view .dashboard-process-panel{
  display:grid!important;grid-template-rows:repeat(2,44px)!important;gap:5px!important;
  margin:4px 0 7px!important;padding:5px!important;border:1px solid #9eb5c8!important;border-radius:8px!important;
  background:linear-gradient(135deg,#edf5fb 0%,#f8fbfd 52%,#eef4f8 100%)!important;box-shadow:0 2px 8px rgba(35,72,101,.10)!important;
}
#app-view#app-view .dashboard-process-lane{
  position:relative!important;display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important;height:44px!important;
  padding:4px 6px!important;border:1px solid rgba(126,153,174,.55)!important;border-radius:7px!important;background:rgba(255,255,255,.88)!important;box-sizing:border-box!important;
}
#app-view#app-view .dashboard-process-lane.inbound-lane{box-shadow:inset 3px 0 0 #1c9c91!important;}
#app-view#app-view .dashboard-process-lane.outbound-lane{box-shadow:inset 3px 0 0 #3f72c7!important;}
#app-view#app-view .dashboard-process-title{
  display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 54px!important;width:54px!important;height:30px!important;
  border:0!important;border-radius:15px!important;color:#fff!important;font-size:11px!important;font-weight:800!important;letter-spacing:.4px!important;box-shadow:0 2px 5px rgba(30,62,88,.18)!important;
}
#app-view#app-view .inbound-lane .dashboard-process-title{background:linear-gradient(135deg,#147c79,#20aaa0)!important;}
#app-view#app-view .outbound-lane .dashboard-process-title{background:linear-gradient(135deg,#315fae,#548ae0)!important;}
#app-view#app-view .dashboard-stage{
  position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;
  flex:1 1 0!important;min-width:88px!important;height:32px!important;padding:2px 8px!important;border:1px solid #b6c8d6!important;border-radius:7px!important;
  background:linear-gradient(180deg,#fff,#f4f8fb)!important;color:#27465e!important;font-size:10px!important;cursor:pointer!important;
  box-shadow:0 1px 3px rgba(30,65,92,.08)!important;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease!important;
}
#app-view#app-view .inbound-lane .dashboard-stage{border-top:2px solid #48a9a1!important;}
#app-view#app-view .outbound-lane .dashboard-stage{border-top:2px solid #6f8fd3!important;}
#app-view#app-view .dashboard-stage:hover{transform:translateY(-1px)!important;border-color:#4d7da1!important;box-shadow:0 3px 8px rgba(33,76,107,.16)!important;background:#fff!important;}
#app-view#app-view .dashboard-stage span{font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#app-view#app-view .dashboard-stage b{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:28px!important;height:22px!important;padding:0 5px!important;border-radius:11px!important;background:#e6f0f7!important;color:#0d527b!important;font-size:14px!important;font-weight:850!important;}
#app-view#app-view .inbound-lane .dashboard-stage b{background:#e1f4f1!important;color:#0c756e!important;}
#app-view#app-view .outbound-lane .dashboard-stage b{background:#e8eefb!important;color:#315da6!important;}
#app-view#app-view .dashboard-stage.done{background:linear-gradient(180deg,#f6fbf6,#eaf6ee)!important;border-color:#8fb99a!important;border-top-color:#4c9a63!important;}
#app-view#app-view .dashboard-stage.done b{background:#dff1e4!important;color:#28723e!important;}
#app-view#app-view .dashboard-process-lane>i{
  position:relative!important;display:block!important;flex:0 0 18px!important;width:18px!important;height:12px!important;font-size:0!important;color:transparent!important;
}
#app-view#app-view .dashboard-process-lane>i::before{content:""!important;position:absolute!important;left:0!important;right:4px!important;top:5px!important;height:2px!important;background:#9eb3c3!important;border-radius:2px!important;}
#app-view#app-view .dashboard-process-lane>i::after{content:""!important;position:absolute!important;right:1px!important;top:2px!important;width:6px!important;height:6px!important;border-top:2px solid #829aac!important;border-right:2px solid #829aac!important;transform:rotate(45deg)!important;}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.18 — residual UI fixes                               */
/* ========================================================================== */

/* Customer/product residual thick controls: match group/center masters exactly. */
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(7)>.input-button,
#app-view#app-view #product-form .product-basic-grid>label:nth-child(2)>.input-button{
  height:26px!important;min-height:26px!important;max-height:26px!important;box-sizing:border-box!important;
}
#app-view#app-view #customer-form :is(input[name="road_address"],input[name="zip_no"]),
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(7)>.input-button>button,
#app-view#app-view #product-form :is(#product-customer-code-search,#product-customer-name-search),
#app-view#app-view #product-form .product-basic-grid>label:nth-child(2)>.input-button>button{
  box-sizing:border-box!important;height:26px!important;min-height:26px!important;max-height:26px!important;
  padding-top:2px!important;padding-bottom:2px!important;line-height:18px!important;border-width:1px!important;
}

/* IO history reset button: exact same dimensions as current-stock reset. */
#app-view#app-view :is(#inventory-filter-reset,#inventory-io-reset){
  width:72px!important;min-width:72px!important;max-width:72px!important;height:30px!important;min-height:30px!important;max-height:30px!important;
  padding:0 8px!important;font-size:11px!important;box-sizing:border-box!important;
}

/* Stocktake column menu buttons: force true vertical centring inside title bar. */
#app-view#app-view :is(#stocktake-history-section,#stocktake-detail-section)>.section-title-row{
  position:relative!important;display:flex!important;align-items:center!important;padding-top:0!important;padding-bottom:0!important;height:34px!important;min-height:34px!important;max-height:34px!important;
}
#app-view#app-view :is(#stocktake-history-section,#stocktake-detail-section)>.section-title-row>.grid-column-title-leading{
  position:relative!important;top:auto!important;bottom:auto!important;transform:none!important;align-self:center!important;margin-top:auto!important;margin-bottom:auto!important;
  height:24px!important;min-height:24px!important;max-height:24px!important;width:26px!important;
}
#app-view#app-view :is(#stocktake-history-section,#stocktake-detail-section)>.section-title-row>h2{
  align-self:center!important;line-height:24px!important;margin:0!important;text-align:left!important;
}

/* Outbound instruction must have no instruction-only dark top accent line. */
#app-view#app-view #page-outbound-instructions>.wave-candidate-section,
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section{
  border-top:1px solid var(--wms-border)!important;
}
#app-view#app-view #page-outbound-instructions>.wave-candidate-section::before,
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section::before{
  display:none!important;content:none!important;border:0!important;
}

/* Workspace tab utility: fixed at the far-right end of the tab bar. */
#app-view .workspace-tab-strip{display:flex!important;align-items:stretch!important;min-width:0!important;}
#app-view .workspace-tabs{flex:1 1 auto!important;min-width:0!important;}
#app-view .workspace-tab-close-all{
  flex:0 0 auto!important;align-self:stretch!important;min-width:68px!important;height:auto!important;margin:0 0 0 2px!important;padding:0 9px!important;
  border:1px solid #a9bdcc!important;background:#eef4f8!important;color:#24445b!important;font-size:11px!important;font-weight:700!important;white-space:nowrap!important;
}
#app-view .workspace-tab-close-all:hover{background:#e1edf5!important;color:#123f6b!important;}
#app-view .workspace-tab-close-all:disabled{opacity:.45!important;cursor:default!important;}
#app-view .workspace-tab-strip.hidden{display:none!important;}
/* v0.10.18 exact-specificity cleanup for legacy 30px exceptions. */
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(7)>.input-button,
#app-view#app-view #product-form .product-basic-grid>label:nth-child(2)>.input-button{
  width:100%!important;height:26px!important;min-height:26px!important;max-height:26px!important;
  margin-top:3px!important;padding:0!important;box-sizing:border-box!important;align-self:end!important;
}
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(7)>.input-button>*,
#app-view#app-view #product-form .product-basic-grid>label:nth-child(2)>.input-button>*{
  height:26px!important;min-height:26px!important;max-height:26px!important;line-height:18px!important;
  margin:0!important;padding-top:2px!important;padding-bottom:2px!important;box-sizing:border-box!important;
}
#app-view#app-view #customer-form .customer-business-grid>label:nth-child(8)>input,
#app-view#app-view #product-form .product-basic-grid>label:nth-child(1)>input{
  height:26px!important;min-height:26px!important;max-height:26px!important;line-height:18px!important;
  padding-top:2px!important;padding-bottom:2px!important;box-sizing:border-box!important;
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.19 — workflow popups / allocation / dashboard        */
/* ========================================================================== */

/* Registration popups: column settings belongs to the product title row. */
#app-view#app-view .plan-product-toolbar:has(>.plan-product-column-leading){
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;
}
#app-view#app-view .plan-product-toolbar>.plan-product-column-leading{
  position:static!important;transform:none!important;align-self:center!important;flex:0 0 26px!important;
  width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;
  margin:0!important;
}
#app-view#app-view .plan-product-toolbar:has(>.plan-product-column-leading)>div:first-of-type{
  flex:0 1 auto!important;min-width:0!important;
}
#app-view#app-view .plan-product-toolbar:has(>.plan-product-column-leading)>.plan-product-actions{
  margin-left:auto!important;flex:0 0 auto!important;
}

/* Allocation detail title: title/help on the left, all operation buttons at the far right. */
#app-view#app-view #outbound-wave-selected-section>.section-title-row{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;
}
#app-view#app-view #outbound-wave-selected-section>.section-title-row>div:not(.selected-section-controls):not(.section-title-actions){
  flex:0 1 auto!important;min-width:0!important;margin:0!important;
}
#app-view#app-view #outbound-wave-selected-section>.section-title-row>.selected-section-controls{
  margin-left:auto!important;justify-content:flex-end!important;justify-self:auto!important;width:auto!important;flex:0 0 auto!important;
}
#app-view#app-view #outbound-wave-selected-section>.section-title-row>.selected-section-controls>.section-title-actions{
  margin-left:auto!important;justify-content:flex-end!important;width:auto!important;flex:0 0 auto!important;
}

/* Outbound instruction: keep the common 34px band but use the same slim vertical padding as other workflow titles. */
#app-view#app-view #page-outbound-instructions>.wave-candidate-section>.section-title-row,
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section>.section-title-row{
  height:34px!important;min-height:34px!important;max-height:34px!important;padding:1px 4px!important;
}

/* Dashboard process board: completion-period controls are visually tied only to the two completed cards. */
#app-view#app-view .dashboard-process-panel{
  display:grid!important;grid-template-rows:64px 48px 48px!important;gap:7px!important;
  margin:5px 0 9px!important;padding:8px!important;border:1px solid #9eb5c8!important;border-radius:10px!important;
  background:linear-gradient(135deg,#eaf4fa 0%,#f8fbfd 48%,#edf4f8 100%)!important;
  box-shadow:0 4px 14px rgba(35,72,101,.12)!important;
}
#app-view#app-view .dashboard-process-head{
  display:flex!important;align-items:stretch!important;justify-content:space-between!important;gap:12px!important;min-width:0!important;
}
#app-view#app-view .dashboard-process-heading{
  display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:230px!important;padding:5px 9px!important;
}
#app-view#app-view .dashboard-process-heading>strong{
  color:#244b68!important;font-size:14px!important;font-weight:850!important;line-height:18px!important;letter-spacing:.1px!important;
}
#app-view#app-view .dashboard-process-heading>span{
  margin-top:3px!important;color:#6b8193!important;font-size:10.5px!important;line-height:14px!important;
}
#app-view#app-view .dashboard-completion-period{
  display:grid!important;grid-template-columns:auto auto!important;grid-template-rows:22px 30px!important;align-items:center!important;column-gap:10px!important;row-gap:2px!important;
  min-width:660px!important;max-width:820px!important;padding:4px 7px!important;border:1px solid #9fc6ae!important;border-radius:8px!important;
  background:linear-gradient(135deg,#f7fcf8,#eef8f1)!important;box-shadow:inset 3px 0 0 #4b9b68,0 1px 4px rgba(42,103,64,.08)!important;
}
#app-view#app-view .dashboard-period-title{
  display:flex!important;align-items:center!important;gap:7px!important;grid-column:1!important;grid-row:1!important;white-space:nowrap!important;
}
#app-view#app-view .dashboard-period-title>strong{color:#2d6840!important;font-size:11.5px!important;font-weight:850!important;}
#app-view#app-view .dashboard-period-title>span{
  display:inline-flex!important;align-items:center!important;height:18px!important;padding:0 7px!important;border-radius:9px!important;background:#dff1e4!important;color:#28723e!important;font-size:9.5px!important;font-weight:750!important;
}
#app-view#app-view .dashboard-period-controls{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;grid-column:2!important;grid-row:1 / span 2!important;min-width:0!important;
}
#app-view#app-view .dashboard-period-controls>input{
  width:116px!important;min-width:116px!important;height:28px!important;min-height:28px!important;padding:2px 6px!important;border-color:#a9c8b4!important;background:#fff!important;font-size:10.5px!important;
}
#app-view#app-view .dashboard-period-controls>.range-separator{color:#668071!important;font-size:11px!important;font-weight:700!important;}
#app-view#app-view .dashboard-period-quick{display:flex!important;align-items:center!important;gap:2px!important;margin-left:3px!important;}
#app-view#app-view .dashboard-period-quick>button{
  height:26px!important;min-height:26px!important;padding:0 7px!important;border:1px solid #a8c7b3!important;border-radius:5px!important;background:#fff!important;color:#456553!important;font-size:10px!important;font-weight:700!important;
}
#app-view#app-view .dashboard-period-quick>button:hover,
#app-view#app-view .dashboard-period-quick>button.selected-range{background:#dff1e4!important;border-color:#68a47b!important;color:#24663a!important;}
#app-view#app-view .dashboard-completion-period>small{
  grid-column:1!important;grid-row:2!important;align-self:center!important;color:#668071!important;font-size:9.5px!important;line-height:12px!important;white-space:nowrap!important;
}
#app-view#app-view .dashboard-process-lane{
  height:48px!important;padding:5px 7px!important;border-radius:8px!important;gap:6px!important;background:rgba(255,255,255,.92)!important;
  box-shadow:0 1px 4px rgba(42,76,100,.07)!important;
}
#app-view#app-view .dashboard-process-title{height:32px!important;flex-basis:56px!important;width:56px!important;}
#app-view#app-view .dashboard-stage{
  height:35px!important;min-width:92px!important;padding:2px 8px!important;border-radius:7px!important;
}
#app-view#app-view .dashboard-stage.completion-period-stage{
  border-color:#8db89a!important;border-top:2px solid #4b9b68!important;background:linear-gradient(180deg,#f7fcf8,#eaf6ee)!important;
  box-shadow:0 1px 4px rgba(45,112,66,.10)!important;
}
#app-view#app-view .dashboard-stage-label{
  display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;overflow:visible!important;
}
#app-view#app-view .dashboard-stage-label>em{
  display:inline-flex!important;align-items:center!important;height:16px!important;padding:0 5px!important;border-radius:8px!important;background:#dff1e4!important;color:#28723e!important;font-size:8.5px!important;font-style:normal!important;font-weight:800!important;white-space:nowrap!important;
}
#app-view#app-view .dashboard-stage.completion-period-stage>b{background:#cfe9d7!important;color:#246a39!important;}

@media(max-width:1350px){
  #app-view#app-view .dashboard-process-panel{grid-template-rows:auto 48px 48px!important;}
  #app-view#app-view .dashboard-process-head{flex-direction:column!important;gap:5px!important;}
  #app-view#app-view .dashboard-process-heading{padding:2px 6px!important;}
  #app-view#app-view .dashboard-completion-period{min-width:0!important;max-width:none!important;width:100%!important;box-sizing:border-box!important;}
}

/* FCMS UI LOCK v0.10.20 — smart outbound profile analysis */
#app-view#app-view #page-upload-settings .upload-profile-analysis-bar{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) 92px minmax(300px,1.2fr)!important;
  align-items:end!important;
  gap:6px!important;
  margin:5px 0!important;
  padding:6px 8px!important;
  border:1px solid var(--ui-lock-border)!important;
  background:#f7fafc!important;
}
#app-view#app-view #page-upload-settings .upload-profile-analysis-bar label{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  font-size:11px!important;
  font-weight:700!important;
}
#app-view#app-view #page-upload-settings .upload-profile-analysis-bar select,
#app-view#app-view #page-upload-settings .upload-profile-analysis-bar button{height:30px!important;box-sizing:border-box!important;}
#app-view#app-view #page-upload-settings .upload-profile-analysis-help{align-self:center!important;font-size:10px!important;color:#526675!important;line-height:1.35!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid{min-width:3240px!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid .profile-analysis-status{min-width:122px!important;max-width:138px!important;background:#f2f8fc!important;font-weight:700!important;color:#244d69!important;white-space:normal!important;line-height:1.25!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid .profile-analyze-button{width:100%!important;min-width:82px!important;height:28px!important;padding:0 6px!important;white-space:nowrap!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid tr.is-block-profile .profile-analysis-status:first-of-type{background:#edf6fb!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.23 — migration inbox / required-value polish */
/* ========================================================================== */

/* Outbound planned / allocation integrated search uses the same desktop length
   as inbound planned / inbound confirmation. */
#app-view#app-view #outbound-plan-search{
  width:520px!important;min-width:520px!important;max-width:520px!important;
  flex:0 0 520px!important;
}

/* Current stock / IO: remove the page-only 36px/30px geometry and inherit the
   exact common query-row/control lock used by the rest of WMS. */
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search{
  grid-auto-rows:var(--ui-lock-control-height)!important;
  height:var(--ui-lock-query-row-height)!important;
  min-height:var(--ui-lock-query-row-height)!important;
  max-height:var(--ui-lock-query-row-height)!important;
  padding:2px!important;
  align-items:center!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.task-lookup,
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.query-action-group{
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
}
#app-view#app-view :is(#page-inventory,#page-inventory-io) .inventory-overview-search :is(input:not([type="checkbox"]):not([type="radio"]),select,button),
#app-view#app-view :is(#inventory-filter-reset,#inventory-io-reset){
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  box-sizing:border-box!important;
}

/* Outbound instruction title bars: use one slim, explicit title band. Remove
   any accumulated instruction-only title thickness from prior revisions. */
#app-view#app-view #page-outbound-instructions>.wave-candidate-section>.section-title-row,
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section>.section-title-row{
  box-sizing:border-box!important;
  height:30px!important;min-height:30px!important;max-height:30px!important;
  padding:1px 5px!important;margin:-3px -3px 2px!important;
  align-items:center!important;
}
#app-view#app-view #page-outbound-instructions>.wave-candidate-section>.section-title-row>*,
#app-view#app-view #page-outbound-instructions>#instruction-wave-history-section>.section-title-row>*{
  align-self:center!important;
}

/* Stocktake title-leading column menu: true geometric centring. Cover target,
   history and detail title rows so no stocktake title can retain an old offset. */
#app-view#app-view #page-stocktake :is(
  .inventory-workflow-search-block,
  #stocktake-history-section,
  #stocktake-detail-section
)>.section-title-row{
  display:flex!important;align-items:center!important;
}
#app-view#app-view #page-stocktake :is(
  .inventory-workflow-search-block,
  #stocktake-history-section,
  #stocktake-detail-section
)>.section-title-row>.grid-column-title-leading{
  position:static!important;top:auto!important;bottom:auto!important;left:auto!important;
  transform:none!important;align-self:center!important;justify-self:auto!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:26px!important;min-width:26px!important;max-width:26px!important;
  height:26px!important;min-height:26px!important;max-height:26px!important;
  margin:0!important;padding:0!important;line-height:1!important;
}
#app-view#app-view #page-stocktake :is(
  .inventory-workflow-search-block,
  #stocktake-history-section,
  #stocktake-detail-section
)>.section-title-row>h2{margin:0!important;}

/* One WMS-wide empty-grid treatment: shaded message, no extra internal bottom
   separator. The table-wrap outer border is the only lower boundary. */
#app-view#app-view .table-wrap .table-empty-row>td{
  padding:0!important;background:#fbfcfd!important;border-bottom:0!important;
}
#app-view#app-view .table-wrap .table-empty-row .empty{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-height:70px!important;background:#fbfcfd!important;border:0!important;
}

@media(max-width:900px){
  #app-view#app-view #outbound-plan-search{
    width:100%!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important;
  }
}
.table-wrap .table-empty-row>td{padding:0!important;background:#fbfcfd!important;border-bottom:0!important;}
.table-wrap .table-empty-row .empty{display:flex!important;align-items:center!important;justify-content:center!important;min-height:70px!important;background:#fbfcfd!important;border:0!important;}

/* FCMS UI LOCK v0.10.28 - large detail paging / selection freeze prevention */
.detail-pager{display:flex;align-items:center;gap:4px;margin-left:auto;white-space:nowrap;font-size:11px;color:#5b6876}
.detail-pager button{min-width:30px;height:26px;min-height:26px;padding:2px 8px}
.detail-pager .detail-page-label{min-width:72px;text-align:center;font-variant-numeric:tabular-nums}
.wave-detail-search .detail-pager{margin-left:4px}
.detail-pager .detail-page-total{margin-right:3px;color:#465665;font-weight:600}

/* v0.10.40 destination master: registration / copy / registered list remain visible as three work areas. */
#app-view#app-view .destination-register-section{margin:0 0 6px!important;padding-bottom:4px!important;}
#app-view#app-view .destination-register-section>.section-title-row,
#app-view#app-view .destination-list-section>.section-title-row{min-height:30px!important;}
#app-view#app-view .destination-list-section #destinations-table>.table-wrap{min-height:210px!important;max-height:320px!important;}
@media(max-width:900px){
  #app-view#app-view .destination-list-section #destinations-table>.table-wrap{min-height:180px!important;max-height:260px!important;}
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.50 — compact master forms / destination splitter     */
/* ========================================================================== */

/* 고객사 기본정보: 고객사명/사용여부/비고 과대 폭을 줄이고 6개 필드를 1행으로 정리. */
@media(min-width:1201px){
  #app-view#app-view .customer-basic-grid{
    grid-template-columns:145px minmax(220px,280px) 120px 145px 88px minmax(220px,1fr)!important;
    align-items:end!important;
  }
  #app-view#app-view .customer-basic-grid>label{grid-column:auto!important;min-width:0!important;}
}
@media(min-width:901px) and (max-width:1200px){
  #app-view#app-view .customer-basic-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  #app-view#app-view .customer-basic-grid>label{grid-column:auto!important;}
}

/* 상품 목록: 고객사 선택 팝업/상태 라벨 대신 컬럼설정 바로 우측의 단일 통합검색만 사용. */
#app-view#app-view .product-list-toolbar{
  display:flex!important;align-items:center!important;gap:4px!important;min-height:30px!important;
}
#app-view#app-view .product-list-toolbar #product-search{
  flex:1 1 auto!important;width:auto!important;min-width:240px!important;max-width:none!important;
}

/* 센터 마스터: 3행 — 기본정보 / 주소 / 비고+액션. */
#app-view#app-view #center-form.center-master-form{
  display:flex!important;flex-direction:column!important;gap:5px!important;margin-bottom:4px!important;
}
#app-view#app-view #center-form .center-master-row{
  display:grid!important;gap:5px 7px!important;align-items:end!important;min-width:0!important;
}
#app-view#app-view #center-form .center-master-row>label{
  display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;
}
#app-view#app-view #center-form .center-master-primary-row{
  grid-template-columns:145px minmax(220px,1fr) 130px 155px 92px!important;
}
#app-view#app-view #center-form .center-master-address-row{
  grid-template-columns:minmax(360px,1.25fr) 115px minmax(260px,1fr)!important;
}
#app-view#app-view #center-form .center-master-footer-row{
  grid-template-columns:minmax(300px,50%) minmax(220px,1fr)!important;
}
#app-view#app-view #center-form .center-master-footer-row .master-form-actions{
  display:flex!important;justify-content:flex-end!important;align-items:end!important;gap:4px!important;grid-column:auto!important;margin:0!important;
}
#app-view#app-view #center-form :is(input,select),
#app-view#app-view #center-form .input-button{width:100%!important;min-width:0!important;max-width:none!important;}

/* 창고 마스터: 2행 — 센터/코드/명/보관/사용 + 비고/액션. */
#app-view#app-view #warehouse-form.warehouse-master-form{
  display:flex!important;flex-direction:column!important;gap:5px!important;margin-bottom:4px!important;
}
#app-view#app-view #warehouse-form .warehouse-master-row{
  display:grid!important;gap:5px 7px!important;align-items:end!important;min-width:0!important;
}
#app-view#app-view #warehouse-form .warehouse-master-row>label{
  display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;
}
#app-view#app-view #warehouse-form .warehouse-master-primary-row{
  grid-template-columns:minmax(220px,1.25fr) 150px minmax(190px,1fr) 120px 92px!important;
}
#app-view#app-view #warehouse-form .warehouse-master-footer-row{
  grid-template-columns:minmax(300px,50%) minmax(220px,1fr)!important;
}
#app-view#app-view #warehouse-form .warehouse-master-footer-row .master-form-actions{
  display:flex!important;justify-content:flex-end!important;align-items:end!important;gap:4px!important;grid-column:auto!important;margin:0!important;
}
#app-view#app-view #warehouse-form :is(input,select){width:100%!important;min-width:0!important;max-width:none!important;}

/* 배송지: 신규등록은 content 높이를 보장하고, 복사/배송지 그리드는 공통 splitter로 남은 높이를 나눔. */
@media(min-width:901px){
  #app-view#app-view #page-destinations.active{
    display:grid!important;grid-template-rows:auto auto auto minmax(160px,1fr) 7px minmax(160px,1fr);gap:0!important;min-height:0!important;overflow:hidden!important;
  }
  #app-view#app-view #page-destinations>.destination-register-section{
    min-height:max-content!important;height:auto!important;overflow:visible!important;flex:none!important;
  }
  #app-view#app-view #page-destinations>.destination-copy-panel,
  #app-view#app-view #page-destinations>.destination-list-section{
    display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;overflow:hidden!important;margin-top:0!important;margin-bottom:0!important;
  }
  #app-view#app-view #page-destinations #destination-copy-table,
  #app-view#app-view #page-destinations #destinations-table{
    display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
  }
  #app-view#app-view #page-destinations #destination-copy-table>.table-wrap,
  #app-view#app-view #page-destinations #destinations-table>.table-wrap{
    flex:1 1 auto!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:auto!important;
  }
  #app-view#app-view #page-destinations .destination-grid-splitter{display:block!important;}
}

@media(max-width:900px){
  #app-view#app-view #center-form .center-master-row,
  #app-view#app-view #warehouse-form .warehouse-master-row{grid-template-columns:1fr!important;}
  #app-view#app-view #center-form .center-master-footer-row,
  #app-view#app-view #warehouse-form .warehouse-master-footer-row{grid-template-columns:1fr!important;}
  #app-view#app-view #page-destinations .destination-grid-splitter{display:none!important;}
}

/* v0.10.51 — accumulated master layout cleanup and stable scroll boundaries. */

/* 배송지: 본문은 신규등록 + 배송지 목록만. 복사는 팝업으로 분리한다. */
@media(min-width:901px){
  #app-view#app-view #page-destinations.active{
    display:flex!important;flex-direction:column!important;gap:6px!important;
    min-height:0!important;height:100%!important;overflow:hidden!important;
  }
  #app-view#app-view #page-destinations>.page-help{flex:0 0 auto!important;}
  #app-view#app-view #page-destinations>.destination-register-section{
    flex:0 0 auto!important;min-height:max-content!important;height:auto!important;overflow:visible!important;margin:0!important;
  }
  #app-view#app-view #page-destinations>.destination-list-section{
    flex:1 1 auto!important;display:flex!important;flex-direction:column!important;min-height:180px!important;height:auto!important;overflow:hidden!important;margin:0!important;
  }
  #app-view#app-view #page-destinations #destinations-table{
    display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
  }
  #app-view#app-view #page-destinations #destinations-table>.table-wrap{
    flex:1 1 auto!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:auto!important;
  }
}
#app-view#app-view .destination-copy-modal{width:min(1420px,96vw)!important;max-width:96vw!important;height:min(760px,90vh)!important;}
#app-view#app-view .destination-copy-modal-body{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;gap:6px!important;}
#app-view#app-view .destination-copy-modal .destination-copy-toolbar{
  display:grid!important;grid-template-columns:auto minmax(250px,.9fr) minmax(260px,1.3fr) auto auto auto!important;gap:5px!important;align-items:center!important;margin:0!important;
}
#app-view#app-view .destination-copy-modal #destination-copy-table{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;}
#app-view#app-view .destination-copy-modal #destination-copy-table>.table-wrap{height:100%!important;max-height:none!important;overflow:auto!important;}

/* 센터: 2행 compact. */
#app-view#app-view #center-form.center-master-form{display:flex!important;flex-direction:column!important;gap:5px!important;margin-bottom:4px!important;}
#app-view#app-view #center-form .center-master-row{display:grid!important;gap:5px 7px!important;align-items:end!important;min-width:0!important;}
#app-view#app-view #center-form .center-master-row>label{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;}
#app-view#app-view #center-form .center-master-primary-row{
  grid-template-columns:120px minmax(170px,230px) 115px 140px 88px minmax(180px,1fr)!important;
}
#app-view#app-view #center-form .center-master-address-row{
  grid-template-columns:minmax(340px,1.2fr) 105px minmax(220px,.9fr) auto!important;
}
#app-view#app-view #center-form .center-master-address-row .master-form-actions{
  display:flex!important;justify-content:flex-end!important;align-items:end!important;gap:4px!important;grid-column:auto!important;margin:0!important;white-space:nowrap!important;
}
#app-view#app-view #center-form :is(input,select),#app-view#app-view #center-form .input-button{width:100%!important;min-width:0!important;max-width:none!important;}

/* 창고: 한 행 compact. */
#app-view#app-view #warehouse-form.warehouse-master-form{display:block!important;margin-bottom:4px!important;}
#app-view#app-view #warehouse-form .warehouse-master-primary-row{
  display:grid!important;grid-template-columns:minmax(170px,210px) 120px minmax(160px,210px) 105px 82px minmax(180px,1fr) auto!important;
  gap:5px 7px!important;align-items:end!important;min-width:0!important;
}
#app-view#app-view #warehouse-form .warehouse-master-primary-row>label{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;}
#app-view#app-view #warehouse-form .warehouse-master-primary-row .master-form-actions{
  display:flex!important;justify-content:flex-end!important;align-items:end!important;gap:4px!important;grid-column:auto!important;margin:0!important;white-space:nowrap!important;
}
#app-view#app-view #warehouse-form :is(input,select){width:100%!important;min-width:0!important;max-width:none!important;}

/* 로케이션: 2행 compact. */
#app-view#app-view #location-form.location-master-form{display:flex!important;flex-direction:column!important;gap:5px!important;margin-bottom:4px!important;}
#app-view#app-view #location-form .location-master-row{display:grid!important;gap:5px 7px!important;align-items:end!important;min-width:0!important;}
#app-view#app-view #location-form .location-master-row>label{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;}
#app-view#app-view #location-form .location-master-primary-row{
  grid-template-columns:minmax(155px,190px) minmax(155px,190px) 135px minmax(160px,220px) 95px 82px 105px!important;
}
#app-view#app-view #location-form .location-master-footer-row{grid-template-columns:minmax(280px,1fr) auto!important;}
#app-view#app-view #location-form .location-master-footer-row .master-form-actions{
  display:flex!important;justify-content:flex-end!important;align-items:end!important;gap:4px!important;grid-column:auto!important;margin:0!important;white-space:nowrap!important;
}
#app-view#app-view #location-form :is(input,select){width:100%!important;min-width:0!important;max-width:none!important;}

/* 그룹: 목록/구성원은 같은 높이로 페이지 하단까지 이어지고, 컬럼 메뉴는 JS에서 비활성화한다. */
#app-view#app-view #page-groups.active{display:flex!important;flex-direction:column!important;min-height:calc(100vh - 70px)!important;overflow:auto!important;}
#app-view#app-view #page-groups .group-hub-form{flex:0 0 auto!important;}
#app-view#app-view #page-groups .group-hub-workbench{
  flex:1 1 auto!important;display:grid!important;grid-template-columns:minmax(420px,.82fr) minmax(720px,1.38fr)!important;
  gap:10px!important;align-items:stretch!important;min-width:0!important;min-height:520px!important;
}
#app-view#app-view #page-groups .group-hub-workbench>.subpanel{
  display:flex!important;flex-direction:column!important;height:100%!important;min-height:100%!important;min-width:0!important;overflow:hidden!important;
}
#app-view#app-view #page-groups .group-library-panel>.toolbar{justify-content:flex-start!important;align-items:center!important;}
#app-view#app-view #page-groups .group-library-panel>.toolbar #group-type-filter{justify-self:start!important;width:135px!important;}
#app-view#app-view #page-groups #groups-table{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;}
#app-view#app-view #page-groups #groups-table>.table-wrap{height:100%!important;max-height:none!important;overflow:auto!important;}
#app-view#app-view #page-groups .group-member-columns{flex:1 1 auto!important;min-height:0!important;align-items:stretch!important;}
#app-view#app-view #page-groups .group-member-column{display:flex!important;flex-direction:column!important;min-height:0!important;}
#app-view#app-view #page-groups #group-member-candidates-table,#app-view#app-view #page-groups #group-members-table{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;}
#app-view#app-view #page-groups #group-member-candidates-table>.table-wrap,#app-view#app-view #page-groups #group-members-table>.table-wrap{height:100%!important;max-height:none!important;overflow:auto!important;}

/* 발주패턴: 각 패널 경계를 지키고 최하단 적용대상 그리드를 항상 보이게 한다. */
#app-view#app-view #page-order-patterns.active{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:auto!important;}
#app-view#app-view #page-order-patterns .order-pattern-workbench{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;min-width:0!important;align-items:stretch!important;}
#app-view#app-view #page-order-patterns .order-pattern-workbench>.subpanel{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-body{grid-template-columns:360px minmax(0,1fr)!important;min-width:0!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-guide{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
#app-view#app-view #page-order-patterns .order-pattern-form-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;gap:4px!important;}
#app-view#app-view #page-order-patterns .order-pattern-form-actions button{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#app-view#app-view #page-order-patterns .order-pattern-library-toolbar{grid-template-columns:minmax(0,1fr) 120px!important;min-width:0!important;}
#app-view#app-view #page-order-patterns .order-pattern-library-toolbar>*{min-width:0!important;max-width:100%!important;}
#app-view#app-view #page-order-patterns .order-pattern-library-table{width:100%!important;min-width:0!important;overflow:hidden!important;}
#app-view#app-view #page-order-patterns .order-pattern-library-table>.table-wrap{width:100%!important;max-width:100%!important;overflow:auto!important;}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section{
  display:flex!important;flex-direction:column!important;min-width:0!important;min-height:260px!important;overflow:visible!important;
}
#app-view#app-view #page-order-patterns .order-pattern-assignment-form{min-width:0!important;max-width:100%!important;}
#app-view#app-view #page-order-patterns .order-pattern-scope-block{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;min-width:0!important;}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar>*{min-width:0!important;max-width:100%!important;}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table{min-width:0!important;height:clamp(190px,28vh,360px)!important;overflow:hidden!important;}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table>.table-wrap{height:100%!important;max-height:none!important;overflow:auto!important;}
#app-view#app-view #page-order-patterns :is(.order-pattern-library-table,#order-pattern-assignments-table) td{max-width:280px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}

@media(max-width:1350px){
  #app-view#app-view #page-groups .group-hub-workbench{grid-template-columns:1fr!important;min-height:0!important;}
  #app-view#app-view #page-order-patterns .order-pattern-workbench{grid-template-columns:1fr!important;}
}
@media(max-width:900px){
  #app-view#app-view #center-form .center-master-row,
  #app-view#app-view #warehouse-form .warehouse-master-primary-row,
  #app-view#app-view #location-form .location-master-row{grid-template-columns:1fr!important;}
  #app-view#app-view #page-destinations.active{display:block!important;height:auto!important;overflow:visible!important;}
  #app-view#app-view .destination-copy-modal{width:96vw!important;height:90vh!important;}
  #app-view#app-view .destination-copy-modal .destination-copy-toolbar{grid-template-columns:1fr!important;}
}


/* v0.10.52 — balanced master forms + static weekday rule grid + unified customer popup search. */

/* 센터: 2행은 유지하되 데스크톱 전체 가로 폭을 균형 있게 사용한다. */
#app-view#app-view #center-form.center-master-form{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
#app-view#app-view #center-form .center-master-primary-row{
  width:100%!important;grid-template-columns:minmax(130px,1.05fr) minmax(220px,2fr) minmax(120px,1.05fr) minmax(145px,1.25fr) minmax(90px,.75fr) minmax(230px,2.1fr)!important;
}
#app-view#app-view #center-form .center-master-address-row{
  width:100%!important;grid-template-columns:minmax(360px,2.35fr) minmax(105px,.65fr) minmax(280px,1.75fr) minmax(250px,1.35fr)!important;
}
#app-view#app-view #center-form .center-master-address-row .master-form-actions{justify-self:stretch!important;justify-content:flex-end!important;width:100%!important;}

/* 로케이션: 비고를 1행 우측으로 올리고 2행은 액션 전용 우측 정렬. */
#app-view#app-view #location-form.location-master-form{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
#app-view#app-view #location-form .location-master-primary-row{
  width:100%!important;grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(125px,.95fr) minmax(170px,1.45fr) minmax(90px,.72fr) minmax(82px,.62fr) minmax(105px,.78fr) minmax(210px,1.7fr)!important;
}
#app-view#app-view #location-form .location-master-footer-row{display:flex!important;justify-content:flex-end!important;align-items:center!important;min-height:30px!important;}
#app-view#app-view #location-form .location-master-footer-row .master-form-actions{margin:0!important;justify-content:flex-end!important;width:auto!important;}

/* 배송지 신규등록: 지나치게 넓은 필드를 줄이고 행별 균형을 맞춘다. */
@media(min-width:901px){
  #app-view#app-view #destination-form.destination-master-form{grid-template-columns:repeat(12,minmax(0,1fr))!important;width:100%!important;max-width:none!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(1){grid-column:1/span 3!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(2){grid-column:4/span 6!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(3){grid-column:1/span 3!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(4){grid-column:4/span 4!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(5){grid-column:8/span 2!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(6){grid-column:1/span 5!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(7){grid-column:6/span 2!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(8){grid-column:8/span 5!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(9){grid-column:1/span 3!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(10){grid-column:4/span 3!important;}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(11){grid-column:7/span 4!important;}
  #app-view#app-view #destination-form.destination-master-form>.master-form-actions{grid-column:11/span 2!important;align-self:end!important;margin:0!important;justify-content:flex-end!important;white-space:nowrap!important;}
}

/* 상품 기본정보: 고객사명/상품명은 넓게, 콤보는 적정폭. 보관구분은 2행 운영구분 앞으로 고정. */
@media(min-width:1201px){
  #app-view#app-view #product-form .product-basic-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-flow:row!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(1){grid-column:span 2!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(2){grid-column:span 3!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(3){grid-column:span 2!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(4){grid-column:span 4!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(5){grid-column:span 1!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(6){grid-column:1/span 2!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(7){grid-column:span 3!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(8){grid-column:span 3!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(9){grid-column:span 2!important;}
  #app-view#app-view #product-form .product-basic-grid>label:nth-child(10){grid-column:span 2!important;}
}

/* 요일별 날짜 규칙: 고정 3열이며 개인화/리사이즈/수평 스크롤을 사용하지 않는다. */
#app-view#app-view #page-order-patterns .order-pattern-rule-body{grid-template-columns:minmax(360px,410px) minmax(220px,1fr)!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table-wrap{width:100%!important;min-width:0!important;max-width:410px!important;overflow:hidden!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table col.weekday-col{width:22%!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table col.date-col{width:39%!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table .grid-column-resizer{display:none!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table-wrap::-webkit-scrollbar{display:none!important;}

/* 고객사 선택 계열 팝업: 코드/명 분리 대신 단일 통합검색. */
#app-view#app-view .inbound-picker-search.customer-search-single{grid-template-columns:minmax(0,1fr)!important;}
#app-view#app-view .inbound-picker-search.customer-search-single>label:nth-child(2){display:none!important;}
#app-view#app-view .customer-pair-search.customer-search-single{grid-template-columns:minmax(0,1fr)!important;}

#app-view#app-view #page-order-patterns.active{overflow-x:hidden!important;}
#app-view#app-view #page-order-patterns .order-pattern-workbench{width:100%!important;max-width:100%!important;}


/* FCMS UI LOCK v0.10.53 — accumulated UI flow polish */
/* All master reset/save actions use the customer/product master button scale. */
#app-view#app-view .master-form .master-form-actions button{height:30px!important;min-height:30px!important;min-width:96px!important;padding:4px 10px!important}
#app-view#app-view .master-form .master-form-actions .primary{min-width:138px!important}

/* Destination registration: note and actions own separate columns. */
@media(min-width:1101px){
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(11){grid-column:7/span 3!important;min-width:0!important}
  #app-view#app-view #destination-form.destination-master-form>.master-form-actions{grid-column:10/span 3!important;align-self:end!important;justify-self:stretch!important;justify-content:flex-end!important;margin:0!important;padding:0!important}
}
/* Destination list is live-filtered: no 조회 slot; reset stays at far right and toolbar does not touch the header. */
#app-view#app-view .destination-list-toolbar{display:grid!important;grid-template-columns:minmax(250px,360px) minmax(300px,1fr) 150px 96px!important;gap:5px!important;align-items:center!important;margin:0 0 6px!important;padding:0 0 2px!important;min-height:34px!important;box-sizing:border-box!important}
#app-view#app-view .destination-list-toolbar>*{min-width:0!important;max-width:100%!important;margin:0!important}
#app-view#app-view .destination-list-toolbar #destination-query-reset{grid-column:4!important;justify-self:end!important;width:96px!important}
#app-view#app-view .destination-list-section>#destinations-table{margin-top:2px!important;clear:both!important}

/* Customer chooser is one search field in every customer mode. */
#app-view#app-view .inbound-picker-search.customer-search-single{grid-template-columns:minmax(0,1fr)!important}
#app-view#app-view .inbound-picker-search.customer-search-single>label:first-child{grid-column:1/-1!important}
#app-view#app-view .inbound-picker-search.customer-search-single>label:nth-child(2),
#app-view#app-view .inbound-picker-search.customer-search-single>label.hidden{display:none!important}

/* Location action-only second row must sit at the far right. */
#app-view#app-view #location-form .location-master-footer-row{display:flex!important;grid-column:1/-1!important;width:100%!important;justify-content:flex-end!important;align-items:center!important}
#app-view#app-view #location-form .location-master-footer-row .master-form-actions{display:flex!important;grid-column:auto!important;margin:0 0 0 auto!important;width:auto!important;justify-content:flex-end!important}

/* Order-pattern top panels: metadata never clips; fixed weekday grid fits its border exactly. */
#app-view#app-view #page-order-patterns{overflow-y:auto!important;overflow-x:hidden!important}
#app-view#app-view #page-order-patterns .order-pattern-workbench{grid-template-columns:minmax(700px,1.08fr) minmax(480px,.92fr)!important;align-items:stretch!important;min-width:0!important}
#app-view#app-view #page-order-patterns .order-pattern-workbench>.subpanel{min-width:0!important;max-width:100%!important;overflow:hidden!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-grid{grid-template-columns:105px minmax(155px,1.15fr) 122px 122px 88px minmax(135px,1fr)!important;gap:5px 6px!important;margin-bottom:5px!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-grid>*{min-width:0!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-note{overflow:hidden!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-note input{width:100%!important;min-width:0!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-body{grid-template-columns:minmax(390px,58%) minmax(220px,42%)!important;gap:8px!important;align-items:stretch!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table-wrap{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;margin:0!important;border:1px solid var(--wms-border)!important;box-sizing:border-box!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;border-collapse:collapse!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table th,
#app-view#app-view #page-order-patterns .order-pattern-rule-table td{height:29px!important;padding:2px 5px!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table select{height:25px!important;margin:0!important}
#app-view#app-view #page-order-patterns .order-pattern-library-table{height:232px!important;min-height:232px!important;max-height:232px!important;overflow:auto!important}
#app-view#app-view #page-order-patterns .order-pattern-library-table>.table-wrap{height:230px!important;max-height:230px!important;overflow:auto!important}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table{height:min(52vh,560px)!important;min-height:260px!important;max-height:none!important;overflow:hidden!important}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table>.table-wrap{height:100%!important;max-height:none!important;overflow:auto!important}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table thead th{position:sticky!important;top:0!important;z-index:2!important;background:#e7f0f7!important}
@media(max-width:1300px){#app-view#app-view #page-order-patterns .order-pattern-workbench{grid-template-columns:1fr!important}}

/* FCMS UI LOCK v0.10.54 — final alignment / selector cleanup */
/* All master reset/save actions use the customer/product master button footprint. */
#app-view#app-view .master-form .master-form-actions{display:flex!important;align-items:end!important;justify-content:flex-end!important;gap:5px!important;min-width:0!important}
#app-view#app-view .master-form .master-form-actions button{height:30px!important;min-height:30px!important;width:96px!important;min-width:96px!important;max-width:96px!important;padding:4px 10px!important;box-sizing:border-box!important}
#app-view#app-view .master-form .master-form-actions button.primary{width:138px!important;min-width:138px!important;max-width:138px!important}

/* Destination registration: first six fields are one desktop row, later rows keep balanced widths. */
@media(min-width:1200px){
  #app-view#app-view #destination-form.destination-master-form{display:grid!important;grid-template-columns:repeat(24,minmax(0,1fr))!important;gap:4px 6px!important;width:100%!important;max-width:none!important;align-items:end!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(1){grid-column:1/span 4!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(2){grid-column:5/span 7!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(3){grid-column:12/span 4!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(4){grid-column:16/span 5!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(5){grid-column:21/span 4!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(6){grid-column:1/span 9!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(7){grid-column:10/span 3!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(8){grid-column:13/span 12!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(9){grid-column:1/span 5!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(10){grid-column:6/span 5!important}
  #app-view#app-view #destination-form.destination-master-form>label:nth-of-type(11){grid-column:11/span 8!important;min-width:0!important}
  #app-view#app-view #destination-form.destination-master-form>.master-form-actions{grid-column:19/span 6!important;align-self:end!important;justify-content:flex-end!important;margin:0!important;padding:0!important;min-width:0!important}
}
#app-view#app-view #destination-form.destination-master-form>label,
#app-view#app-view #destination-form.destination-master-form .input-button,
#app-view#app-view #destination-form.destination-master-form input,
#app-view#app-view #destination-form.destination-master-form select{min-width:0!important;max-width:100%!important}

/* Destination list: live filters sit clear of the grid and reset stays on the right. */
#app-view#app-view .destination-list-toolbar{display:grid!important;grid-template-columns:minmax(220px,340px) minmax(360px,1fr) 150px 96px!important;gap:5px!important;align-items:center!important;margin:0 0 8px!important;padding:0 0 3px!important;min-height:36px!important;box-sizing:border-box!important;overflow:visible!important}
#app-view#app-view .destination-list-toolbar>*{min-width:0!important;max-width:100%!important;margin:0!important}
#app-view#app-view .destination-list-toolbar #destination-query-reset{grid-column:4!important;justify-self:end!important;width:96px!important}
#app-view#app-view .destination-list-section>#destinations-table{margin-top:0!important;clear:both!important}

/* Order pattern: metadata never clips, weekday table fills its border, right library grows to matching height. */
#app-view#app-view #page-order-patterns .order-pattern-rule-panel,
#app-view#app-view #page-order-patterns .order-pattern-library-panel{min-width:0!important;overflow:hidden!important;box-sizing:border-box!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-grid{display:grid!important;grid-template-columns:100px minmax(160px,1.25fr) 116px 116px 88px minmax(180px,1.45fr)!important;gap:5px 6px!important;margin:0 0 5px!important;align-items:end!important;min-width:0!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-grid>*{min-width:0!important;max-width:100%!important;overflow:visible!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-grid input,
#app-view#app-view #page-order-patterns .order-pattern-meta-grid select{width:100%!important;min-width:0!important;max-width:100%!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-body{display:grid!important;grid-template-columns:minmax(400px,58%) minmax(230px,42%)!important;gap:8px!important;align-items:stretch!important;min-width:0!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table-wrap{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-sizing:border-box!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;margin:0!important;border:1px solid var(--wms-border)!important;border-collapse:collapse!important;table-layout:fixed!important;box-sizing:border-box!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table th,
#app-view#app-view #page-order-patterns .order-pattern-rule-table td{height:30px!important;padding:2px 6px!important;border:1px solid var(--wms-border)!important;box-sizing:border-box!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table select{height:25px!important;width:100%!important;min-width:0!important;margin:0!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-guide{height:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-guide .master-form-actions{margin-top:auto!important}
#app-view#app-view #page-order-patterns .order-pattern-library-panel{display:flex!important;flex-direction:column!important}
#app-view#app-view #page-order-patterns .order-pattern-library-table{flex:1 1 auto!important;height:auto!important;min-height:260px!important;max-height:none!important;overflow:hidden!important}
#app-view#app-view #page-order-patterns .order-pattern-library-table>.table-wrap{height:100%!important;min-height:260px!important;max-height:none!important;overflow:auto!important}

/* Order-pattern assignment history: long search, menu immediately to its right, large independent vertical scroll. */
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar{display:grid!important;grid-template-columns:minmax(420px,1fr) 32px 180px!important;gap:5px!important;align-items:center!important;min-width:0!important}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar #order-pattern-assignment-search{grid-column:1!important;width:100%!important;min-width:0!important}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar .order-pattern-assignment-column-menu{grid-column:2!important;width:30px!important;min-width:30px!important;height:30px!important;padding:0!important;margin:0!important}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar #order-pattern-assignment-pattern-filter{grid-column:3!important;width:180px!important;min-width:0!important}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table{height:clamp(320px,60vh,680px)!important;min-height:320px!important;max-height:680px!important;overflow:hidden!important;min-width:0!important}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table>.table-wrap{height:100%!important;max-height:none!important;overflow:auto!important;min-width:0!important}
#app-view#app-view #page-order-patterns #order-pattern-assignments-table thead th{position:sticky!important;top:0!important;z-index:2!important}

/* Location footer actions stay at the far right. */
#app-view#app-view #location-form .location-master-footer-row{display:flex!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;grid-column:1/-1!important}
#app-view#app-view #location-form .location-master-footer-row .master-form-actions{margin-left:auto!important;justify-content:flex-end!important;width:auto!important}

@media(max-width:1300px){
  #app-view#app-view #page-order-patterns .order-pattern-meta-grid{grid-template-columns:95px minmax(150px,1fr) 112px 112px 84px minmax(145px,1fr)!important}
  #app-view#app-view #page-order-patterns .order-pattern-rule-body{grid-template-columns:minmax(360px,1fr) minmax(220px,.72fr)!important}
}

/* FCMS UI LOCK v0.10.55 — scope linkage / popup cleanup / product-button standard */
/* Master reset/save actions use the exact product/customer compact action footprint. */
#app-view#app-view .master-form .master-form-actions{gap:4px!important}
#app-view#app-view .master-form .master-form-actions button{
  width:auto!important;min-width:72px!important;max-width:none!important;
  height:30px!important;min-height:30px!important;padding:3px 8px!important;font-size:10px!important;
}
#app-view#app-view .master-form .master-form-actions button.primary{
  width:auto!important;min-width:72px!important;max-width:none!important;
}

/* Destination list: only one live destination-code/name search remains. */
#app-view#app-view .destination-list-toolbar.destination-search-only-toolbar{
  display:flex!important;align-items:center!important;width:100%!important;min-height:32px!important;
  height:32px!important;margin:0 0 6px!important;padding:1px 2px!important;overflow:visible!important;
}
#app-view#app-view .destination-list-toolbar.destination-search-only-toolbar #destination-search{
  flex:1 1 auto!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;
}

/* Order-pattern metadata must always stay inside the left panel; note owns the remaining width. */
#app-view#app-view #page-order-patterns .order-pattern-meta-grid{
  display:grid!important;
  grid-template-columns:minmax(78px,.78fr) minmax(118px,1.18fr) minmax(100px,.95fr) minmax(100px,.95fr) minmax(74px,.72fr) minmax(120px,1.42fr)!important;
  gap:5px 6px!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
#app-view#app-view #page-order-patterns .order-pattern-meta-grid>*{min-width:0!important;max-width:100%!important;overflow:visible!important}
#app-view#app-view #page-order-patterns .order-pattern-meta-grid input,
#app-view#app-view #page-order-patterns .order-pattern-meta-grid select{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}

/* Disabled scope controls use the common disabled appearance only when explicitly disabled. */
#app-view#app-view #order-pattern-assignment-form select:disabled,
#app-view#app-view #order-pattern-assignment-form button:disabled{opacity:.58;cursor:not-allowed}

/* Order-pattern individual target popup uses one search and a 3-column result grid. */
#app-view#app-view .inbound-picker-search.order-pattern-target-search{grid-template-columns:minmax(0,1fr)!important}
#app-view#app-view .inbound-picker-search.order-pattern-target-search>label:first-child{grid-column:1/-1!important}
#app-view#app-view .inbound-picker-search.order-pattern-target-search>label:nth-child(2){display:none!important}
#app-view#app-view .order-pattern-picker-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important}
#app-view#app-view .order-pattern-picker-table th:nth-child(1),
#app-view#app-view .order-pattern-picker-table td:nth-child(1){width:34%!important}
#app-view#app-view .order-pattern-picker-table th:nth-child(2),
#app-view#app-view .order-pattern-picker-table td:nth-child(2){width:28%!important}
#app-view#app-view .order-pattern-picker-table th:nth-child(3),
#app-view#app-view .order-pattern-picker-table td:nth-child(3){width:38%!important}
#app-view#app-view .order-pattern-picker-table tbody tr{cursor:pointer}
#app-view#app-view .order-pattern-picker-table tbody tr:hover,
#app-view#app-view .order-pattern-picker-table tbody tr:focus{background:#e8f2f9!important;outline:none}

@media(max-width:1300px){
  #app-view#app-view #page-order-patterns .order-pattern-meta-grid{
    grid-template-columns:minmax(74px,.75fr) minmax(110px,1.15fr) minmax(96px,.95fr) minmax(96px,.95fr) minmax(70px,.7fr) minmax(110px,1.35fr)!important;
  }
}

/* FCMS UI LOCK v0.10.56 — inbound single-select / IO query / picker unification */
/* Order-pattern dimensions are independent again. No customer-parent lock is applied. */
#app-view#app-view #order-pattern-assignment-form select[name="product_scope_type"],
#app-view#app-view #order-pattern-assignment-form select[name="destination_scope_type"]{opacity:1!important;cursor:default}

/* Final metadata sizing: note must remain wholly inside the left pattern panel. */
#app-view#app-view #page-order-patterns .order-pattern-meta-grid{
  grid-template-columns:minmax(72px,.72fr) minmax(108px,1.12fr) minmax(92px,.9fr) minmax(92px,.9fr) minmax(68px,.68fr) minmax(118px,1.55fr)!important;
  width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;box-sizing:border-box!important
}
#app-view#app-view #page-order-patterns .order-pattern-meta-note{min-width:0!important;overflow:visible!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table-wrap{padding:0!important;border:0!important;height:100%!important;display:flex!important;align-items:stretch!important}
#app-view#app-view #page-order-patterns .order-pattern-rule-table{height:100%!important;width:100%!important;margin:0!important;border:1px solid var(--wms-border)!important;box-sizing:border-box!important}

/* In/out history returns to the shared two-row query layout. */
#app-view#app-view .inventory-io-query-table{width:100%!important;min-width:0!important;margin-bottom:6px!important}
#app-view#app-view .inventory-io-query-table .wms-query-row{min-width:0!important;box-sizing:border-box!important}
#app-view#app-view .inventory-io-condition-row>.task-lookup{min-width:210px!important;flex:1 1 260px!important}
#app-view#app-view .inventory-io-condition-row>select{min-width:100px!important;flex:0 1 135px!important}
#app-view#app-view .inventory-io-condition-row>.query-action-group{margin-left:auto!important}

/* Customer/product chooser: one full-width search input and one common grid surface. */
#app-view#app-view .inbound-picker-search.customer-search-single{grid-template-columns:minmax(0,1fr)!important}
#app-view#app-view .inbound-picker-search.customer-search-single>label:first-child{grid-column:1/-1!important}
#app-view#app-view .inbound-picker-search.customer-search-single>label:nth-child(2){display:none!important}
#app-view#app-view .common-picker-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important}
#app-view#app-view .common-picker-table tbody tr{cursor:pointer}
#app-view#app-view .common-picker-table tbody tr:hover,#app-view#app-view .common-picker-table tbody tr:focus{background:#e8f2f9!important;outline:none}

/* Inbound plan and inbound confirmation header grids are single-select row grids. */
#app-view#app-view #inbound-plans-table tbody tr[data-record-id],
#app-view#app-view #confirm-plans-table tbody tr[data-record-id]{cursor:pointer}
#app-view#app-view #inbound-plans-table tbody tr.is-selected,
#app-view#app-view #confirm-plans-table tbody tr.is-selected{background:#fff1ad!important}

/* FCMS UI LOCK v0.10.58 — picker scroll / checkbox state / dependent warehouse / master action uniformity */
/* Common picker: only the result surface scrolls vertically. */
#app-view#app-view .inbound-picker-modal{overflow:hidden!important;}
#app-view#app-view .inbound-picker-body{
  display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
}
#app-view#app-view .inbound-picker-results{
  flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:auto!important;
}
#app-view#app-view .inbound-picker-results>.table-wrap{
  height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;
}
/* Checkbox pickers are checkbox-driven; rows do not toggle selection by themselves. */
#app-view#app-view .picker-product-table tbody tr[data-row-selectable="true"]{cursor:default!important;}
#app-view#app-view .picker-product-table tbody tr.is-selected>td{background:#fff3b8!important;}
/* Thin, uniform row geometry across customer/product/destination picker tables. */
#app-view#app-view .inbound-picker-results .picker-product-table thead th{
  height:30px!important;min-height:30px!important;padding:2px 6px!important;line-height:18px!important;box-sizing:border-box!important;
}
#app-view#app-view .inbound-picker-results .picker-product-table tbody tr,
#app-view#app-view .inbound-picker-results .picker-product-table tbody td{
  height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important;
}
#app-view#app-view .inbound-picker-results .picker-product-table tbody td{
  padding:2px 6px!important;line-height:18px!important;vertical-align:middle!important;
}
#app-view#app-view .inbound-picker-results .picker-product-table input[type="checkbox"]{
  width:16px!important;height:16px!important;margin:0!important;vertical-align:middle!important;
}
/* Product master compact actions are the single size source for every master reset/save action. */
#app-view#app-view :is(.master-form-actions,.compact-master-actions){
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;min-width:0!important;
}
#app-view#app-view :is(.master-form-actions,.compact-master-actions)>button{
  flex:0 0 auto!important;width:auto!important;min-width:72px!important;max-width:none!important;
  height:30px!important;min-height:30px!important;max-height:30px!important;
  padding:3px 8px!important;margin:0!important;box-sizing:border-box!important;
  font-size:10px!important;line-height:18px!important;align-self:center!important;
}
#app-view#app-view :is(.master-form-actions,.compact-master-actions)>button.primary{
  width:auto!important;min-width:72px!important;max-width:none!important;height:30px!important;min-height:30px!important;max-height:30px!important;
}
/* Disabled dependent warehouse filters are visually and functionally explicit. */
#app-view#app-view select:disabled[data-filter-placeholder="창고"],
#app-view#app-view #stocktake-warehouse-filter:disabled,
#app-view#app-view #location-warehouse-filter:disabled,
#app-view#app-view #picking-sequence-warehouse:disabled{
  opacity:.58!important;cursor:not-allowed!important;background:#eef2f5!important;
}

/* v0.10.58 modal rules also apply when picker backdrops render outside #app-view. */
.inbound-picker-modal{overflow:hidden!important;}
.inbound-picker-body{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;}
.inbound-picker-results{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:auto!important;}
.inbound-picker-results>.table-wrap{height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;}
.inbound-picker-results .picker-product-table thead th{height:30px!important;min-height:30px!important;padding:2px 6px!important;line-height:18px!important;box-sizing:border-box!important;}
.inbound-picker-results .picker-product-table tbody tr,.inbound-picker-results .picker-product-table tbody td{height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important;}
.inbound-picker-results .picker-product-table tbody td{padding:2px 6px!important;line-height:18px!important;vertical-align:middle!important;}
.inbound-picker-results .picker-product-table tbody tr[data-row-selectable="true"]{cursor:default!important;}
.inbound-picker-results .picker-product-table tbody tr.is-selected>td{background:#fff3b8!important;}

/* FCMS UI LOCK v0.10.63 — row picker + definitive master action geometry */
/* The final master-action rule intentionally outranks every historical per-screen 96/138px override. */
#app-view#app-view#app-view :is(.master-form-actions,.compact-master-actions),
#app-view#app-view#app-view .master-form .master-form-actions,
#app-view#app-view#app-view #page-order-patterns .order-pattern-form-actions{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:center!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  box-sizing:border-box!important;
}
#app-view#app-view#app-view :is(.master-form-actions,.compact-master-actions)>button,
#app-view#app-view#app-view .master-form .master-form-actions>button,
#app-view#app-view#app-view #page-order-patterns .order-pattern-form-actions>button{
  flex:0 0 auto!important;
  align-self:center!important;
  box-sizing:border-box!important;
  width:auto!important;
  min-width:72px!important;
  max-width:none!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:3px 8px!important;
  margin:0!important;
  font-size:10px!important;
  line-height:18px!important;
}
#app-view#app-view#app-view :is(.master-form-actions,.compact-master-actions)>button.primary,
#app-view#app-view#app-view .master-form .master-form-actions>button.primary,
#app-view#app-view#app-view #page-order-patterns .order-pattern-form-actions>button.primary{
  width:auto!important;
  min-width:72px!important;
  max-width:none!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
}
/* All common multi-pickers are row-clickable as well as checkbox-clickable. */
#app-view#app-view#app-view .inbound-picker-results .picker-product-table tbody tr[data-row-selectable="true"],
.inbound-picker-results .picker-product-table tbody tr[data-row-selectable="true"]{
  cursor:pointer!important;
}

/* v0.10.63 order-pattern basic/exception clarity */
#page-order-patterns .order-pattern-assignment-mode-help{
  min-height:34px;padding:7px 10px;border:1px solid #c9d8e5;border-radius:6px;background:#f4f8fb;color:#29485f;font-size:11px;line-height:1.45;box-sizing:border-box;
}
#page-order-patterns .order-pattern-assignment-mode-help.exception{border-color:#e7c48a;background:#fff8ea;color:#6c4a11;}
#page-order-patterns .order-pattern-assignment-mode-help strong{margin-right:4px;}

/* v0.10.64 order-pattern Sunday/counting + simplified assignment priority */
#page-order-patterns .order-pattern-sunday-option{display:grid;grid-template-columns:auto minmax(90px,1fr);gap:8px;align-items:center;margin:2px 0 6px}
#page-order-patterns .order-pattern-sunday-option select{height:28px;min-width:90px}

/* v0.10.65 — group purposes + compact order-pattern workbench */
#app-view#app-view #page-groups .group-hub-form .group-purpose-field{
  display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;margin:0!important;
}
#app-view#app-view #page-groups .group-purpose-options{
  min-height:30px!important;display:flex!important;align-items:center!important;gap:6px!important;padding:3px 7px!important;
  border:1px solid var(--wms-border)!important;background:#fff!important;box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important;
}
#app-view#app-view #page-groups .group-purpose-options>label{
  display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:3px!important;margin:0!important;font-size:10px!important;font-weight:600!important;white-space:nowrap!important;
}
#app-view#app-view #page-groups .group-purpose-options input[type="checkbox"]{width:13px!important;height:13px!important;min-width:13px!important;margin:0!important;padding:0!important;}
#app-view#app-view #page-groups .group-library-panel>.toolbar{display:grid!important;grid-template-columns:120px 120px minmax(0,1fr)!important;gap:5px!important;}
#app-view#app-view #page-groups .group-library-panel>.toolbar :is(#group-type-filter,#group-purpose-filter,#group-search){width:100%!important;min-width:0!important;}

/* Short weekday/date-rule values do not need to consume the left panel. Give the registered-pattern list more width. */
#app-view#app-view #page-order-patterns .order-pattern-workbench{
  grid-template-columns:minmax(650px,.92fr) minmax(570px,1.08fr)!important;
}
#app-view#app-view #page-order-patterns .order-pattern-rule-body{
  grid-template-columns:minmax(300px,320px) minmax(250px,1fr)!important;
}
#app-view#app-view #page-order-patterns .order-pattern-rule-table-wrap{
  width:100%!important;min-width:300px!important;max-width:320px!important;
}
#app-view#app-view #page-order-patterns .order-pattern-rule-table col.weekday-col{width:19%!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table col.date-col{width:40.5%!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table th,
#app-view#app-view #page-order-patterns .order-pattern-rule-table td{padding-left:3px!important;padding-right:3px!important;}
#app-view#app-view #page-order-patterns .order-pattern-rule-table select{padding-left:4px!important;padding-right:18px!important;}
#app-view#app-view #page-order-patterns #order-patterns-table table{
  width:100%!important;min-width:660px!important;table-layout:fixed!important;
}
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(1),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(1){width:78px!important;}
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(2),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(2){width:96px!important;}
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(3),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(3),
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(4),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(4){width:80px!important;}
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(5),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(5){width:76px!important;}
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(6),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(6){width:58px!important;text-align:center!important;}
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(7),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(7){width:48px!important;text-align:center!important;}
#app-view#app-view #page-order-patterns #order-patterns-table th:nth-child(9),
#app-view#app-view #page-order-patterns #order-patterns-table td:nth-child(9){width:62px!important;text-align:center!important;}
@media(max-width:1350px){
  #app-view#app-view #page-order-patterns .order-pattern-workbench{grid-template-columns:1fr!important;}
  #app-view#app-view #page-order-patterns .order-pattern-rule-body{grid-template-columns:minmax(300px,320px) minmax(250px,1fr)!important;}
}
@media(max-width:760px){
  #app-view#app-view #page-order-patterns .order-pattern-rule-body{grid-template-columns:1fr!important;}
  #app-view#app-view #page-order-patterns .order-pattern-rule-table-wrap{min-width:0!important;max-width:100%!important;}
}


/* v0.10.66 — group editor: keep existing-group load action visible and give usage purposes the wider row. */
#app-view#app-view #page-groups #groups-table th[data-column-key="action"],
#app-view#app-view #page-groups #groups-table td[data-column-key="action"]{
  width:58px!important;min-width:58px!important;max-width:58px!important;text-align:center!important;
}
#app-view#app-view #page-groups #groups-table td[data-column-key="action"]>button{
  min-width:52px!important;width:52px!important;padding-left:5px!important;padding-right:5px!important;
}
#app-view#app-view #page-groups .group-hub-form .group-purpose-field.m-span-9 .group-purpose-options{
  width:100%!important;justify-content:flex-start!important;overflow:visible!important;
}


/* v0.10.67 — balance Group Master: wider group list, tighter member area, compact purposes, wider note. */
#app-view#app-view #page-groups .group-hub-workbench{
  grid-template-columns:minmax(520px,.95fr) minmax(650px,1.25fr)!important;
}
#app-view#app-view #page-groups .group-hub-form .group-note-field{
  grid-column:span 4!important;
}
#app-view#app-view #page-groups .group-hub-form .group-active-field{
  grid-column:span 1!important;
}
#app-view#app-view #page-groups .group-hub-form .group-purpose-field{
  grid-column:span 3!important;
}
#app-view#app-view #page-groups .group-hub-form .master-form-actions{
  grid-column:span 9!important;
}
#app-view#app-view #page-groups .group-hub-form .group-purpose-options{
  width:100%!important;max-width:360px!important;justify-content:flex-start!important;
}
#app-view#app-view #page-groups #groups-table th[data-column-key="note"],
#app-view#app-view #page-groups #groups-table td[data-column-key="note"]{
  min-width:110px!important;max-width:180px!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
@media(max-width:1350px){
  #app-view#app-view #page-groups .group-hub-workbench{grid-template-columns:1fr!important;}
}

/* v0.10.69 — destination business profile + output management. */
#app-view#app-view #destination-form .destination-basic-grid{
  grid-template-columns:150px minmax(210px,1.25fr) 150px minmax(210px,1.25fr) 100px!important;
}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(6){grid-column:1/span 2!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(7){grid-column:3/span 1!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(8){grid-column:4/span 2!important;}
#app-view#app-view #destination-form .destination-business-grid{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(1),
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(2),
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(3),
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(4),
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(6),
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(7){grid-column:span 2!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(5){grid-column:span 4!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(8){grid-column:span 6!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(9){grid-column:span 2!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(10){grid-column:span 2!important;}
#app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{grid-column:span 2!important;}
#app-view#app-view #page-output-settings .output-setting-grid{
  display:grid!important;grid-template-columns:minmax(260px,1.2fr) minmax(150px,.6fr)!important;gap:6px 10px!important;max-width:760px!important;
}
#app-view#app-view #page-output-settings .output-setting-grid>label{display:grid!important;grid-template-columns:180px minmax(120px,1fr)!important;gap:6px!important;align-items:center!important;font-size:11px!important;font-weight:700!important;}
#app-view#app-view #page-output-settings .output-setting-grid select{height:30px!important;min-height:30px!important;}
#app-view#app-view #page-output-settings .output-custom-order-table .drag-handle{cursor:grab!important;font-weight:900!important;user-select:none!important;}
#app-view#app-view #page-output-settings .output-custom-order-table tr[draggable="true"]{cursor:grab!important;}
@media(max-width:1000px){
  #app-view#app-view #destination-form .destination-basic-grid,
  #app-view#app-view #destination-form .destination-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-view#app-view #destination-form .destination-basic-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{grid-column:auto!important;}
  #app-view#app-view #page-output-settings .output-setting-grid{grid-template-columns:1fr!important;}
}

/* v0.10.70 load-rate master */
#app-view#app-view #page-load-rate .table-wrap{max-height:280px;overflow:auto;}
#app-view#app-view #page-load-rate table input,#app-view#app-view #page-load-rate table select{height:28px;min-height:28px;padding:3px 6px;font-size:10px;}
#app-view#app-view #page-load-rate table input[type="checkbox"]{width:14px;min-width:14px;height:14px;}
#app-view#app-view #page-load-rate .master-form-actions{justify-content:flex-end;}

/* v0.10.73 — destination/customer visual parity, split master searches, local-account form. */
#app-view#app-view #page-destinations .destination-register-section{padding:4px 6px!important;margin-bottom:4px!important;}
#app-view#app-view #destination-form{gap:2px!important;margin:0!important;}
#app-view#app-view #destination-form .master-form-section{padding:3px 5px!important;}
#app-view#app-view #destination-form .master-form-section>h2{margin-bottom:2px!important;}
#app-view#app-view #destination-form .compact-master-grid{align-items:end!important;row-gap:3px!important;column-gap:6px!important;}
#app-view#app-view #destination-form .compact-master-grid>label{align-self:end!important;margin:0!important;}
#app-view#app-view #destination-form .compact-master-grid :is(input,select,button),
#app-view#app-view #destination-form .compact-master-grid .input-button,
#app-view#app-view #destination-form .compact-master-grid .input-button>*{
  height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important;
}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(10){grid-column:1/span 10!important;}
#app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{
  grid-column:11/13!important;justify-self:end!important;align-self:end!important;width:auto!important;
}
#app-view#app-view .master-split-search-toolbar{
  display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.4fr)!important;
  gap:5px!important;align-items:center!important;margin-bottom:5px!important;
}
#app-view#app-view .master-split-search-toolbar>input{width:100%!important;min-width:0!important;margin:0!important;}
#app-view#app-view #page-destinations .destination-list-toolbar{grid-template-columns:minmax(220px,.8fr) minmax(320px,1.4fr)!important;}
#app-view#app-view #page-users .user-account-form{
  display:grid!important;grid-template-columns:150px minmax(180px,1fr) 150px 140px minmax(180px,1fr) 180px 110px auto!important;
  gap:4px 6px!important;align-items:end!important;margin-bottom:6px!important;
}
#app-view#app-view #page-users .user-account-form>label{min-width:0!important;margin:0!important;}
#app-view#app-view #page-users .user-account-form :is(input,select){width:100%!important;min-width:0!important;height:30px!important;box-sizing:border-box!important;}
#app-view#app-view #page-users .user-account-form>.master-form-actions{justify-self:end!important;white-space:nowrap!important;}
@media(max-width:1200px){
  #app-view#app-view #page-users .user-account-form{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #app-view#app-view #page-users .user-account-form>.master-form-actions{grid-column:3/5!important;}
}
@media(max-width:900px){
  #app-view#app-view .master-split-search-toolbar{grid-template-columns:1fr!important;}
  #app-view#app-view #destination-form .destination-business-grid>label:nth-child(10),
  #app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{grid-column:auto!important;}
}

#login-view .login-stack{display:grid;gap:7px;margin:10px 0;}
#login-view .login-stack label{display:grid;gap:3px;text-align:left;font-size:12px;font-weight:700;}
#login-view .login-stack input{width:100%;box-sizing:border-box;}
#login-view .login-fallback{margin-top:10px;padding-top:10px;border-top:1px solid #d8e2ec;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.76 — destination parity / output order / grid polish */
/* ========================================================================== */
/* 상품/배송지 목록 검색은 고객사 조건과 대상 조건을 정확히 반반 사용한다. */
#app-view#app-view .product-list-toolbar.master-split-search-toolbar,
#app-view#app-view .destination-list-toolbar.master-split-search-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:6px!important;
  width:100%!important;
  max-width:none!important;
}
#app-view#app-view .product-list-toolbar.master-split-search-toolbar>input,
#app-view#app-view .destination-list-toolbar.master-split-search-toolbar>input{
  width:100%!important;min-width:0!important;max-width:none!important;flex:none!important;
}

/* 배송지 신규등록은 고객사 마스터와 같은 30px outer-control contract를 공유한다. */
#app-view#app-view #destination-form .compact-master-grid :is(input,select,button),
#app-view#app-view #destination-form .compact-master-grid .input-button,
#app-view#app-view #destination-form .compact-master-grid .input-button>*{
  box-sizing:border-box!important;
  height:var(--ui-lock-control-height)!important;
  min-height:var(--ui-lock-control-height)!important;
  max-height:var(--ui-lock-control-height)!important;
  line-height:calc(var(--ui-lock-control-height) - 2px)!important;
}
#app-view#app-view #destination-form .compact-master-grid :is(input,select){padding-top:2px!important;padding-bottom:2px!important;}
#app-view#app-view #destination-form .master-form-section{padding:4px 6px!important;margin:0!important;gap:3px!important;}
#app-view#app-view #destination-form .master-form-section>h2{min-height:20px!important;line-height:20px!important;margin:0 0 3px!important;padding:0!important;font-size:11px!important;}
#app-view#app-view #destination-form .destination-basic-grid{
  grid-template-columns:145px minmax(220px,1.3fr) 145px minmax(220px,1.35fr) 88px!important;
  gap:4px 6px!important;align-items:end!important;
}
/* 담당자는 짧게, 연락처는 중간, 비고는 남은 폭을 사용. */
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(6){grid-column:1/span 1!important;max-width:145px!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(7){grid-column:2/span 1!important;max-width:190px!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(8){grid-column:3/span 3!important;max-width:none!important;}

/* 사업자 정보는 고객사 마스터의 6열 밀도/순서를 그대로 사용하고 전화만 둘째 행에 추가. */
#app-view#app-view #destination-form .destination-business-grid{
  grid-template-columns:repeat(6,minmax(120px,1fr))!important;
  gap:4px 6px!important;align-items:end!important;
}
#app-view#app-view #destination-form .destination-business-grid>label{grid-column:auto!important;min-width:0!important;align-self:end!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(7){grid-column:span 1!important;}
#app-view#app-view #destination-form .destination-business-grid>label.destination-business-address{grid-column:span 3!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(9){grid-column:span 1!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(10){grid-column:span 1!important;}
#app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{
  grid-column:5/7!important;justify-self:end!important;align-self:end!important;width:auto!important;margin-top:0!important;
}

/* 출력물 정렬 6개 콤보는 설정 폼 안에서만 24px compact control. */
#app-view#app-view #page-output-settings .output-setting-grid select{
  height:24px!important;min-height:24px!important;max-height:24px!important;line-height:22px!important;padding-top:1px!important;padding-bottom:1px!important;
}
#app-view#app-view #page-output-settings .output-setting-grid{gap:4px 8px!important;}
/* 사용자 지정 순서는 컬럼설정 대상이 아니며 상태를 정중앙에 표시한다. */
#app-view#app-view #page-output-settings .output-custom-order-table th:last-child,
#app-view#app-view #page-output-settings .output-custom-order-table td:last-child,
#app-view#app-view #page-output-settings .output-custom-status-cell{text-align:center!important;vertical-align:middle!important;}
#app-view#app-view #page-output-settings .output-custom-status-cell .badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;}

/* 예상 파렛트 핵심 수치 2개는 헤더/값/설정필요 배지 모두 중앙 정렬. */
#app-view#app-view #expected-pallet-table :is(th,td)[data-column-key="expected_plt"],
#app-view#app-view #expected-pallet-table :is(th,td)[data-column-key="required_plt"]{
  text-align:center!important;vertical-align:middle!important;
}
#app-view#app-view #expected-pallet-table td[data-column-key="expected_plt"] .badge,
#app-view#app-view #expected-pallet-table td[data-column-key="required_plt"] .badge{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}

@media(max-width:900px){
  #app-view#app-view .product-list-toolbar.master-split-search-toolbar,
  #app-view#app-view .destination-list-toolbar.master-split-search-toolbar{grid-template-columns:1fr!important;}
  #app-view#app-view #destination-form .destination-basic-grid,
  #app-view#app-view #destination-form .destination-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-view#app-view #destination-form .destination-basic-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{grid-column:auto!important;max-width:none!important;}
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.78 — accumulated operation/UI fixes                  */
/* ========================================================================== */
/* 상품/배송지 목록 검색은 데스크톱에서 언제나 정확한 5:5 두 칸. */
#app-view#app-view .product-list-toolbar.master-split-search-toolbar,
#app-view#app-view .destination-list-toolbar.master-split-search-toolbar{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:6px!important;width:100%!important;max-width:none!important;
}
#app-view#app-view .product-list-toolbar.master-split-search-toolbar>input,
#app-view#app-view .destination-list-toolbar.master-split-search-toolbar>input{
  width:100%!important;min-width:0!important;max-width:none!important;display:block!important;visibility:visible!important;
}

/* 배송지 등록은 고객사 마스터처럼 기본/사업자 정보를 각각 독립된 사각 박스로 표시. */
#app-view#app-view #destination-form{display:grid!important;gap:5px!important;margin:0 0 5px!important;}
#app-view#app-view #destination-form .master-form-section{
  border:1px solid var(--ui-lock-border)!important;background:#f8fbfe!important;padding:4px 6px!important;
}
#app-view#app-view #destination-form .destination-basic-grid{
  display:grid!important;
  grid-template-columns:145px minmax(240px,1fr) 155px minmax(280px,1.2fr) 110px!important;
  grid-template-areas:
    "customerCode customerName destinationCode destinationName active"
    "contact phone note note note"!important;
  gap:4px 6px!important;align-items:end!important;
}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(1){grid-area:customerCode!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(2){grid-area:customerName!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(3){grid-area:destinationCode!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(4){grid-area:destinationName!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(5){grid-area:active!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(6){grid-area:contact!important;max-width:145px!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(7){grid-area:phone!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(8){grid-area:note!important;max-width:none!important;}

/* 사업자 정보 첫 행은 고객사 마스터와 동일한 6열, 둘째 행도 동일 주소 밀도. */
#app-view#app-view #destination-form .destination-business-grid{
  display:grid!important;grid-template-columns:repeat(6,minmax(120px,1fr))!important;gap:4px 6px!important;align-items:end!important;
}
#app-view#app-view #destination-form .destination-business-grid>label{grid-column:auto!important;min-width:0!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(7){grid-column:span 1!important;}
#app-view#app-view #destination-form .destination-business-grid>label.destination-business-address{grid-column:span 3!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(9){grid-column:span 1!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(10){grid-column:span 1!important;}
#app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{
  grid-column:5/7!important;justify-self:end!important;align-self:end!important;margin-top:1px!important;
}

/* 출력물 관리 상단은 상단선이 잘리지 않을 만큼의 고정 여유를 확보. */
#app-view#app-view #page-output-settings>.inbound-section:first-of-type{
  flex:0 0 auto!important;min-height:156px!important;padding-top:6px!important;overflow:visible!important;
}
#app-view#app-view #page-output-settings .output-setting-grid{padding-top:2px!important;padding-bottom:3px!important;}
#app-view#app-view #page-output-settings .output-setting-grid select{
  height:24px!important;min-height:24px!important;max-height:24px!important;padding-top:1px!important;padding-bottom:1px!important;
}

/* 예상 파렛트: 남은 창 높이를 그리드가 모두 사용하고 핵심 PLT는 중앙 정렬. */
#app-view#app-view #page-expected-pallets{min-height:0!important;overflow:hidden!important;}
#app-view#app-view #page-expected-pallets>section.inbound-section{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
}
#app-view#app-view #expected-pallet-summary{flex:0 0 auto!important;}
#app-view#app-view #expected-pallet-table{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;}
#app-view#app-view #expected-pallet-table>.table-wrap{flex:1 1 auto!important;height:100%!important;max-height:none!important;min-height:0!important;overflow:auto!important;}
#app-view#app-view #expected-pallet-table :is(th,td)[data-column-key="expected_plt"],
#app-view#app-view #expected-pallet-table :is(th,td)[data-column-key="required_plt"]{text-align:center!important;vertical-align:middle!important;}

/* 적재율 상품 보정 검색: 액션 버튼을 없앤 자리를 두 검색칸에 균등 배분. */
#app-view#app-view #page-load-rate .load-rate-rule-search{
  display:grid!important;grid-template-columns:210px minmax(320px,1fr) minmax(320px,1fr)!important;
  gap:6px!important;width:100%!important;min-width:0!important;
}
#app-view#app-view #page-load-rate .load-rate-rule-search>input{width:100%!important;min-width:0!important;max-width:none!important;}

@media(max-width:1000px){
  #app-view#app-view #destination-form .destination-basic-grid,
  #app-view#app-view #destination-form .destination-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:none!important;}
  #app-view#app-view #destination-form .destination-basic-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{grid-area:auto!important;grid-column:auto!important;max-width:none!important;}
  #app-view#app-view #page-load-rate .load-rate-rule-search{grid-template-columns:160px 1fr 1fr!important;}
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.79 — repeated UI fixes are explicit and page-scoped */
/* ========================================================================== */
/* 상품/배송지 목록: 데스크톱에서 정확히 두 검색칸, 정확히 5:5. */
#app-view#app-view #page-products .product-list-toolbar.master-split-search-toolbar,
#app-view#app-view #page-destinations .destination-list-toolbar.master-split-search-toolbar{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:6px!important;width:100%!important;max-width:none!important;align-items:center!important;
}
#app-view#app-view #page-products :is(#product-customer-search,#product-search),
#app-view#app-view #page-destinations :is(#destination-customer-search,#destination-search){
  display:block!important;visibility:visible!important;width:100%!important;min-width:0!important;max-width:none!important;
  flex:unset!important;box-sizing:border-box!important;margin:0!important;
}

/* 배송지 등록: 고객사 마스터와 동일한 두 사각 섹션/6열 사업자 밀도. */
#app-view#app-view #destination-form{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;}
#app-view#app-view #destination-form>.master-form-section{
  grid-column:1/-1!important;border:1px solid var(--ui-lock-border)!important;background:#f8fbfe!important;
  padding:6px!important;margin:0!important;border-radius:0!important;
}
#app-view#app-view #destination-form>.master-form-section>h2{
  height:22px!important;min-height:22px!important;line-height:20px!important;margin:0 0 4px!important;font-size:11px!important;
}
#app-view#app-view #destination-form .compact-master-grid :is(input,select,button),
#app-view#app-view #destination-form .compact-master-grid .input-button,
#app-view#app-view #destination-form .compact-master-grid .input-button>*{
  height:var(--ui-lock-control-height)!important;min-height:var(--ui-lock-control-height)!important;max-height:var(--ui-lock-control-height)!important;
  box-sizing:border-box!important;
}
#app-view#app-view #destination-form .destination-basic-grid{
  display:grid!important;
  grid-template-columns:145px minmax(210px,1fr) 150px minmax(230px,1.15fr) 105px!important;
  grid-template-areas:"cc cn dc dn active" "contact phone note note note"!important;
  gap:5px 6px!important;align-items:end!important;
}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(1){grid-area:cc!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(2){grid-area:cn!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(3){grid-area:dc!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(4){grid-area:dn!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(5){grid-area:active!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(6){grid-area:contact!important;max-width:145px!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(7){grid-area:phone!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-basic-grid>label:nth-child(8){grid-area:note!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-business-grid{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-template-areas:"bn rep bno type item email" "address address address zip detail phone" "actions actions actions actions actions actions"!important;
  gap:5px 6px!important;align-items:end!important;
}
#app-view#app-view #destination-form .destination-business-grid>label{grid-column:auto!important;min-width:0!important;max-width:none!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(1){grid-area:bn!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(2){grid-area:rep!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(3){grid-area:bno!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(4){grid-area:type!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(5){grid-area:item!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(6){grid-area:email!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(7){grid-area:phone!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(8){grid-area:address!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(9){grid-area:zip!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(10){grid-area:detail!important;}
#app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{
  grid-area:actions!important;grid-column:auto!important;justify-self:end!important;align-self:end!important;margin:0!important;width:auto!important;
}

/* 출고정책: 유형 콤보를 앞, 검색을 뒤. */
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar{
  display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:6px!important;width:100%!important;
}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar>select{width:100%!important;}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar>input{width:100%!important;min-width:0!important;}

/* 출고예정 일괄업로드: 최종 등록은 하단 우측. */
#app-view#app-view #outbound-upload-preview #outbound-upload-commit{display:block!important;margin:8px 0 0 auto!important;}

/* 적재율 상품 보정 검색: 조회/초기화 없음, 센터 최소 + 거래처/상품 넓게. */
#app-view#app-view #page-load-rate .load-rate-rule-search{
  display:grid!important;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;width:100%!important;
}

/* 속성변경/재고이동: 사유 오른쪽 같은 행에 작업 버튼을 올려 한 행 제거. */
#app-view#app-view :is(#inventory-status-form,#inventory-move-form) .inventory-action-buttons{
  grid-column:4/6!important;display:flex!important;justify-content:flex-end!important;align-self:end!important;margin:0!important;
}
/* 재고조정 동적 폼도 비고 제거 후 버튼을 우측 같은 흐름으로 유지. */
#app-view#app-view #adjustment-form>button[type="submit"]{grid-column:4/6!important;justify-self:end!important;align-self:end!important;margin:0!important;}

@media(max-width:1000px){
  #app-view#app-view #destination-form .destination-basic-grid,
  #app-view#app-view #destination-form .destination-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:none!important;}
  #app-view#app-view #destination-form .destination-basic-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>.compact-master-actions{grid-area:auto!important;grid-column:auto!important;max-width:none!important;}
}

/* v0.10.79 restates the carried UI contracts so the latest lock is self-contained. */
#app-view#app-view #page-output-settings>.inbound-section:first-of-type{
  flex:0 0 auto!important;min-height:156px!important;padding-top:6px!important;overflow:visible!important;
}
#app-view#app-view #page-output-settings .output-setting-grid{padding-top:2px!important;padding-bottom:3px!important;gap:4px 8px!important;}
#app-view#app-view #page-output-settings .output-setting-grid select{
  height:24px!important;min-height:24px!important;max-height:24px!important;line-height:22px!important;padding-top:1px!important;padding-bottom:1px!important;
}
#app-view#app-view #page-expected-pallets{min-height:0!important;overflow:hidden!important;}
#app-view#app-view #page-expected-pallets>section.inbound-section{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;}
#app-view#app-view #expected-pallet-summary{flex:0 0 auto!important;}
#app-view#app-view #expected-pallet-table{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;}
#app-view#app-view #expected-pallet-table>.table-wrap{flex:1 1 auto!important;height:100%!important;max-height:none!important;min-height:0!important;overflow:auto!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.80 — repeated-fix hard lock                         */
/* ========================================================================== */
/* 상품/배송지 목록 검색은 어떤 과거 flex 규칙보다 우선하여 데스크톱 5:5 두 칸으로 고정. */
#app-view#app-view #page-products [data-master-search="product"],
#app-view#app-view #page-destinations [data-master-search="destination"]{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-auto-flow:column!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
}
#app-view#app-view #page-products [data-master-search="product"]>.master-half-search,
#app-view#app-view #page-destinations [data-master-search="destination"]>.master-half-search{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  grid-column:auto!important;
  flex:none!important;
  margin:0!important;
}

/* 배송지 사업자정보는 고객사 사업자정보와 같은 6등분 비율. 전화번호를 제거하고 액션을 그 자리에 둔다. */
#app-view#app-view #destination-form .destination-business-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-template-areas:
    "bn rep bno type item email"
    "address address address zip detail actions"!important;
  gap:4px 6px!important;
  align-items:end!important;
}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(1){grid-area:bn!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(2){grid-area:rep!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(3){grid-area:bno!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(4){grid-area:type!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(5){grid-area:item!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(6){grid-area:email!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(7){grid-area:address!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(8){grid-area:zip!important;}
#app-view#app-view #destination-form .destination-business-grid>label:nth-child(9){grid-area:detail!important;}
#app-view#app-view #destination-form .destination-business-grid>.destination-business-actions{
  grid-area:actions!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:end!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
#app-view#app-view #destination-form .destination-business-grid>.destination-business-actions button{
  min-width:72px!important;
  width:auto!important;
}

/* 출고정책: 좌측 유형 콤보 + 우측 검색칸을 항상 보이게 하고 전체 폭 사용. */
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  justify-content:stretch!important;
  align-items:center!important;
  margin:6px 0!important;
}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar>.outbound-policy-type-filter{
  display:block!important;visibility:visible!important;justify-self:stretch!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar>.outbound-policy-search-input{
  display:block!important;visibility:visible!important;opacity:1!important;justify-self:stretch!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;flex:none!important;
}

/* 발주패턴 적용대상 검색: 전체 패턴 콤보가 먼저, 검색이 뒤. */
#app-view#app-view #page-order-patterns .order-pattern-assignment-toolbar{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
}
#app-view#app-view #page-order-patterns .order-pattern-assignment-toolbar>*{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;}

/* 속성변경/재고이동/재고조정: 비고 없는 2행 입력 높이에 맞춰 하단 공백 제거. */
#app-view#app-view :is(#page-status-change,#page-inventory-move,#page-adjustment) .inventory-workflow-action-block{
  height:auto!important;
  min-height:0!important;
  flex:0 0 auto!important;
  padding:3px!important;
  overflow:visible!important;
}
#app-view#app-view :is(#inventory-status-form,#inventory-move-form,#adjustment-form){
  height:auto!important;
  min-height:0!important;
  align-content:start!important;
  margin:0!important;
}
#app-view#app-view :is(#inventory-status-form,#inventory-move-form) .inventory-action-buttons{
  grid-column:4/6!important;
  align-self:end!important;
  margin:0!important;
  padding:0!important;
}
#app-view#app-view #adjustment-form>button[type="submit"]{
  grid-column:4/6!important;
  align-self:end!important;
  justify-self:end!important;
  margin:0!important;
}

/* 예상 파렛트 2행: 센터 / 온도 / 웨이브 / 배송지 순서. */
#app-view#app-view #page-expected-pallets .expected-pallet-condition-row{
  grid-template-columns:84px 155px 130px minmax(260px,1fr) minmax(250px,1fr)!important;
}

@media(max-width:900px){
  #app-view#app-view #page-products [data-master-search="product"],
  #app-view#app-view #page-destinations [data-master-search="destination"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-auto-flow:column!important;}
  #app-view#app-view #destination-form .destination-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:none!important;}
  #app-view#app-view #destination-form .destination-business-grid>label,
  #app-view#app-view #destination-form .destination-business-grid>.destination-business-actions{grid-area:auto!important;grid-column:auto!important;}
  #app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar,
  #app-view#app-view #page-order-patterns .order-pattern-assignment-toolbar{grid-template-columns:1fr!important;}
}

/* v0.10.80 carries the immediately previous output-settings size lock explicitly. */
#app-view#app-view #page-output-settings>.inbound-section:first-of-type{
  flex:0 0 auto!important;min-height:156px!important;padding-top:6px!important;overflow:visible!important;
}
#app-view#app-view #page-output-settings .output-setting-grid select{
  height:24px!important;min-height:24px!important;max-height:24px!important;line-height:22px!important;padding-top:1px!important;padding-bottom:1px!important;
}
/* Explicit class form as well as data attribute: old product toolbar rules cannot collapse either field. */
#app-view#app-view #page-products .product-list-toolbar.master-split-search-toolbar,
#app-view#app-view #page-destinations .destination-list-toolbar.master-split-search-toolbar{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;width:100%!important;max-width:none!important;min-width:0!important;
}
/* v0.10.80 exact visual order: old v0.10.57 grid-column overrides must not reverse the DOM order. */
#app-view#app-view #page-order-patterns .order-pattern-assignment-toolbar #order-pattern-assignment-pattern-filter{
  grid-column:1!important;grid-row:1!important;width:100%!important;
}
#app-view#app-view #page-order-patterns .order-pattern-assignment-toolbar #order-pattern-assignment-search{
  grid-column:2!important;grid-row:1!important;width:100%!important;
}
@media(max-width:900px){
  #app-view#app-view #page-order-patterns .order-pattern-assignment-toolbar #order-pattern-assignment-pattern-filter{grid-column:1!important;grid-row:1!important;}
  #app-view#app-view #page-order-patterns .order-pattern-assignment-toolbar #order-pattern-assignment-search{grid-column:1!important;grid-row:2!important;}
}
/* Higher-specificity override for legacy 3-column order-pattern assignment toolbar. */
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar.order-pattern-assignment-toolbar{
  display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;gap:6px!important;
}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar.order-pattern-assignment-toolbar #order-pattern-assignment-pattern-filter{
  grid-column:1!important;grid-row:1!important;
}
#app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar.order-pattern-assignment-toolbar #order-pattern-assignment-search{
  grid-column:2!important;grid-row:1!important;
}
@media(max-width:900px){
  #app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar.order-pattern-assignment-toolbar{grid-template-columns:1fr!important;}
  #app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar.order-pattern-assignment-toolbar #order-pattern-assignment-pattern-filter{grid-column:1!important;grid-row:1!important;}
  #app-view#app-view #page-order-patterns .order-pattern-assignment-section>.toolbar.order-pattern-assignment-toolbar #order-pattern-assignment-search{grid-column:1!important;grid-row:2!important;}
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.81 — repeated UI + inventory adjustment hard lock   */
/* ========================================================================== */
/* 상품 검색 두 칸은 컬럼설정 버튼이 같은 toolbar에 있어도 검색 영역만 정확히 5:5. */
#app-view#app-view #page-products .product-list-toolbar.master-split-search-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px!important;
  gap:6px!important;width:100%!important;min-width:0!important;max-width:none!important;
  align-items:center!important;
}
#app-view#app-view #page-products #product-customer-search{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;}
#app-view#app-view #page-products #product-search{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;}
#app-view#app-view #page-products .product-list-toolbar>.grid-column-menu-button{grid-column:3!important;grid-row:1!important;width:30px!important;min-width:30px!important;max-width:30px!important;margin:0!important;justify-self:end!important;}

/* 출고정책 목록은 검색을 넓게, 전체 유형을 짧게, 컬럼설정을 바로 옆에 둔다. */
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar{
  display:grid!important;grid-template-columns:minmax(260px,1fr) 120px 30px!important;
  gap:4px!important;width:100%!important;min-width:0!important;max-width:none!important;align-items:center!important;
}
#app-view#app-view #page-outbound-policies #outbound-policy-search{
  display:block!important;visibility:visible!important;opacity:1!important;grid-column:1!important;grid-row:1!important;
  width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
}
#app-view#app-view #page-outbound-policies #outbound-policy-action-filter{
  display:block!important;visibility:visible!important;grid-column:2!important;grid-row:1!important;
  width:120px!important;min-width:120px!important;max-width:120px!important;margin:0!important;justify-self:end!important;
}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar>.grid-column-menu-button{
  grid-column:3!important;grid-row:1!important;width:30px!important;min-width:30px!important;max-width:30px!important;margin:0!important;justify-self:end!important;
}

/* 재고조정: 승인요청/현재고 두 그리드 사이를 드래그하여 폭을 조절한다. */
#app-view#app-view #page-adjustment.active{overflow:hidden!important;}
#app-view#app-view #page-adjustment .adjustment-grid-split{
  --adjustment-left-ratio:50%;
  display:grid!important;grid-template-columns:minmax(300px,var(--adjustment-left-ratio)) 7px minmax(300px,1fr)!important;
  flex:1 1 auto!important;min-height:230px!important;min-width:0!important;gap:0!important;overflow:hidden!important;
}
#app-view#app-view #page-adjustment .adjustment-grid-split>.inventory-workflow-approval-block,
#app-view#app-view #page-adjustment .adjustment-grid-split>.inventory-workflow-stock-block{
  display:flex!important;flex-direction:column!important;flex:unset!important;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;overflow:hidden!important;
}
#app-view#app-view #page-adjustment .adjustment-grid-splitter{
  width:7px!important;min-width:7px!important;cursor:col-resize!important;background:linear-gradient(90deg,transparent 2px,#8da8bc 2px,#8da8bc 4px,transparent 4px)!important;
  touch-action:none!important;user-select:none!important;outline:none!important;
}
#app-view#app-view #page-adjustment .adjustment-grid-splitter:hover,
#app-view#app-view #page-adjustment .adjustment-grid-splitter:focus{background:linear-gradient(90deg,transparent 1px,#426f92 1px,#426f92 5px,transparent 5px)!important;}
body.is-resizing-grid{cursor:col-resize!important;user-select:none!important;}
#app-view#app-view #page-adjustment .inventory-workflow-action-block{flex:0 0 auto!important;min-height:0!important;height:auto!important;margin:0!important;}
#app-view#app-view #page-adjustment .inventory-workflow-search-block .task-lookup:nth-child(2){grid-template-columns:minmax(0,1fr) 96px!important;}

@media(max-width:900px){
  #app-view#app-view #page-products .product-list-toolbar.master-split-search-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px!important;}
  #app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar{grid-template-columns:minmax(0,1fr) 110px 30px!important;}
  #app-view#app-view #page-adjustment .adjustment-grid-split{grid-template-columns:1fr!important;overflow:auto!important;}
  #app-view#app-view #page-adjustment .adjustment-grid-splitter{display:none!important;}
}


/* FCMS UI LOCK v0.10.82 — left-leading grid menus and fixed toolbar geometry */
#app-view#app-view #page-products .product-list-toolbar.master-split-search-toolbar{display:grid!important;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;align-items:center!important;}
#app-view#app-view #page-products .product-list-toolbar>.grid-column-menu-button{grid-column:1!important;grid-row:1!important;justify-self:start!important;margin:0!important;width:30px!important;min-width:30px!important;max-width:30px!important;}
#app-view#app-view #page-products #product-customer-search{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;}
#app-view#app-view #page-products #product-search{grid-column:3!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar{display:grid!important;grid-template-columns:30px 120px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:none!important;}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar>.grid-column-menu-button{grid-column:1!important;grid-row:1!important;justify-self:start!important;margin:0!important;width:30px!important;min-width:30px!important;max-width:30px!important;}
#app-view#app-view #page-outbound-policies #outbound-policy-action-filter{grid-column:2!important;grid-row:1!important;width:120px!important;min-width:120px!important;max-width:120px!important;margin:0!important;justify-self:start!important;}
#app-view#app-view #page-outbound-policies #outbound-policy-search{grid-column:3!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;display:block!important;visibility:visible!important;opacity:1!important;}
#app-view#app-view #page-users .grid-column-menu-button,[data-grid-menu-for="users-table"]{display:none!important;}

@media(max-width:900px){
#app-view#app-view #page-products .product-list-toolbar.master-split-search-toolbar{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr)!important;}
#app-view#app-view #page-outbound-policies .outbound-policy-list-toolbar{grid-template-columns:30px 110px minmax(0,1fr)!important;}
}

/* FCMS UI LOCK v0.10.83 — outbound cancel state, manifest runtime and picker correctness */

/* FCMS UI LOCK v0.10.84 — adjustment auto-query and compact search row */
#app-view#app-view #page-adjustment .inventory-workflow-search-block .inventory-task-search{
  grid-template-columns:minmax(430px,1.25fr) minmax(330px,1fr) 72px!important;
}
#app-view#app-view #page-adjustment .inventory-workflow-search-block .task-reset-button{
  grid-column:3!important;justify-self:stretch!important;
}


/* FCMS UI LOCK v0.10.96 — existing v0.10.85 UI rules preserved; CUSTOMER inventory role UI added without changing internal workflow */
/* 마스터 삭제는 불러오기와 높이/패딩/폰트가 완전히 같고 색상만 danger를 유지한다. */
#app-view#app-view .table-action-group>button.master-delete-button.small{
  height:24px!important;min-height:24px!important;max-height:24px!important;
  line-height:22px!important;padding:0 5px!important;font-size:10px!important;
  box-sizing:border-box!important;align-self:center!important;
}
/* 입고명세서 2행 페이지 셀은 너무 좁지 않게 하되 실제 입고일의 한 줄 폭은 유지한다. */
/* A master row with delete permission uses one identical action-button geometry for load/delete. */
#app-view#app-view .table-action-group:has(>button.master-delete-button)>button.small{
  height:26px!important;min-height:26px!important;max-height:26px!important;
  line-height:24px!important;padding:0 6px!important;font-size:10.5px!important;
  min-width:48px!important;box-sizing:border-box!important;align-self:center!important;
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.103 — CUSTOMER UI cleanup / query rows normalized    */
/* Replaces the v0.10.99~0.10.102 fixed-grid patch stack with one flex model. */
/* ========================================================================== */

/* CUSTOMER visibility / upload refinements */
#app-view#app-view.customer-mode #page-inventory .inventory-internal-only,
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-internal-only{
  display:none!important;visibility:hidden!important;
}
#app-view#app-view.customer-mode #inbound-plan-import-section .inbound-internal-upload-only{display:none!important;}
#app-view#app-view.customer-mode #inbound-plan-import-section .inbound-customer-upload-only{display:flex!important;}
#app-view#app-view.customer-mode #inbound-plan-import-section #inbound-internal-file-controls{display:none!important;}
#app-view#app-view.customer-mode #inbound-plan-import-section #inbound-customer-file-controls{display:inline-flex!important;width:100%!important;}
#app-view#app-view.customer-mode #inbound-plan-import-section .inbound-import-form-grid{
  grid-template-columns:minmax(170px,.75fr) minmax(170px,.75fr) minmax(220px,1fr) minmax(250px,1.1fr)!important;
}
.inbound-excel-commit-actions{
  display:flex!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;padding-top:4px!important;
}
#app-view#app-view .upload-customer-picker-cell{
  display:grid!important;grid-template-columns:minmax(0,1fr) 54px!important;gap:4px!important;align-items:center!important;width:100%!important;min-width:0!important;
}
#app-view#app-view .upload-customer-picker-cell>input{width:100%!important;min-width:0!important;background:#fff!important;}
#app-view#app-view .upload-customer-picker-cell>button{width:54px!important;min-width:54px!important;padding:0 4px!important;}

/* CUSTOMER query design tokens */
#app-view.customer-mode{
  --cq-bg:#b9cad7;
  --cq-label-bg:#d9e6ef;
  --cq-border:#9eb2c1;
  --cq-control-border:#a8bac8;
  --cq-row:34px;
  --cq-control:30px;
  --cq-label:92px;
  --cq-select:158px;
  --cq-date:150px;
  --cq-search:320px;
}

/* Inventory wrappers are semantically grouped but remain transparent on internal screens. */
#app-view:not(.customer-mode) :is(#page-inventory,#page-inventory-io) .customer-query-line{display:contents;}

/* One surface for all CUSTOMER filters. No fixed grid spans, no absolute positioning. */
#app-view#app-view.customer-mode :is(
  #page-inbound-plans .wms-query-table,
  #page-inbound-confirmations .wms-query-table,
  #page-outbound-plans .wms-query-table,
  #page-outbound-confirmations .wms-query-table,
  #page-inventory .inventory-overview-search,
  #page-inventory-io .inventory-overview-search
){
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:2px 0 4px!important;
  padding:2px 4px!important;
  border:1px solid var(--cq-border)!important;
  border-radius:0!important;
  background:var(--cq-bg)!important;
  overflow:visible!important;
}

/* Row geometry */
#app-view#app-view.customer-mode :is(
  #page-inbound-plans .wms-query-row,
  #page-inbound-confirmations .wms-query-row,
  #page-outbound-plans .wms-query-row,
  #page-outbound-confirmations .wms-query-row,
  #page-inventory .customer-query-line,
  #page-inventory-io .customer-query-line
){
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  min-height:var(--cq-row)!important;
  height:var(--cq-row)!important;
  margin:0!important;
  padding:2px 0!important;
  border:0!important;
  background:var(--cq-bg)!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans .wms-query-row,
  #page-inbound-confirmations .wms-query-row,
  #page-outbound-plans .wms-query-row,
  #page-outbound-confirmations .wms-query-row,
  #page-inventory .customer-query-line,
  #page-inventory-io .customer-query-line
)+:is(.wms-query-row,.customer-query-line){
  border-top:1px solid rgba(126,153,174,.58)!important;
}

/* Flat inventory containers: the two explicit row wrappers own layout. */
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .inventory-overview-search{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  height:auto!important;
  min-height:72px!important;
  max-height:none!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.task-lookup{display:none!important;}

/* Control geometry: one height for labels, inputs, selects and buttons. */
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations,#page-inventory,#page-inventory-io
) :is(.wms-query-row,.customer-query-line) :is(input:not([type="checkbox"]):not([type="radio"]),select,button){
  height:var(--cq-control)!important;
  min-height:var(--cq-control)!important;
  max-height:var(--cq-control)!important;
  box-sizing:border-box!important;
  border:1px solid var(--cq-control-border)!important;
  border-radius:2px!important;
  background:#fff!important;
  color:#23384a!important;
  opacity:1!important;
  line-height:normal!important;
  margin:0!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations,#page-inventory,#page-inventory-io
) :is(.wms-query-row,.customer-query-line) .wms-query-label{
  display:flex!important;
  flex:0 0 var(--cq-label)!important;
  width:var(--cq-label)!important;
  height:var(--cq-control)!important;
  min-height:var(--cq-control)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 6px!important;
  border:1px solid var(--cq-control-border)!important;
  border-radius:2px!important;
  background:var(--cq-label-bg)!important;
  color:#2d4d65!important;
  font-size:10.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations,#page-inventory,#page-inventory-io
) :is(.wms-query-row,.customer-query-line) .range-separator{
  display:flex!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:var(--cq-control)!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--cq-control-border)!important;
  border-radius:2px!important;
  background:#fff!important;
  color:#5c7182!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations,#page-inventory,#page-inventory-io
) :is(.wms-query-row,.customer-query-line) .quick-range-buttons{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  gap:2px!important;
  height:var(--cq-control)!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations,#page-inventory,#page-inventory-io
) :is(.wms-query-row,.customer-query-line) .quick-range-buttons>button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:40px!important;
  padding:0 7px!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations,#page-inventory,#page-inventory-io
) :is(.wms-query-row,.customer-query-line) .query-action-group{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
  margin-left:auto!important;
  padding:0!important;
  width:auto!important;
  min-width:0!important;
  background:transparent!important;
  white-space:nowrap!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations,#page-inventory,#page-inventory-io
) :is(.wms-query-row,.customer-query-line) .query-action-group>button{
  flex:0 0 auto!important;
  min-width:82px!important;
  width:auto!important;
  padding:0 10px!important;
}

/* Dates */
#app-view#app-view.customer-mode :is(
  #page-inbound-plans .inbound-plan-date-row,
  #page-inbound-confirmations .confirmation-filter-date-row,
  #page-outbound-plans .outbound-plan-date-row,
  #page-outbound-confirmations .outbound-confirm-date-row,
  #page-inventory .customer-query-date-line,
  #page-inventory-io .customer-query-date-line
)>input[type="date"]{
  flex:0 0 var(--cq-date)!important;
  width:var(--cq-date)!important;
  min-width:var(--cq-date)!important;
}

/* Current inventory / IO conditions. Reset + Excel live at the far right. */
#app-view#app-view.customer-mode #page-inventory .customer-query-condition-line>#inventory-center-filter,
#app-view#app-view.customer-mode #page-inventory .customer-query-condition-line>#inventory-status-filter,
#app-view#app-view.customer-mode #page-inventory-io .customer-query-condition-line>#inventory-io-type-filter,
#app-view#app-view.customer-mode #page-inventory-io .customer-query-condition-line>#inventory-io-center-filter,
#app-view#app-view.customer-mode #page-inventory-io .customer-query-condition-line>#inventory-io-customer-status-filter{
  flex:0 0 var(--cq-select)!important;
  width:var(--cq-select)!important;
  min-width:var(--cq-select)!important;
}
#app-view#app-view.customer-mode #page-inventory #inventory-customer-product-query,
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
  flex:0 1 var(--cq-search)!important;
  width:var(--cq-search)!important;
  min-width:220px!important;
  max-width:var(--cq-search)!important;
}

/* Inbound expected / confirmed conditions: equal center+status widths, compact search, reset at right. */
#app-view#app-view.customer-mode #page-inbound-plans :is(#inbound-plan-center-filter,#inbound-plan-customer-status-filter),
#app-view#app-view.customer-mode #page-inbound-confirmations :is(#confirm-center-filter,#confirm-customer-status-filter){
  flex:0 0 var(--cq-select)!important;
  width:var(--cq-select)!important;
  min-width:var(--cq-select)!important;
}
#app-view#app-view.customer-mode #page-inbound-plans #inbound-plan-search,
#app-view#app-view.customer-mode #page-inbound-confirmations #confirm-plan-search{
  flex:0 1 var(--cq-search)!important;
  width:var(--cq-search)!important;
  min-width:220px!important;
  max-width:var(--cq-search)!important;
}
#app-view#app-view.customer-mode #page-inbound-confirmations :is(#confirm-stage-filter,#confirm-date-basis){display:none!important;}

/* Outbound conditions use the same sizing vocabulary. */
#app-view#app-view.customer-mode #page-outbound-plans :is(#outbound-plan-customer-center,#outbound-plan-customer-destination,#outbound-plan-customer-status),
#app-view#app-view.customer-mode #page-outbound-confirmations :is(#outbound-confirm-target-center,#outbound-confirm-target-destination,#outbound-confirm-stage-filter){
  flex:0 0 var(--cq-select)!important;
  width:var(--cq-select)!important;
  min-width:var(--cq-select)!important;
}
#app-view#app-view.customer-mode #page-outbound-plans #outbound-plan-search,
#app-view#app-view.customer-mode #page-outbound-confirmations #outbound-confirm-customer-product-query{
  flex:0 1 var(--cq-search)!important;
  width:var(--cq-search)!important;
  min-width:220px!important;
  max-width:var(--cq-search)!important;
}

/* CUSTOMER selects must look active. */
#app-view#app-view.customer-mode :is(
  #inventory-center-filter,#inventory-status-filter,#inventory-io-center-filter,#inventory-io-type-filter,#inventory-io-customer-status-filter,
  #inbound-plan-center-filter,#inbound-plan-customer-status-filter,#confirm-center-filter,#confirm-customer-status-filter,
  #outbound-plan-customer-center,#outbound-plan-customer-destination,#outbound-plan-customer-status,
  #outbound-confirm-target-center,#outbound-confirm-target-destination,#outbound-confirm-stage-filter
):not(:disabled){
  background-color:#fff!important;color:#23384a!important;opacity:1!important;filter:none!important;
}

/* CUSTOMER section chrome */
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations
) .section-title-row{
  min-height:32px!important;height:32px!important;padding:2px 4px!important;align-items:center!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations
) .section-title-actions{
  gap:4px!important;align-items:center!important;
}
#app-view#app-view.customer-mode :is(
  #page-inbound-plans,#page-inbound-confirmations,#page-outbound-plans,#page-outbound-confirmations
) .section-title-actions>button{
  height:28px!important;min-height:28px!important;padding:0 10px!important;
}

/* CUSTOMER inbound confirmation remains two panes; detail is never visually lost. */
@media(min-width:901px){
  #app-view#app-view.customer-mode #page-inbound-confirmations.active>.unified-confirm-list-section{
    display:flex!important;flex:1 1 52%!important;min-height:150px!important;max-height:none!important;flex-direction:column!important;overflow:hidden!important;
  }
  #app-view#app-view.customer-mode #page-inbound-confirmations.active>#inbound-confirm-splitter{
    display:block!important;flex:0 0 5px!important;min-height:5px!important;height:5px!important;margin:1px 0!important;
  }
  #app-view#app-view.customer-mode #page-inbound-confirmations.active>#inbound-confirmation-selected-section{
    display:flex!important;flex:1 1 48%!important;min-height:150px!important;max-height:none!important;flex-direction:column!important;overflow:hidden!important;
  }
  #app-view#app-view.customer-mode #page-inbound-confirmations.active>#inbound-confirmation-selected-section>#inbound-confirmation-lines-table{
    display:flex!important;flex:1 1 auto!important;min-height:0!important;flex-direction:column!important;
  }
  #app-view#app-view.customer-mode #page-inbound-confirmations.active>#inbound-confirmation-selected-section>#inbound-confirmation-lines-table>.table-wrap{
    flex:1 1 auto!important;height:100%!important;max-height:none!important;
  }
}

/* Compact desktops: allow rows to wrap cleanly instead of squeezing or overlapping. */
@media(max-width:1180px) and (min-width:901px){
  #app-view.customer-mode{--cq-label:86px;--cq-select:142px;--cq-date:140px;--cq-search:280px;}
  #app-view#app-view.customer-mode :is(
    #page-inbound-plans .wms-query-row,
    #page-inbound-confirmations .wms-query-row,
    #page-outbound-plans .wms-query-row,
    #page-outbound-confirmations .wms-query-row,
    #page-inventory .customer-query-line,
    #page-inventory-io .customer-query-line
  ){
    height:auto!important;min-height:var(--cq-row)!important;flex-wrap:wrap!important;
  }
  #app-view#app-view.customer-mode :is(
    #page-inbound-plans .wms-query-table,
    #page-inbound-confirmations .wms-query-table,
    #page-outbound-plans .wms-query-table,
    #page-outbound-confirmations .wms-query-table,
    #page-inventory .inventory-overview-search,
    #page-inventory-io .inventory-overview-search
  ){height:auto!important;min-height:0!important;}
}

/* Mobile/tablet: labels remain clear, actions stay on their own right-aligned line. */
@media(max-width:900px){
  #app-view.customer-mode{--cq-label:88px;--cq-select:100%;--cq-date:calc(50% - 56px);--cq-search:100%;}
  #app-view#app-view.customer-mode :is(
    #page-inbound-plans .wms-query-row,
    #page-inbound-confirmations .wms-query-row,
    #page-outbound-plans .wms-query-row,
    #page-outbound-confirmations .wms-query-row,
    #page-inventory .customer-query-line,
    #page-inventory-io .customer-query-line
  ){
    height:auto!important;min-height:0!important;flex-wrap:wrap!important;padding:4px 0!important;
  }
  #app-view#app-view.customer-mode :is(
    #page-inventory #inventory-customer-product-query,
    #page-inventory-io #inventory-io-customer-product-query,
    #page-inbound-plans #inbound-plan-search,
    #page-inbound-confirmations #confirm-plan-search,
    #page-outbound-plans #outbound-plan-search,
    #page-outbound-confirmations #outbound-confirm-customer-product-query
  ){
    flex:1 1 240px!important;width:auto!important;max-width:none!important;
  }
  #app-view#app-view.customer-mode :is(
    #page-inventory .query-action-group,
    #page-inventory-io .query-action-group,
    #page-inbound-plans .query-action-group,
    #page-inbound-confirmations .query-action-group,
    #page-outbound-plans .query-action-group,
    #page-outbound-confirmations .query-action-group
  ){
    flex:1 0 100%!important;margin-left:0!important;justify-content:flex-end!important;
  }
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.104 — CUSTOMER dashboard + one-line inventory query */
/* ========================================================================== */
#app-view#app-view.customer-mode #customer-dashboard-panel{
  display:block!important;
  width:100%!important;
  margin:4px 0 8px!important;
  padding:8px!important;
  border:1px solid #9fb7c8!important;
  background:#eef4f8!important;
  box-sizing:border-box!important;
}
#app-view#app-view.customer-mode #customer-dashboard-panel.hidden{display:none!important;}
#app-view#app-view.customer-mode .customer-dashboard-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  min-height:38px!important;margin-bottom:8px!important;
}
#app-view#app-view.customer-mode .customer-dashboard-heading{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:220px!important;}
#app-view#app-view.customer-mode .customer-dashboard-heading strong{font-size:14px!important;color:#203f55!important;}
#app-view#app-view.customer-mode .customer-dashboard-heading span{font-size:11px!important;color:#5f7484!important;}
#app-view#app-view.customer-mode .customer-dashboard-period{
  display:flex!important;align-items:center!important;gap:4px!important;margin-left:auto!important;padding:3px 5px!important;
  border:1px solid #b3c5d1!important;background:#fff!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode .customer-dashboard-period-label{font-size:11px!important;font-weight:700!important;color:#38566b!important;margin-right:2px!important;}
#app-view#app-view.customer-mode .customer-dashboard-period input[type="date"]{width:126px!important;min-width:126px!important;height:28px!important;min-height:28px!important;}
#app-view#app-view.customer-mode .customer-dashboard-period-quick{display:flex!important;align-items:center!important;gap:2px!important;}
#app-view#app-view.customer-mode .customer-dashboard-period-quick>button{height:28px!important;min-height:28px!important;min-width:42px!important;padding:0 7px!important;}
#app-view#app-view.customer-mode .customer-dashboard-card-grid{
  display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr))!important;gap:6px!important;width:100%!important;
}
#app-view#app-view.customer-mode .customer-dashboard-card{
  display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;align-items:center!important;
  min-height:66px!important;padding:8px 10px!important;border:1px solid #a7bdcd!important;background:#fff!important;color:#24445b!important;text-align:left!important;
}
#app-view#app-view.customer-mode .customer-dashboard-card:hover{background:#f7fbfd!important;border-color:#527d9d!important;}
#app-view#app-view.customer-mode .customer-dashboard-card>span{font-size:11px!important;font-weight:700!important;white-space:nowrap!important;}
#app-view#app-view.customer-mode .customer-dashboard-card>b{grid-row:1/3!important;grid-column:2!important;font-size:24px!important;line-height:1!important;color:#0e4f78!important;text-align:right!important;}
#app-view#app-view.customer-mode .customer-dashboard-card>small{font-size:10px!important;color:#728593!important;}
#app-view#app-view.customer-mode .customer-dashboard-card.done{background:#f3f8f4!important;}
#app-view#app-view.customer-mode .customer-dashboard-card.attention{background:#fff8eb!important;border-color:#d5b77f!important;}
#app-view#app-view.customer-mode .customer-dashboard-card.attention>b{color:#9a5f00!important;}
#app-view#app-view.customer-mode .customer-dashboard-card.inventory{background:#f5f7fb!important;}
@media(max-width:1180px){
  #app-view#app-view.customer-mode .customer-dashboard-head{align-items:flex-start!important;flex-direction:column!important;}
  #app-view#app-view.customer-mode .customer-dashboard-period{margin-left:0!important;max-width:100%!important;overflow-x:auto!important;}
  #app-view#app-view.customer-mode .customer-dashboard-card-grid{grid-template-columns:repeat(3,minmax(130px,1fr))!important;}
}

/* CUSTOMER current inventory and inventory I/O are compact one-line query bars. */
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .inventory-overview-search{
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;
  width:100%!important;height:38px!important;min-height:38px!important;max-height:38px!important;
  padding:3px 4px!important;margin:2px 0 4px!important;overflow:visible!important;
  background:var(--cq-bg)!important;border:1px solid var(--cq-border)!important;box-sizing:border-box!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.grid-column-menu-button{
  order:-10!important;flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:30px!important;min-height:30px!important;margin:0!important;
}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .inventory-overview-search>.customer-query-line{display:contents!important;}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .inventory-overview-search :is(input,select,button){height:30px!important;min-height:30px!important;box-sizing:border-box!important;}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .inventory-overview-search .wms-query-label{
  flex:0 0 48px!important;width:48px!important;min-width:48px!important;height:30px!important;min-height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;padding:0 6px!important;background:var(--cq-label-bg)!important;border:1px solid var(--cq-border)!important;font-size:11px!important;font-weight:700!important;
}
#app-view#app-view.customer-mode #page-inventory :is(#inventory-center-filter,#inventory-status-filter),
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-type-filter,#inventory-io-center-filter,#inventory-io-customer-status-filter){
  flex:0 0 80px!important;width:80px!important;min-width:80px!important;max-width:80px!important;
}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) :is(#inventory-customer-product-query,#inventory-io-customer-product-query){
  flex:0 0 150px!important;width:150px!important;min-width:150px!important;max-width:150px!important;
}
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-customer-date-from,#inventory-io-customer-date-to){
  flex:0 0 98px!important;width:98px!important;min-width:98px!important;max-width:98px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .range-separator{flex:0 0 12px!important;width:12px!important;min-width:12px!important;text-align:center!important;}
#app-view#app-view.customer-mode #page-inventory-io .quick-range-buttons{display:flex!important;flex:0 0 auto!important;gap:2px!important;height:30px!important;align-items:center!important;}
#app-view#app-view.customer-mode #page-inventory-io .quick-range-buttons>button{min-width:28px!important;width:auto!important;padding:0 4px!important;height:30px!important;font-size:10px!important;}
#app-view#app-view.customer-mode #page-inventory-io .quick-range-buttons>button[data-inventory-io-date-range="week"]{min-width:42px!important;}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .query-action-group{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;margin-left:auto!important;flex:0 0 auto!important;padding:0!important;background:transparent!important;
}
#app-view#app-view.customer-mode :is(#page-inventory,#page-inventory-io) .query-action-group>button{min-width:62px!important;width:auto!important;padding:0 6px!important;font-size:11px!important;}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group>#inventory-io-customer-excel,
#app-view#app-view.customer-mode #page-inventory .query-action-group>#inventory-excel-download{min-width:88px!important;}

/* CUSTOMER inbound confirmation uses confirmation date, not the internal actual-inbound date. */
#app-view#app-view.customer-mode #inbound-confirmations-table [data-column-key="confirmed_date"],
#app-view#app-view.customer-mode #inbound-confirmation-lines-table [data-column-key="confirmed_date"]{
  width:112px!important;min-width:112px!important;max-width:112px!important;white-space:nowrap!important;
}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.105 — CUSTOMER dashboard/query refinement             */
/* ========================================================================== */
/* CUSTOMER uses the new business summary only. Internal staff keep the process panel. */
#app-view#app-view.customer-mode #page-dashboard .dashboard-process-panel{display:none!important;}
#app-view#app-view.customer-mode .customer-dashboard-heading{min-width:0!important;}
#app-view#app-view.customer-mode .dashboard-recent-title-row{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;
  height:30px!important;min-height:30px!important;margin:4px 0!important;padding:2px 4px!important;
}
#app-view#app-view.customer-mode .dashboard-recent-title-row #dashboard-recent-title{margin:0!important;}
#app-view#app-view.customer-mode .dashboard-recent-title-row .dashboard-recent-column-leading{
  flex:0 0 28px!important;width:28px!important;min-width:28px!important;height:26px!important;min-height:26px!important;margin:0!important;padding:0!important;
}
/* Inventory/IO one-line labels need breathing room for Korean labels. */
#app-view#app-view.customer-mode #page-inventory #inventory-customer-condition-label,
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-condition-label,
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.wms-query-label{
  flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important;padding:0 8px!important;
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.107 — CUSTOMER workflow refinement                  */
/* ========================================================================== */
/* CUSTOMER dashboard is grouped by business domain instead of one faux flow. */
#app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-groups{
  display:grid!important;
  grid-template-columns:minmax(260px,2fr) minmax(390px,3fr) minmax(260px,2fr)!important;
  gap:8px!important;
  width:100%!important;
  align-items:stretch!important;
}
#app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-group{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:5px!important;
  border:1px solid #b4c7d4!important;
  background:#f8fbfd!important;
  box-sizing:border-box!important;
}
#app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-group>h3{
  margin:0 0 5px!important;
  padding:0 2px 4px!important;
  border-bottom:1px solid #d5e1e9!important;
  color:#284b62!important;
  font-size:12px!important;
  line-height:18px!important;
}
#app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-group-cards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  flex:1 1 auto!important;
}
#app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-group-outbound .customer-dashboard-group-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-card{
  min-width:0!important;
  min-height:64px!important;
}
#app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-heading strong{
  font-size:15px!important;
}
/* CUSTOMER outbound confirmation has no meaningful status filter in the current workflow. */
#app-view#app-view.customer-mode #page-outbound-confirmations #outbound-confirm-stage-filter{display:none!important;}
/* Outbound-plan customer filters follow center -> destination -> status -> product search. */
#app-view#app-view.customer-mode #page-outbound-plans .outbound-plan-search-row{
  align-items:center!important;
}
#app-view#app-view.customer-mode #page-outbound-plans :is(#outbound-plan-customer-center,#outbound-plan-customer-destination,#outbound-plan-customer-status){
  flex:0 0 var(--cq-select)!important;
  width:var(--cq-select)!important;
  min-width:var(--cq-select)!important;
}
#app-view#app-view.customer-mode #page-outbound-plans #outbound-plan-search{
  flex:0 1 var(--cq-search)!important;
  width:var(--cq-search)!important;
  min-width:220px!important;
  max-width:var(--cq-search)!important;
}
/* User management action buttons stay compact when password reset is available. */
#app-view#app-view #page-users .inline-action-buttons{
  display:flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;
}
#app-view#app-view #page-users .inline-action-buttons>button{
  height:26px!important;min-height:26px!important;padding:0 8px!important;
}
@media(max-width:1180px){
  #app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-groups{
    grid-template-columns:1fr!important;
  }
  #app-view#app-view.customer-mode #customer-dashboard-panel .customer-dashboard-group-outbound .customer-dashboard-group-cards{
    grid-template-columns:repeat(3,minmax(130px,1fr))!important;
  }
}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.108 — registration actions / internal IO polish      */
/* ========================================================================== */
/* Keep + / - row actions visible while wide registration grids scroll. */
#app-view#app-view :is(#inbound-plan-registration-section,#outbound-plan-registration-section) .table-wrap{position:relative!important;overflow-x:auto!important;}
#app-view#app-view #inbound-plan-registration-section #plan-draft-lines :is(th,td):last-child,
#app-view#app-view #outbound-plan-registration-section #outbound-plan-draft-lines :is(th,td):last-child{
  position:sticky!important;right:0!important;z-index:4!important;background:#f8fbfe!important;min-width:70px!important;width:70px!important;max-width:70px!important;box-shadow:-1px 0 0 #c7d4df!important;overflow:visible!important;
}
#app-view#app-view :is(#inbound-plan-registration-section,#outbound-plan-registration-section) .plan-row-actions .small{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;min-width:28px!important;height:26px!important;min-height:26px!important;padding:0!important;margin:0 1px!important;visibility:visible!important;opacity:1!important;
}

/* Internal employee inventory-I/O date controls occupy their own explicit slot; CUSTOMER rules stay isolated. */
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:4px!important;width:100%!important;height:auto!important;min-height:38px!important;max-height:none!important;overflow:visible!important;padding:3px 4px!important;box-sizing:border-box!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search>.task-lookup{flex:1 1 250px!important;min-width:230px!important;max-width:none!important;height:30px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date{
  display:flex!important;align-items:center!important;gap:3px!important;flex:1 1 620px!important;min-width:620px!important;height:30px!important;overflow:visible!important;position:relative!important;z-index:2!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-condition{display:flex!important;align-items:center!important;gap:4px!important;flex:1 1 100%!important;min-width:0!important;height:30px!important;overflow:visible!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-condition>select{flex:0 1 150px!important;min-width:110px!important;max-width:180px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-condition>.query-action-group{margin-left:auto!important;flex:0 0 auto!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date>.wms-query-label{flex:0 0 66px!important;width:66px!important;min-width:66px!important;height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io :is(#inventory-io-date-from,#inventory-io-date-to){flex:0 0 128px!important;width:128px!important;min-width:128px!important;height:30px!important;position:relative!important;z-index:3!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date .range-separator{flex:0 0 14px!important;text-align:center!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date .quick-range-buttons{display:flex!important;align-items:center!important;gap:2px!important;flex:0 0 auto!important;height:30px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date .quick-range-buttons>button{height:30px!important;min-height:30px!important;min-width:30px!important;padding:0 5px!important;}

/* CUSTOMER inbound-confirmation detail no longer carries the confirmation-date column. */
#app-view#app-view.customer-mode #inbound-confirmation-lines-table [data-column-key="confirmed_date"]{display:none!important;}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.109 — CUSTOMER upload/filter polish                 */
/* ========================================================================== */
/* CUSTOMER inventory I/O stays on one compact row without clipping the right actions. */
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:3px!important;
  width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;overflow:visible!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.customer-query-line{display:contents!important;min-width:0!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.wms-query-label,
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-condition-label{
  flex:0 0 76px!important;width:76px!important;min-width:76px!important;max-width:76px!important;
}
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-customer-date-from,#inventory-io-customer-date-to){
  flex:0 0 92px!important;width:92px!important;min-width:92px!important;max-width:92px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .range-separator{flex:0 0 10px!important;width:10px!important;min-width:10px!important;}
#app-view#app-view.customer-mode #page-inventory-io .quick-range-buttons{flex:0 0 auto!important;gap:1px!important;min-width:0!important;}
#app-view#app-view.customer-mode #page-inventory-io .quick-range-buttons>button{min-width:27px!important;padding:0 3px!important;font-size:10px!important;}
#app-view#app-view.customer-mode #page-inventory-io .quick-range-buttons>button[data-inventory-io-date-range="week"]{min-width:38px!important;}
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-type-filter,#inventory-io-center-filter,#inventory-io-customer-status-filter){
  flex:0 0 86px!important;width:86px!important;min-width:86px!important;max-width:86px!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
  flex:1 1 145px!important;width:auto!important;min-width:120px!important;max-width:180px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group{
  flex:0 0 auto!important;margin-left:auto!important;display:flex!important;gap:3px!important;justify-content:flex-end!important;
}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group>button{min-width:58px!important;padding:0 5px!important;}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-excel{min-width:82px!important;}

/* CUSTOMER planned inbound/outbound registration filters sit immediately before product search. */
#app-view#app-view.customer-mode #page-inbound-plans :is(#inbound-plan-center-filter,#inbound-plan-customer-status-filter,#inbound-plan-customer-registration-filter){
  flex:0 0 112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;
}
#app-view#app-view.customer-mode #page-inbound-plans #inbound-plan-search{flex:0 1 260px!important;width:260px!important;min-width:180px!important;max-width:260px!important;}
#app-view#app-view.customer-mode #page-outbound-plans :is(#outbound-plan-customer-center,#outbound-plan-customer-destination,#outbound-plan-customer-status,#outbound-plan-customer-registration){
  flex:0 0 112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;
}
#app-view#app-view.customer-mode #page-outbound-plans #outbound-plan-search{flex:0 1 260px!important;width:260px!important;min-width:180px!important;max-width:260px!important;}

/* CUSTOMER outbound bulk upload: 1st row center/destination/dispatch, 2nd row format/unit/note. */
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;align-items:end!important;
}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-center{grid-column:auto!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-center){order:1!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-customer-upload-destination-field{order:2!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-dispatch-party-field{order:3!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-format){order:4!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-quantity-unit-field{order:5!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-note-field{order:6!important;grid-column:auto!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-customer-upload-file){order:7!important;grid-column:1/-1!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section :is(#outbound-upload-dispatch-party-field,#outbound-upload-quantity-unit-field,#outbound-upload-note-field){display:flex!important;}

@media(max-width:1180px){
  #app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{height:auto!important;min-height:38px!important;flex-wrap:wrap!important;}
  #app-view#app-view.customer-mode #page-inventory-io .query-action-group{margin-left:0!important;}
}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.110 — CUSTOMER page layout/export polish             */
/* ========================================================================== */
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-upload-internal-only{display:none!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-upload-customer-only:not(.hidden){display:flex!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;align-items:end!important;
}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-center){order:1!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-customer-upload-destination-field{order:2!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-dispatch-party-field{order:3!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-format){order:4!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-quantity-unit-field{order:5!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-note-field{order:6!important;grid-column:auto!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-customer-upload-file){order:7!important;grid-column:1/-1!important;}

#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{
  display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;grid-template-rows:repeat(2,30px)!important;
  column-gap:4px!important;row-gap:4px!important;width:100%!important;height:72px!important;min-height:72px!important;max-height:72px!important;
  padding:3px 4px!important;overflow:visible!important;align-items:center!important;background:var(--cq-bg)!important;border:1px solid var(--cq-border)!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.grid-column-menu-button{
  grid-column:1!important;grid-row:1!important;position:static!important;margin:0!important;align-self:center!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date{
  grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;gap:3px!important;min-width:0!important;width:100%!important;height:30px!important;overflow:visible!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-condition{
  grid-column:1/-1!important;grid-row:2!important;display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;width:100%!important;height:30px!important;overflow:visible!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.customer-query-line{display:flex!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.wms-query-label,
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-condition-label{
  flex:0 0 76px!important;width:76px!important;min-width:76px!important;max-width:76px!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-customer-date-from,#inventory-io-customer-date-to){
  flex:0 0 118px!important;width:118px!important;min-width:118px!important;max-width:118px!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date .quick-range-buttons{display:flex!important;align-items:center!important;gap:2px!important;flex:0 0 auto!important;height:30px!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date .quick-range-buttons>button{height:30px!important;min-height:30px!important;min-width:32px!important;padding:0 5px!important;font-size:11px!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date .quick-range-buttons>button[data-inventory-io-date-range="week"]{min-width:46px!important;}
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-type-filter,#inventory-io-center-filter,#inventory-io-customer-status-filter){
  flex:0 0 112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
  flex:1 1 320px!important;width:auto!important;min-width:260px!important;max-width:520px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group{margin-left:auto!important;flex:0 0 auto!important;}

#app-view#app-view.customer-mode #page-inventory #inventory-customer-product-query{
  flex:0 1 520px!important;width:520px!important;min-width:360px!important;max-width:520px!important;
}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.111 — CUSTOMER export/validation + I/O one-row fix  */
/* ========================================================================== */
/* CUSTOMER inventory I/O is intentionally ONE ROW. Keep all controls compact
   enough to fit a normal 1920px workspace and never reflow into a second row. */
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{
  display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:3px!important;
  width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;max-height:38px!important;
  padding:3px 4px!important;overflow-x:auto!important;overflow-y:hidden!important;box-sizing:border-box!important;
  background:var(--cq-bg)!important;border:1px solid var(--cq-border)!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.grid-column-menu-button{
  position:static!important;order:-10!important;flex:0 0 30px!important;width:30px!important;min-width:30px!important;max-width:30px!important;
  height:30px!important;margin:0!important;align-self:center!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.customer-query-line{display:contents!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date,
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-condition{display:contents!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.wms-query-label,
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-condition-label{
  flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-customer-date-from,#inventory-io-customer-date-to){
  flex:0 0 112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.range-separator{
  flex:0 0 10px!important;width:10px!important;min-width:10px!important;max-width:10px!important;text-align:center!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.quick-range-buttons{
  display:flex!important;align-items:center!important;gap:1px!important;flex:0 0 auto!important;height:30px!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.quick-range-buttons>button{
  height:30px!important;min-height:30px!important;min-width:30px!important;padding:0 4px!important;font-size:11px!important;line-height:1!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.quick-range-buttons>button[data-inventory-io-date-range="week"]{min-width:42px!important;}
#app-view#app-view.customer-mode #page-inventory-io :is(#inventory-io-type-filter,#inventory-io-center-filter,#inventory-io-customer-status-filter){
  flex:0 0 98px!important;width:98px!important;min-width:98px!important;max-width:98px!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
  flex:1 1 190px!important;width:auto!important;min-width:170px!important;max-width:240px!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group{
  margin-left:auto!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:3px!important;height:30px!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group>button{
  height:30px!important;min-height:30px!important;padding:0 8px!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-reset{min-width:64px!important;}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-excel{min-width:92px!important;}

/* CUSTOMER outbound upload validation mirrors the cleaner inbound Excel preview. */
#app-view#app-view.customer-mode #outbound-upload-preview{max-height:min(48vh,430px)!important;overflow:auto!important;}
#app-view#app-view.customer-mode #outbound-upload-preview>h3{margin:0 0 8px!important;}
#app-view#app-view.customer-mode #outbound-upload-preview>.inbound-excel-commit-actions{
  display:flex!important;justify-content:flex-end!important;align-items:center!important;margin-top:8px!important;
}
#app-view#app-view.customer-mode #outbound-upload-preview #outbound-upload-commit{margin:0!important;}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.112 — CUSTOMER I/O hard-fit + upload popup cleanup   */
/* ========================================================================== */
/* BLOCKING contract: CUSTOMER inventory I/O is one real row with no horizontal
   scroll. Grid tracks, not accumulated flex min-widths, own the full width. */
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{
  display:grid!important;
  grid-template-columns:30px 68px 100px 8px 100px 184px 68px 90px 90px 100px 260px minmax(0,1fr) 150px!important;
  grid-template-rows:30px!important;
  align-items:center!important;
  column-gap:3px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:3px 4px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:var(--cq-bg)!important;
  border:1px solid var(--cq-border)!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>*{min-width:0!important;box-sizing:border-box!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.grid-column-menu-button{
  grid-column:1!important;grid-row:1!important;position:static!important;margin:0!important;
  width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.customer-query-line,
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date,
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-condition{display:contents!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.wms-query-label{
  grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-date-from{
  grid-column:3!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.range-separator{
  grid-column:4!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;text-align:center!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-date-to{
  grid-column:5!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.quick-range-buttons{
  grid-column:6!important;grid-row:1!important;display:grid!important;
  grid-template-columns:28px 28px 28px 28px 40px 32px!important;column-gap:1px!important;
  align-items:center!important;width:184px!important;min-width:0!important;max-width:184px!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.quick-range-buttons>button{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;
  padding:0 2px!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-condition-label{
  grid-column:7!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-type-filter{
  grid-column:8!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-center-filter{
  grid-column:9!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-status-filter{
  grid-column:10!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
  grid-column:11!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group{
  grid-column:13!important;grid-row:1!important;display:grid!important;grid-template-columns:58px 89px!important;column-gap:3px!important;
  align-items:center!important;width:150px!important;min-width:0!important;max-width:150px!important;height:30px!important;margin:0!important;
}
#app-view#app-view.customer-mode #page-inventory-io .query-action-group>button{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;padding:0 4px!important;white-space:nowrap!important;
}
@media(max-width:1500px){
  #app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{
    grid-template-columns:28px 62px 92px 8px 92px 168px 62px 82px 82px 90px 150px minmax(0,1fr) 140px!important;
    column-gap:2px!important;
  }
  #app-view#app-view.customer-mode #page-inventory-io .inventory-io-inline-date>.quick-range-buttons{
    grid-template-columns:26px 26px 26px 26px 36px 28px!important;width:168px!important;max-width:168px!important;
  }
  #app-view#app-view.customer-mode #page-inventory-io .query-action-group{
    grid-template-columns:54px 84px!important;column-gap:2px!important;width:140px!important;max-width:140px!important;
  }
}

/* CUSTOMER outbound bulk upload: quantity unit is not a popup choice.  The WMS
   basic sheet carries row units and external profiles carry their configured unit. */
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-quantity-unit-field{display:none!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-format){order:4!important;grid-column:1!important;}
#app-view#app-view.customer-mode #outbound-plan-import-section #outbound-upload-note-field{
  order:5!important;grid-column:2/4!important;display:flex!important;min-width:0!important;
}
#app-view#app-view.customer-mode #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-customer-upload-file){order:6!important;grid-column:1/-1!important;}

/* v0.10.112 specificity seal: override the earlier shared CUSTOMER query tokens. */
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search>.grid-column-menu-button.grid-column-menu-button{
  height:30px!important;min-height:30px!important;max-height:30px!important;padding:0!important;box-sizing:border-box!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-date>.quick-range-buttons.quick-range-buttons>button{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:0 2px!important;box-sizing:border-box!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>#inventory-io-type-filter,
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>#inventory-io-center-filter,
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>#inventory-io-customer-status-filter{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important;flex:none!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>#inventory-io-customer-product-query{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important;flex:none!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>.query-action-group.query-action-group{
  margin:0!important;width:150px!important;min-width:0!important;max-width:150px!important;display:grid!important;grid-template-columns:58px 89px!important;column-gap:3px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>.query-action-group.query-action-group>button{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:0 4px!important;box-sizing:border-box!important;
}
@media(max-width:1500px){
  #app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>.query-action-group.query-action-group{
    width:140px!important;max-width:140px!important;grid-template-columns:54px 84px!important;column-gap:2px!important;
  }
}
/* v0.10.112 final pixel seal: account for internal button gaps and ID min-widths. */
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-date>.quick-range-buttons.quick-range-buttons{
  grid-template-columns:27px 27px 27px 27px 39px 31px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>.query-action-group.query-action-group>#inventory-io-reset{
  width:58px!important;min-width:58px!important;max-width:58px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>.query-action-group.query-action-group>#inventory-io-customer-excel{
  width:89px!important;min-width:89px!important;max-width:89px!important;
}
@media(max-width:1500px){
  #app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-date>.quick-range-buttons.quick-range-buttons{
    grid-template-columns:25px 25px 25px 25px 35px 28px!important;
  }
  #app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>.query-action-group.query-action-group>#inventory-io-reset{
    width:54px!important;min-width:54px!important;max-width:54px!important;
  }
  #app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-condition>.query-action-group.query-action-group>#inventory-io-customer-excel{
    width:84px!important;min-width:84px!important;max-width:84px!important;
  }
}

/* v0.10.113 CUSTOMER I/O final balance: compact product search + exact vertical alignment. */
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .range-separator{
  height:30px!important;min-height:30px!important;max-height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:30px!important;box-sizing:border-box!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search :is(.wms-query-label,input,select,button){
  height:30px!important;min-height:30px!important;max-height:30px!important;line-height:normal!important;box-sizing:border-box!important;vertical-align:middle!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
  width:260px!important;min-width:260px!important;max-width:260px!important;
}
@media(max-width:1500px){
  #app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
    width:150px!important;min-width:150px!important;max-width:150px!important;
  }
}

/* v0.10.114 CUSTOMER I/O pixel alignment: raise quick buttons, widen type filter,
   shorten product search, and add breathing room before 조회조건. */
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{
  grid-template-columns:30px 68px 100px 8px 100px 184px 68px 112px 90px 100px 210px minmax(0,1fr) 150px!important;
}
#app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search .inventory-io-inline-date>.quick-range-buttons.quick-range-buttons{
  position:relative!important;top:-2px!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-condition-label{
  margin-left:4px!important;width:calc(100% - 4px)!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-type-filter{
  width:100%!important;min-width:0!important;max-width:none!important;
}
#app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
  width:210px!important;min-width:210px!important;max-width:210px!important;
}
@media(max-width:1500px){
  #app-view#app-view.customer-mode #page-inventory-io .inventory-overview-search{
    grid-template-columns:28px 62px 92px 8px 92px 168px 62px 106px 82px 90px 135px minmax(0,1fr) 140px!important;
  }
  #app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-condition-label{
    margin-left:3px!important;width:calc(100% - 3px)!important;
  }
  #app-view#app-view.customer-mode #page-inventory-io #inventory-io-customer-product-query{
    width:135px!important;min-width:135px!important;max-width:135px!important;
  }
}

/* v0.10.115 internal outbound bulk upload seal.
   Security stays shared-folder/path based. Keep the compact 2-row, 3-column
   input layout aligned with CUSTOMER while preserving the CUSTOMER v0.10.114 lock. */
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-center){order:1!important;grid-column:1!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section #outbound-upload-dispatch-party-field{order:2!important;grid-column:2!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section #outbound-upload-note-field{order:3!important;grid-column:3!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-format){order:4!important;grid-column:1!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section #outbound-customer-upload-destination-field:not(.hidden){order:5!important;grid-column:2!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section #outbound-upload-date-management-field{order:6!important;grid-column:3!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-import-file){order:7!important;grid-column:1/-1!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-customer-upload-file){display:none!important;}

/* v0.10.115 outbound profile UX: business mappings are the default view.
   Low-level sheet/start/block anchors stay available only as an exception override. */
#page-upload-settings .upload-settings-grid .upload-setting-advanced{display:none!important;}
#page-upload-settings .upload-settings-grid.show-advanced .upload-setting-advanced{display:table-cell!important;}
#page-upload-settings #upload-profile-advanced-toggle[aria-pressed="true"]{font-weight:700;}

/* v0.10.116 internal-only upload refinement.
   Internal outbound bulk upload keeps the shared-folder source and only file-wide values
   in the popup. Destination and date-management are row-level Excel/profile data. */
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-center){order:1!important;grid-column:1!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section #outbound-upload-dispatch-party-field{order:2!important;grid-column:2!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-upload-format){order:3!important;grid-column:3!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section #outbound-upload-note-field{order:4!important;grid-column:4!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section #outbound-customer-upload-destination-field{display:none!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-import-file){order:5!important;grid-column:1/-1!important;}
#app-view#app-view:not(.customer-mode) #outbound-plan-import-section .outbound-import-form-grid>label:has(#outbound-customer-upload-file){display:none!important;}

#page-upload-settings .upload-profile-analysis-result{margin-top:12px!important;overflow:hidden!important;}
#page-upload-settings .upload-profile-analysis-result h3,
#page-upload-settings .upload-profile-analysis-result h4{margin:0 0 8px!important;}
#page-upload-settings .upload-profile-analysis-result h4{margin-top:12px!important;}
#page-upload-settings .upload-profile-analysis-result .table-wrap{overflow:auto!important;max-width:100%!important;}
#page-upload-settings .profile-analysis-table,
#page-upload-settings .profile-analysis-preview-table{width:max-content!important;min-width:100%!important;border-collapse:collapse!important;}
#page-upload-settings .profile-analysis-table th,
#page-upload-settings .profile-analysis-table td,
#page-upload-settings .profile-analysis-preview-table th,
#page-upload-settings .profile-analysis-preview-table td{white-space:nowrap!important;padding:6px 8px!important;}

/* v0.10.117 internal external-order profiles: compact column map + date-context parser. */
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact{
  min-width:1380px!important;
  width:100%!important;
  table-layout:fixed!important;
}
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact th,
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact td{
  min-width:78px!important;
  max-width:none!important;
}
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact th:first-child,
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact td:first-child{
  width:150px!important;min-width:150px!important;max-width:150px!important;
}
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact th:nth-child(2),
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact td:nth-child(2){width:82px!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact th:nth-child(3),
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact td:nth-child(3){width:78px!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact th:nth-child(4),
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact td:nth-child(4),
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact th:nth-child(6),
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact td:nth-child(6){width:104px!important;}
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact th:nth-child(n+5),
#app-view#app-view #page-upload-settings .upload-settings-grid.upload-settings-grid-compact td:nth-child(n+5){white-space:nowrap!important;}

/* v0.10.143 stocktake filter/order final override */
#app-view#app-view .stocktake-search-row-secondary{
  grid-template-columns:200px 200px 160px!important;
  width:564px!important;max-width:564px!important;column-gap:4px!important;
}
#app-view#app-view .stocktake-search-row-secondary>#stocktake-center-filter,
#app-view#app-view .stocktake-search-row-secondary>#stocktake-warehouse-filter,
#app-view#app-view .stocktake-search-row-secondary>#stocktake-status-filter{
  width:100%!important;min-width:0!important;max-width:none!important;
}
#app-view#app-view #page-output-settings .output-common-settings-section{min-height:auto!important}
#app-view#app-view #page-output-settings .output-order-accordion>summary{box-sizing:border-box!important}
@media(max-width:760px){
  #app-view#app-view .stocktake-search-row-secondary{grid-template-columns:1fr 1fr 1fr!important;width:100%!important;max-width:100%!important;}
}

/* v0.10.148 output management information hierarchy + stocktake creation scope.
   Keep these at the end so old pixel locks cannot flatten the new card structure. */
#app-view#app-view #page-output-settings{
  --output-border:#b8ccd9;
  --output-soft:#f5f9fc;
  --output-head:#dceaf3;
}
#app-view#app-view #page-output-settings>.output-settings-card{
  margin:7px 0!important;
  padding:0!important;
  min-height:0!important;
  border:1px solid var(--output-border)!important;
  background:#fff!important;
  overflow:hidden!important;
}
#app-view#app-view #page-output-settings .output-card-title{
  min-height:39px!important;
  margin:0!important;
  padding:5px 7px!important;
  background:var(--output-head)!important;
  border-bottom:1px solid var(--output-border)!important;
  align-items:center!important;
}
#app-view#app-view #page-output-settings .output-card-title h2{
  margin:0!important;
  font-size:12px!important;
  line-height:18px!important;
}
#app-view#app-view #page-output-settings .output-card-title .section-help{
  margin:1px 0 0!important;
  line-height:15px!important;
}
#app-view#app-view #page-output-settings .output-setting-matrix{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  padding:3px 7px 5px!important;
}
#app-view#app-view #page-output-settings .output-setting-row{
  display:grid!important;
  grid-template-columns:160px minmax(260px,420px) minmax(210px,300px)!important;
  column-gap:10px!important;
  align-items:center!important;
  min-height:38px!important;
  padding:3px 0!important;
  border:0!important;
  background:transparent!important;
}
#app-view#app-view #page-output-settings .output-setting-row+.output-setting-row{
  border-top:1px solid #e0e9ef!important;
}
#app-view#app-view #page-output-settings .output-setting-row>strong{
  padding-left:2px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
#app-view#app-view #page-output-settings .output-setting-row>label{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:5px!important;
  align-items:center!important;
  margin:0!important;
  font-size:11px!important;
  font-weight:700!important;
}
#app-view#app-view #page-output-settings .output-setting-row select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:28px!important;
  min-height:28px!important;
}
#app-view#app-view #page-output-settings .output-order-accordion>summary{
  display:flex!important;
  align-items:center!important;
  min-height:39px!important;
  padding:5px 8px!important;
  margin:0!important;
  background:var(--output-head)!important;
  border:0!important;
  cursor:pointer!important;
  list-style:none!important;
  user-select:none!important;
}
#app-view#app-view #page-output-settings .output-order-accordion>summary::-webkit-details-marker{display:none!important;}
#app-view#app-view #page-output-settings .output-order-accordion>summary::before{
  content:'▸'!important;
  width:15px!important;
  flex:0 0 15px!important;
  font-size:11px!important;
  line-height:1!important;
}
#app-view#app-view #page-output-settings .output-order-accordion[open]>summary::before{content:'▾'!important;}
#app-view#app-view #page-output-settings .output-order-accordion[open]>summary{
  border-bottom:1px solid var(--output-border)!important;
}
#app-view#app-view #page-output-settings .output-summary-title{
  font-size:12px!important;
  font-weight:800!important;
}
#app-view#app-view #page-output-settings .output-order-accordion>summary>.badge{
  margin-left:8px!important;
  font-size:10px!important;
  font-weight:700!important;
}
#app-view#app-view #page-output-settings .output-order-accordion>summary::after{
  content:'접기'!important;
  margin-left:auto!important;
  padding-left:10px!important;
  font-size:10px!important;
  font-weight:700!important;
  color:#36576b!important;
}
#app-view#app-view #page-output-settings .output-order-accordion:not([open])>summary::after{content:'펼치기'!important;}
#app-view#app-view #page-output-settings .output-order-accordion-body{
  display:grid!important;
  gap:6px!important;
  padding:6px!important;
  background:#f8fbfd!important;
}
#app-view#app-view #page-output-settings .output-config-subsection{
  margin:0!important;
  padding:0!important;
  border:1px solid #c8d7e1!important;
  background:#fff!important;
  overflow:hidden!important;
}
#app-view#app-view #page-output-settings .output-subsection-heading{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
  min-height:34px!important;
  padding:4px 7px!important;
  background:var(--output-soft)!important;
  border-bottom:1px solid #dbe6ed!important;
}
#app-view#app-view #page-output-settings .output-subsection-heading h3{
  margin:0!important;
  font-size:11px!important;
  line-height:16px!important;
}
#app-view#app-view #page-output-settings .output-subsection-heading p{
  margin:0!important;
  font-size:10px!important;
  line-height:14px!important;
  color:#587080!important;
}
#app-view#app-view #page-output-settings .output-config-subsection>.output-setting-row{
  padding:4px 7px!important;
}
#app-view#app-view #page-output-settings .output-editor-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:38px!important;
  padding:4px 7px!important;
  background:#fff!important;
}
#app-view#app-view #page-output-settings .output-editor-toolbar select{
  width:220px!important;
  max-width:220px!important;
  min-width:140px!important;
  height:28px!important;
  min-height:28px!important;
}
#app-view#app-view #page-output-settings .output-editor-toolbar .badge{margin-left:2px!important;}
#app-view#app-view #page-output-settings .output-editor-empty>.empty,
#app-view#app-view #page-output-settings .output-config-subsection .empty{
  margin:0!important;
  padding:12px 8px!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-top:1px solid #e1e9ee!important;
  background:#fbfdfe!important;
  color:#657c8a!important;
}
#app-view#app-view #page-output-settings .output-subsection-heading .section-title-actions{
  display:flex!important;
  gap:4px!important;
  align-items:center!important;
  margin-left:auto!important;
}
#app-view#app-view #page-output-settings button{min-height:27px!important;}

#app-view#app-view #page-stocktake .stocktake-create-scope-block{
  margin-bottom:6px!important;
}
#app-view#app-view #page-stocktake .stocktake-create-scope{
  display:grid!important;
  grid-template-columns:minmax(520px,1.25fr) minmax(390px,.9fr)!important;
  gap:5px!important;
  width:100%!important;
  max-width:none!important;
  padding:5px!important;
  border:0!important;
  background:#f7fafc!important;
}
#app-view#app-view #page-stocktake .stocktake-scope-field{
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  gap:5px!important;
  align-items:center!important;
  min-height:40px!important;
  padding:4px 5px!important;
  border:1px solid #c8d8e2!important;
  background:#fff!important;
}
#app-view#app-view #page-stocktake .stocktake-scope-field>span:first-child{
  font-size:11px!important;
  font-weight:800!important;
  color:#29485c!important;
}
#app-view#app-view #page-stocktake .stocktake-scope-controls{
  display:grid!important;
  gap:4px!important;
  align-items:center!important;
  min-width:0!important;
}
#app-view#app-view #page-stocktake .stocktake-customer-scope .stocktake-scope-controls{
  grid-template-columns:minmax(110px,.75fr) minmax(140px,1fr) auto auto!important;
}
#app-view#app-view #page-stocktake .stocktake-product-scope .stocktake-scope-controls{
  grid-template-columns:minmax(210px,1fr) auto!important;
}
#app-view#app-view #page-stocktake .stocktake-status-scope .stocktake-scope-controls{
  grid-template-columns:minmax(180px,240px)!important;
}
#app-view#app-view #page-stocktake .stocktake-location-scope .stocktake-scope-controls{
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr)!important;
}
#app-view#app-view #page-stocktake .stocktake-create-scope input,
#app-view#app-view #page-stocktake .stocktake-create-scope select,
#app-view#app-view #page-stocktake .stocktake-create-scope button{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  height:28px!important;
  min-height:28px!important;
}
#app-view#app-view #page-stocktake .stocktake-create-scope button{
  width:auto!important;
  white-space:nowrap!important;
}
#app-view#app-view #page-stocktake #stocktake-customer-all.selected{
  font-weight:800!important;
  box-shadow:inset 0 0 0 1px currentColor!important;
}
@media(max-width:1200px){
  #app-view#app-view #page-output-settings .output-setting-row{grid-template-columns:140px minmax(220px,1fr) minmax(190px,240px)!important;}
  #app-view#app-view #page-stocktake .stocktake-create-scope{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  #app-view#app-view #page-output-settings .output-setting-row{grid-template-columns:1fr!important;row-gap:4px!important;}
  #app-view#app-view #page-output-settings .output-setting-row>label{grid-template-columns:72px 1fr!important;}
  #app-view#app-view #page-output-settings .output-subsection-heading{align-items:flex-start!important;flex-direction:column!important;}
  #app-view#app-view #page-output-settings .output-editor-toolbar{align-items:stretch!important;flex-direction:column!important;}
  #app-view#app-view #page-output-settings .output-editor-toolbar select{width:100%!important;max-width:none!important;}
  #app-view#app-view #page-stocktake .stocktake-scope-field{grid-template-columns:1fr!important;}
  #app-view#app-view #page-stocktake .stocktake-customer-scope .stocktake-scope-controls,
  #app-view#app-view #page-stocktake .stocktake-product-scope .stocktake-scope-controls,
  #app-view#app-view #page-stocktake .stocktake-location-scope .stocktake-scope-controls{grid-template-columns:1fr!important;}
}


/* v0.10.150 accumulated output-management cleanup. */
#app-view#app-view #page-output-settings{overflow:visible!important;max-height:none!important;}
#app-view#app-view #page-output-settings .output-common-settings-section .output-setting-matrix{padding-top:1px!important;padding-bottom:2px!important;}
#app-view#app-view #page-output-settings .output-common-settings-section .output-setting-row{min-height:32px!important;padding-top:1px!important;padding-bottom:1px!important;}
#app-view#app-view #page-output-settings .output-order-accordion:not([open])>.output-order-accordion-body{display:none!important;}
#app-view#app-view #page-output-settings .output-order-accordion[open]{overflow:visible!important;height:auto!important;max-height:none!important;}
#app-view#app-view #page-output-settings .output-order-accordion[open]>.output-order-accordion-body{display:grid!important;height:auto!important;max-height:none!important;}
#app-view#app-view #page-output-settings [data-output-direction-wrap].hidden{display:none!important;}
#app-view#app-view #page-output-settings .output-setting-row.direction-hidden{grid-template-columns:160px minmax(260px,420px)!important;}
#app-view#app-view #page-output-settings #stocktake-product-order-list .table-wrap,
#app-view#app-view #page-output-settings #output-custom-order-list .table-wrap{max-height:460px!important;overflow:auto!important;}


/* v0.10.161 output-management actual collapse geometry hotfix.
   Older repeated locks still forced the first card to min-height:156px and the
   page flex layout could leave closed details as stretched flex items. */
#app-view#app-view #page-output-settings.active{
  display:block!important;
  height:100%!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
#app-view#app-view #page-output-settings>section.output-common-settings-section:first-of-type{
  display:block!important;
  flex:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
}
#app-view#app-view #page-output-settings>.output-settings-card{
  display:block!important;
  flex:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
#app-view#app-view #page-output-settings .output-common-settings-section .output-card-title{
  margin:0!important;
}
#app-view#app-view #page-output-settings .output-common-settings-section .output-setting-matrix{
  margin:0!important;
  padding:1px 7px 2px!important;
}
#app-view#app-view #page-output-settings .output-order-accordion:not([open]){
  display:block!important;
  flex:none!important;
  padding:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
#app-view#app-view #page-output-settings .output-order-accordion:not([open])>.output-order-accordion-body{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}
#app-view#app-view #page-output-settings .output-order-accordion[open]{
  display:block!important;
  flex:none!important;
  padding:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
#app-view#app-view #page-output-settings .output-order-accordion[open]>.output-order-accordion-body{
  display:grid!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.161 — internal inventory I/O two-row search recovery   */
/* ========================================================================== */
/* INTERNAL ONLY. Restore the common two-row query hierarchy without touching
   the separately locked CUSTOMER one-row layout. Row 1 owns the date range;
   row 2 owns customer/product and operational filters. */
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search{
  display:grid!important;
  grid-template-columns:30px 70px 125px 10px 125px 210px minmax(220px,1fr) 116px 106px 106px 72px!important;
  grid-template-rows:repeat(2,30px)!important;
  grid-auto-flow:row!important;
  column-gap:4px!important;
  row-gap:4px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  padding:2px 4px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search>*{min-width:0!important;box-sizing:border-box!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search>.grid-column-menu-button{
  grid-column:1!important;grid-row:2!important;position:static!important;margin:0!important;
  width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search>.task-lookup:first-of-type{
  grid-column:2 / 6!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search>.task-lookup:nth-of-type(2){
  grid-column:6 / 8!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date,
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-condition{display:contents!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date>.wms-query-label.inventory-io-internal-only{
  grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-date-from{
  grid-column:3!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date>.range-separator.inventory-io-internal-only{
  grid-column:4!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;text-align:center!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-date-to{
  grid-column:5!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date>.quick-range-buttons.inventory-io-internal-only{
  grid-column:6 / 8!important;grid-row:1!important;display:grid!important;
  grid-template-columns:34px 34px 34px 34px 48px 38px!important;column-gap:2px!important;
  justify-content:start!important;align-items:center!important;width:auto!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date>.quick-range-buttons.inventory-io-internal-only>button{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;padding:0 4px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-type-filter{
  grid-column:8!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-center-filter{
  grid-column:9!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-warehouse-filter{
  grid-column:10!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-condition>.query-action-group{
  grid-column:11!important;grid-row:2!important;margin:0!important;width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:3px!important;white-space:nowrap!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-condition>.query-action-group>button{
  width:100%!important;min-width:0!important;max-width:none!important;height:30px!important;min-height:30px!important;padding:0 6px!important;
}
@media(max-width:1450px){
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search{
    grid-template-columns:30px 58px 116px 8px 116px 195px minmax(190px,1fr) 104px 94px 94px 66px!important;
    column-gap:3px!important;
  }
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date>.quick-range-buttons.inventory-io-internal-only{
    grid-template-columns:31px 31px 31px 31px 44px 34px!important;column-gap:1px!important;
  }
}


/* FCMS UI LOCK v0.10.161 — INTERNAL inventory I/O confirmation-date cleanup.
   Role-specific controls are hard-hidden so the CUSTOMER quick-range group can
   never leak into the internal two-row grid. */
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-customer-only{display:none!important;}
#app-view#app-view.customer-mode #page-inventory-io .inventory-io-internal-only{display:none!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search{
  grid-template-columns:30px 92px 112px 8px 112px 198px minmax(160px,1fr) 96px 86px 86px 62px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-inline-date>.wms-query-label.inventory-io-internal-only{
  grid-column:2!important;white-space:nowrap!important;font-size:12px!important;
}
@media(max-width:1450px){
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-overview-search{
    grid-template-columns:30px 86px 108px 8px 108px 188px minmax(150px,1fr) 92px 82px 82px 60px!important;
    column-gap:3px!important;
  }
}


/* ========================================================================== */
/* FCMS UI LOCK v0.10.161 — INTERNAL inventory I/O final two-row hard lock   */
/* ========================================================================== */
/* Loaded last on purpose: historical inventory-overview locks must not flatten
   or hide the new internal I/O condition row. CUSTOMER remains separately locked. */
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-search-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:30px 30px!important;
  grid-auto-flow:row!important;
  row-gap:4px!important;
  column-gap:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:70px!important;
  min-height:70px!important;
  max-height:70px!important;
  padding:3px 4px!important;
  margin:0 0 8px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row,
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row{
  display:flex!important;
  align-items:center!important;
  flex-flow:row nowrap!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  overflow:visible!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row{grid-row:1!important;grid-column:1!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row{grid-row:2!important;grid-column:1!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-customer-only{display:none!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-internal-only:not(.hidden){visibility:visible!important;opacity:1!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.wms-query-label.inventory-io-internal-only{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex:0 0 98px!important;width:98px!important;min-width:98px!important;max-width:98px!important;
  height:30px!important;white-space:nowrap!important;word-break:keep-all!important;overflow:visible!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io :is(#inventory-io-date-from,#inventory-io-date-to){
  display:block!important;flex:0 0 128px!important;width:128px!important;min-width:128px!important;max-width:128px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.range-separator.inventory-io-internal-only{
  display:block!important;flex:0 0 12px!important;width:12px!important;min-width:12px!important;max-width:12px!important;text-align:center!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.quick-range-buttons.inventory-io-internal-only{
  display:flex!important;align-items:center!important;gap:2px!important;flex:0 0 auto!important;width:auto!important;height:30px!important;margin-left:2px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.quick-range-buttons.inventory-io-internal-only>button{
  display:block!important;height:30px!important;min-height:30px!important;min-width:36px!important;padding:0 7px!important;white-space:nowrap!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.quick-range-buttons.inventory-io-internal-only>button[data-inventory-io-date-range="week"]{min-width:48px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-lookup-customer{
  display:grid!important;grid-template-columns:108px 108px 96px!important;gap:4px!important;
  flex:0 0 320px!important;width:320px!important;min-width:320px!important;max-width:320px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-lookup-product{
  display:grid!important;grid-template-columns:minmax(210px,1fr) 96px!important;gap:4px!important;
  flex:1 1 360px!important;width:auto!important;min-width:310px!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row :is(input,select,button){height:30px!important;min-height:30px!important;box-sizing:border-box!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-type-filter{display:block!important;flex:0 0 106px!important;width:106px!important;min-width:106px!important;max-width:106px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-center-filter{display:block!important;flex:0 0 92px!important;width:92px!important;min-width:92px!important;max-width:92px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-warehouse-filter{display:block!important;flex:0 0 92px!important;width:92px!important;min-width:92px!important;max-width:92px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.query-action-group{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:3px!important;
  flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important;height:30px!important;margin-left:auto!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.query-action-group>#inventory-io-reset{
  display:block!important;width:72px!important;min-width:72px!important;max-width:72px!important;
}
@media(max-width:1500px) and (min-width:901px){
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-lookup-customer{grid-template-columns:96px 96px 88px!important;flex-basis:288px!important;width:288px!important;min-width:288px!important;max-width:288px!important;}
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-lookup-product{min-width:260px!important;}
  #app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-type-filter{flex-basis:100px!important;width:100px!important;min-width:100px!important;max-width:100px!important;}
  #app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-center-filter,
  #app-view#app-view:not(.customer-mode) #page-inventory-io #inventory-io-warehouse-filter{flex-basis:86px!important;width:86px!important;min-width:86px!important;max-width:86px!important;}
}

/* ========================================================================== */
/* FCMS UI LOCK v0.10.161 — INTERNAL inventory I/O final requested geometry   */
/* ========================================================================== */
/* INTERNAL row 1: column settings / confirmation date / I-O / center / warehouse.
   INTERNAL row 2: indent by the column-settings footprint / customer / product /
   reset + Excel. CUSTOMER keeps its established dedicated layout. */
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-search-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:30px 30px!important;
  row-gap:4px!important;
  width:100%!important;
  min-width:0!important;
  height:70px!important;
  min-height:70px!important;
  max-height:70px!important;
  padding:3px 4px!important;
  margin:0 0 8px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row,
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row{
  display:flex!important;
  align-items:center!important;
  flex-flow:row nowrap!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row{grid-row:1!important;grid-column:1!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row{
  grid-row:2!important;grid-column:1!important;
  padding-left:30px!important; /* 26px column button + 4px trailing gap */
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.grid-column-menu-button.inventory-io-column-leading{
  display:block!important;
  flex:0 0 26px!important;
  width:26px!important;min-width:26px!important;max-width:26px!important;
  height:26px!important;min-height:26px!important;max-height:26px!important;
  margin:0 4px 0 0!important;
  align-self:center!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.wms-query-label.inventory-io-internal-only{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex:0 0 98px!important;width:98px!important;min-width:98px!important;max-width:98px!important;
  height:30px!important;white-space:nowrap!important;word-break:keep-all!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io :is(#inventory-io-date-from,#inventory-io-date-to){
  display:block!important;flex:0 0 128px!important;width:128px!important;min-width:128px!important;max-width:128px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.range-separator.inventory-io-internal-only{
  display:block!important;flex:0 0 12px!important;width:12px!important;min-width:12px!important;max-width:12px!important;text-align:center!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.quick-range-buttons.inventory-io-internal-only{
  display:flex!important;align-items:center!important;gap:2px!important;flex:0 0 auto!important;width:auto!important;height:30px!important;margin:0 4px 0 2px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.quick-range-buttons.inventory-io-internal-only>button{
  display:block!important;height:30px!important;min-height:30px!important;min-width:36px!important;padding:0 7px!important;white-space:nowrap!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>.quick-range-buttons.inventory-io-internal-only>button[data-inventory-io-date-range="week"]{min-width:48px!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>#inventory-io-type-filter{
  display:block!important;flex:0 0 108px!important;width:108px!important;min-width:108px!important;max-width:108px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>#inventory-io-center-filter,
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>#inventory-io-warehouse-filter{
  display:block!important;flex:0 0 96px!important;width:96px!important;min-width:96px!important;max-width:96px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.inventory-io-lookup-customer{
  display:grid!important;grid-template-columns:minmax(92px,.9fr) minmax(112px,1.1fr) 96px!important;gap:4px!important;
  flex:0.82 1 38%!important;width:auto!important;min-width:315px!important;max-width:520px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.inventory-io-lookup-product{
  display:grid!important;grid-template-columns:minmax(280px,1fr) 96px!important;gap:4px!important;
  flex:1.18 1 62%!important;width:auto!important;min-width:390px!important;max-width:none!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row :is(input,select,button){height:30px!important;min-height:30px!important;box-sizing:border-box!important;}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.query-action-group{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;
  flex:0 0 168px!important;width:168px!important;min-width:168px!important;max-width:168px!important;height:30px!important;margin-left:auto!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.query-action-group>#inventory-io-reset{
  display:block!important;width:72px!important;min-width:72px!important;max-width:72px!important;height:30px!important;
}
#app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.query-action-group>#inventory-io-excel-download{
  display:block!important;width:92px!important;min-width:92px!important;max-width:92px!important;height:30px!important;
}
@media(max-width:1450px) and (min-width:901px){
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.inventory-io-lookup-customer{
    min-width:290px!important;max-width:430px!important;grid-template-columns:minmax(82px,.9fr) minmax(100px,1.1fr) 88px!important;
  }
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-condition-row>.inventory-io-lookup-product{
    min-width:330px!important;grid-template-columns:minmax(220px,1fr) 88px!important;
  }
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>#inventory-io-type-filter{flex-basis:102px!important;width:102px!important;min-width:102px!important;max-width:102px!important;}
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>#inventory-io-center-filter,
  #app-view#app-view:not(.customer-mode) #page-inventory-io .inventory-io-date-row>#inventory-io-warehouse-filter{flex-basis:88px!important;width:88px!important;min-width:88px!important;max-width:88px!important;}
}
