:root {
  --erp-blue: #1769e8;
  --erp-blue-deep: #1156c6;
  --erp-blue-soft: #eaf2ff;
  --erp-navy: #1f2937;
  --erp-teal: #168b88;
  --erp-teal-soft: #e7f5f4;
  --erp-header-text: #f8fbff;
  --erp-border: #dfe5ec;
  --erp-rail-width: 68px;
  --erp-topbar-height: 52px;
}

body.erp-shell-auth #container { box-sizing: border-box; width: 100%; max-width: 100%; padding-left: var(--erp-rail-width); }
#header.erp-site-header { position: sticky; top: 0; z-index: 900; display: block; padding: 0; background: var(--body-bg); color: var(--body-fg); box-shadow: 0 1px 0 var(--erp-border); }
.erp-topbar { min-height: var(--erp-topbar-height); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 24px; }
#branding { min-width: 190px; }
#site-name { margin: 0; font-size: 17px; font-weight: 700; letter-spacing: .01em; }
#site-name a:link, #site-name a:visited { color: var(--erp-navy); }
.erp-brand-mark { display: inline-flex; align-items: center; gap: 9px; }
.erp-brand-mark small { padding: 2px 6px; border-radius: 3px; background: var(--erp-blue-soft); color: var(--erp-blue); font-size: 10px; font-weight: 700; }
#user-tools { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--body-quiet-color); font-size: 12px; text-transform: none; letter-spacing: 0; }
#user-tools a, #logout-form button { border: 0; color: var(--body-quiet-color); }
#user-tools a:hover, #logout-form button:hover { color: var(--erp-blue); }
#user-tools strong { color: var(--body-fg); }
.erp-header-action { display: inline-flex; align-items: center; gap: 6px; }
.erp-header-action i { font-size: 15px; }

.erp-secondary-nav { min-height: 41px; display: flex; flex-wrap: wrap; align-items: stretch; align-content: stretch; gap: 0 2px; padding: 0 22px; overflow: visible; background: var(--body-bg); border-top: 1px solid var(--erp-border); }
.erp-secondary-nav strong { min-height: 41px; display: inline-flex; flex: 0 0 auto; align-self: flex-start; align-items: center; margin-right: 9px; color: var(--erp-navy); font-size: 14px; white-space: nowrap; }
.erp-secondary-nav-items { min-width: 0; display: flex; flex: 1 1 0; flex-wrap: wrap; align-content: stretch; gap: 0 2px; }
#header .erp-secondary-nav a, .erp-secondary-nav .erp-text-button { min-height: 41px; display: inline-flex; flex: 0 0 auto; align-items: center; padding: 0 13px; border: 0; background: transparent; color: var(--body-quiet-color); font-size: 13px; font-weight: 500; white-space: nowrap; text-decoration: none; cursor: pointer; }
#header .erp-secondary-nav a:hover, #header .erp-secondary-nav a:focus, .erp-secondary-nav .erp-text-button:hover { color: var(--erp-blue); background: var(--erp-blue-soft); text-decoration: none; }
#header .erp-secondary-nav a.active { color: var(--erp-blue); background: var(--erp-blue-soft); box-shadow: inset 0 -2px 0 var(--erp-blue); }

.erp-module-rail { position: fixed; inset: 0 auto 0 0; z-index: 1100; width: var(--erp-rail-width); display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; background: linear-gradient(180deg, #1976ef, #1762d4); box-shadow: 1px 0 5px rgba(15, 62, 133, .18); }
.erp-module-rail a, .erp-module-rail button { flex: 0 0 57px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; box-sizing: border-box; width: 100%; padding: 5px 2px; border: 0; border-left: 3px solid transparent; background: transparent; color: rgba(255,255,255,.86); font-family: inherit; font-size: 11px; text-decoration: none; cursor: pointer; }
.erp-module-rail a i, .erp-module-rail button i { font-size: 19px; line-height: 1; }
.erp-module-rail a:hover, .erp-module-rail a:focus, .erp-module-rail button:hover, .erp-module-rail button:focus, .erp-module-rail .active { border-left-color: #fff; background: rgba(0, 34, 101, .24); color: #fff; text-decoration: none; }
.erp-module-rail button:disabled { color: rgba(255,255,255,.43); cursor: not-allowed; }
.erp-module-rail button:disabled:hover { border-left-color: transparent; background: transparent; }
.erp-module-rail .erp-rail-brand { flex-basis: var(--erp-topbar-height); border-left-color: transparent; background: rgba(0, 38, 112, .22); }
.erp-module-rail .erp-rail-brand i { font-size: 24px; }

.erp-menu-backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(20, 28, 40, .48); backdrop-filter: blur(1px); }
.erp-settings-panel { position: fixed; top: var(--erp-topbar-height); bottom: 0; left: var(--erp-rail-width); z-index: 1050; width: min(920px, calc(100vw - var(--erp-rail-width))); overflow: hidden; background: var(--body-bg); box-shadow: 12px 0 35px rgba(15, 35, 70, .22); transform: translateX(-104%); visibility: hidden; transition: transform .2s ease, visibility .2s; }
.erp-settings-panel.open { transform: translateX(0); visibility: visible; }
.erp-settings-heading { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 20px; border-bottom: 1px solid var(--erp-border); }
.erp-settings-heading > div { display: flex; align-items: baseline; gap: 11px; }
.erp-settings-heading span { color: var(--body-quiet-color); font-size: 12px; }
.erp-settings-heading strong { color: var(--erp-navy); font-size: 19px; }
.erp-icon-button { width: 34px; height: 34px; border: 0; border-radius: 5px; background: var(--darkened-bg); color: var(--body-fg); cursor: pointer; }
.erp-icon-button:hover { background: var(--erp-blue-soft); color: var(--erp-blue); }
.erp-settings-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); height: calc(100% - 65px); }
.erp-favorite-menu { padding: 20px 14px; overflow-y: auto; background: var(--darkened-bg); border-right: 1px solid var(--erp-border); }
.erp-favorite-menu h2, .erp-settings-groups h2 { margin: 0 0 10px; color: var(--erp-navy); font-size: 14px; }
.erp-favorite-menu a, .erp-settings-groups a, .erp-settings-groups .erp-planned { display: flex; align-items: center; gap: 10px; min-height: 38px; box-sizing: border-box; padding: 8px 10px; border-radius: 5px; color: var(--body-fg); font-size: 13px; text-decoration: none; }
.erp-favorite-menu a i, .erp-settings-groups a i, .erp-settings-groups .erp-planned i { flex: 0 0 18px; color: var(--body-quiet-color); font-size: 16px; text-align: center; }
.erp-favorite-menu a:hover, .erp-favorite-menu a:focus, .erp-settings-groups a:hover, .erp-settings-groups a:focus { background: var(--erp-blue-soft); color: var(--erp-blue); text-decoration: none; }
.erp-favorite-menu a:hover i, .erp-settings-groups a:hover i { color: var(--erp-blue); }
.erp-settings-groups { display: grid; grid-template-columns: repeat(2, minmax(250px, 1fr)); align-content: start; gap: 26px 30px; padding: 24px 28px 40px; overflow-y: auto; }
.erp-settings-groups section { min-width: 0; }
.erp-settings-groups .erp-planned { color: var(--body-quiet-color); cursor: not-allowed; }
.erp-settings-groups .erp-planned span { display: flex; align-items: center; gap: 7px; }
.erp-settings-groups small { padding: 1px 5px; border-radius: 8px; background: var(--darkened-bg); color: var(--body-quiet-color); font-size: 9px; }
body.erp-settings-open { overflow: hidden; }

div.breadcrumbs { background: var(--darkened-bg); color: var(--body-quiet-color); border-bottom: 1px solid var(--erp-border); }
div.breadcrumbs a { color: var(--link-fg); }
.module, #changelist-filter { border-radius: 5px; overflow: hidden; }
#changelist .actions { border-radius: 5px; }
#changelist table thead th { background: var(--darkened-bg); }
.button, input[type=submit], input[type=button], .submit-row input, a.button { border-radius: 4px; }
.erp-danger-value { color: var(--error-fg); }
.erp-list-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 18px; }
.erp-list-heading h1 { margin: 0 0 5px; }
.erp-list-heading p, .erp-form-intro p { margin: 0; color: var(--body-quiet-color); font-size: 13px; }
.erp-view-switch { display: inline-flex; padding: 3px; border: 1px solid var(--erp-border); border-radius: 5px; background: var(--darkened-bg); }
.erp-view-switch a { padding: 6px 12px; border-radius: 3px; color: var(--body-quiet-color); text-decoration: none; }
.erp-view-switch a.active { background: var(--body-bg); color: var(--erp-blue); box-shadow: 0 1px 3px rgba(15, 35, 70, .12); }
.erp-form-intro { margin: 0 0 18px; padding: 18px 20px; border-left: 4px solid var(--erp-blue); background: var(--erp-blue-soft); }
.erp-form-intro h1 { margin: 0 0 6px; color: var(--erp-navy); }
.erp-style-create { max-width: 920px; }
.erp-import-page { max-width: 920px; }
.erp-import-guide { margin-bottom: 18px; padding: 18px 22px; }
.erp-import-guide h2 { margin: 0 0 10px; }
.erp-import-guide ol { margin: 0 0 12px 20px; }
.erp-import-guide li { margin: 7px 0; }
.erp-style-create textarea { width: min(620px, 100%); }
.erp-product-search { margin: 0 0 18px; padding: 16px; border: 1px solid var(--erp-border); border-radius: 6px; background: var(--body-bg); }
.erp-quick-search { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 10px; margin-bottom: 14px; }
.erp-quick-search > label { color: var(--erp-navy); font-weight: 650; }
.erp-quick-search > div { display: flex; align-items: center; gap: 9px; }
.erp-quick-search i { margin-right: -34px; z-index: 1; color: var(--body-quiet-color); }
.erp-quick-search input { flex: 1; min-width: 120px; height: 36px; padding-left: 34px; }
.erp-quick-search .button { min-width: 68px; }
.erp-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 11px 14px; }
.erp-filter-grid label { display: grid; gap: 5px; color: var(--body-quiet-color); font-size: 12px; }
.erp-filter-grid select, .erp-filter-grid input { box-sizing: border-box; width: 100%; min-height: 34px; }
.erp-advanced-search { margin-top: 12px; border-top: 1px dashed var(--erp-border); }
.erp-advanced-search summary { display: inline-flex; align-items: center; gap: 6px; padding: 11px 0 5px; color: var(--erp-blue); cursor: pointer; }
.erp-advanced-search .erp-filter-grid { margin-top: 8px; }
body.app-catalog.change-list #changelist-filter { display: none; }
body.app-catalog.change-list #changelist .changelist-form-container { width: 100%; }
body.app-catalog.change-list .object-tools a { background-color: var(--erp-blue); }
body.app-catalog.change-list .object-tools a:hover { background-color: var(--erp-blue-deep); }

@media (max-width: 800px) {
  body.erp-shell-auth #container { padding-left: 0; padding-bottom: 64px; }
  .erp-topbar { min-height: 50px; padding: 0 13px; }
  #site-name { font-size: 15px; }
  .erp-brand-mark small, #user-tools .erp-welcome, .erp-header-action span { display: none; }
  #user-tools { gap: 8px; }
  .erp-secondary-nav { padding: 0 10px; }
  .erp-module-rail { inset: auto 0 0 0; width: auto; height: 64px; flex-direction: row; overflow-x: auto; overflow-y: hidden; }
  .erp-module-rail a, .erp-module-rail button { flex: 0 0 64px; height: 64px; border-bottom: 3px solid transparent; border-left: 0; }
  .erp-module-rail a:hover, .erp-module-rail a:focus, .erp-module-rail button:hover, .erp-module-rail button:focus, .erp-module-rail .active { border-bottom-color: #fff; border-left-color: transparent; }
  .erp-module-rail .erp-rail-brand { display: none; }
  .erp-settings-panel { top: 50px; bottom: 64px; left: 0; width: 100vw; }
  .erp-settings-layout { grid-template-columns: 1fr; }
  .erp-favorite-menu { display: none; }
  .erp-settings-groups { grid-template-columns: 1fr; padding: 20px; }
  .erp-list-heading { align-items: flex-start; flex-direction: column; }
  .erp-quick-search { grid-template-columns: 1fr; }
  .erp-filter-grid { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
}

@media (max-width: 520px) {
  .erp-filter-grid { grid-template-columns: 1fr; }
}

.barcode-stock-page { max-width: 1180px; }
.barcode-stock-page section { margin-bottom: 16px; border: 1px solid var(--erp-border); border-radius: 7px; background: var(--body-bg); }
.barcode-setup-card { padding: 18px 20px; }
.barcode-setup-card h1 { margin: 0 0 6px; color: var(--erp-navy); }
.barcode-setup-card p, .barcode-list-heading p { margin: 0; color: var(--body-quiet-color); }
.barcode-settings { display: grid; grid-template-columns: 1fr 1fr 1fr 2fr; gap: 14px; margin-top: 18px; }
.barcode-picking-settings { grid-template-columns: 1fr 1fr 2fr; }
.transfer-dispatch-settings { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.transfer-dispatch-settings label:last-child { grid-column: span 2; }
.barcode-settings label { display: grid; gap: 6px; color: var(--body-quiet-color); font-size: 12px; }
.barcode-settings label[hidden] { display: none; }
.barcode-settings select, .barcode-settings input { box-sizing: border-box; width: 100%; min-height: 38px; }
.barcode-scan-card { padding: 20px; border-color: #b9d1f7 !important; background: var(--erp-blue-soft) !important; }
.barcode-scan-card > label { display: block; margin-bottom: 9px; color: var(--erp-navy); font-size: 15px; font-weight: 700; }
.barcode-input-row { display: flex; align-items: center; gap: 10px; }
.barcode-input-row i { margin-right: -43px; z-index: 1; color: var(--erp-blue); font-size: 22px; }
.barcode-input-row input { flex: 1; box-sizing: border-box; min-width: 0; height: 48px; padding-left: 44px; border: 2px solid #7ba9ef; font-size: 16px; }
.barcode-input-row .button { min-width: 80px; height: 48px; }
.barcode-feedback { min-height: 20px; margin: 9px 0 0; color: var(--body-quiet-color); }
.barcode-feedback.success { color: #16835d; }
.barcode-feedback.error { color: var(--error-fg); font-weight: 650; }
.barcode-list-card { overflow: hidden; }
.barcode-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border-bottom: 1px solid var(--erp-border); }
.barcode-list-heading h2 { margin: 0 0 4px; font-size: 16px; }
.barcode-table-wrap { overflow-x: auto; }
.barcode-table { width: 100%; border-collapse: collapse; }
.barcode-table th, .barcode-table td { padding: 11px 13px; border-bottom: 1px solid var(--erp-border); text-align: left; vertical-align: middle; }
.barcode-table th { background: var(--darkened-bg); color: var(--body-quiet-color); font-size: 12px; }
.barcode-table td > span { display: block; margin-top: 4px; color: var(--body-quiet-color); font-size: 11px; }
.barcode-product-cell { min-width: 230px; display: flex; align-items: center; gap: 10px; }
.barcode-product-cell img, .barcode-no-image { width: 44px; height: 55px; flex: 0 0 44px; border-radius: 4px; object-fit: cover; }
.barcode-no-image { display: grid; place-items: center; background: var(--darkened-bg); color: var(--body-quiet-color); }
.barcode-product-cell span { display: block; margin-top: 4px; color: var(--body-quiet-color); font-size: 11px; }
.barcode-quantity { display: inline-flex; align-items: center; }
.barcode-quantity button { width: 30px; height: 32px; border: 1px solid var(--erp-border); background: var(--darkened-bg); cursor: pointer; }
.barcode-quantity input { box-sizing: border-box; width: 62px; height: 32px; border-right: 0; border-left: 0; border-radius: 0; text-align: center; }
.barcode-remove { border: 0; background: transparent; color: var(--error-fg); cursor: pointer; }
.barcode-empty-row td { padding: 45px; color: var(--body-quiet-color); text-align: center; }
.barcode-submit-bar { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 10px; padding: 14px 0; background: var(--body-bg); }
.barcode-submit-bar .button { min-width: 110px; text-align: center; }
.putaway-settings { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.putaway-settings label:last-child { grid-column: span 2; }
.barcode-location-tip { margin: 12px 0 0; color: var(--body-quiet-color); font-size: 12px; }
.location-scan-card { border-color:#bed7cd !important; background:#eef9f4 !important; }
.location-scan-card .barcode-input-row input { border-color:#6dba9b; }
.stocktake-settings { grid-template-columns: minmax(180px, 1fr) minmax(280px, 3fr); }
.stocktake-gain { color: #16835d; }
.stocktake-loss { color: var(--error-fg); }
.stocktake-even { color: var(--body-quiet-color); }
.stock-alert-page { max-width: 1380px; }
.stock-alert-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.stock-alert-heading h1 { margin: 0 0 5px; color: var(--erp-navy); }
.stock-alert-heading p { margin: 0; color: var(--body-quiet-color); }
.stock-alert-cards { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 12px; margin-bottom: 16px; }
.alert-card { display: flex; align-items: center; justify-content: space-between; padding: 15px 17px; border: 1px solid var(--erp-border); border-radius: 7px; background: var(--body-bg); color: var(--body-fg) !important; }
.alert-card strong { font-size: 24px; color: var(--erp-blue); }
.alert-card.danger strong { color: #c93434; }
.alert-card.warning strong { color: #c57a08; }
.alert-card.over strong { color: #7656b5; }
.alert-card.active { border-width: 2px; border-color: var(--erp-blue); background: var(--erp-blue-soft); }
.stock-alert-filter { display: flex; align-items: end; gap: 12px; margin-bottom: 16px; padding: 14px; border: 1px solid var(--erp-border); border-radius: 7px; background: var(--body-bg); }
.stock-alert-filter label { display: grid; gap: 5px; color: var(--body-quiet-color); font-size: 12px; }
.stock-alert-filter select, .stock-alert-filter input { box-sizing: border-box; min-width: 190px; height: 38px; }
.stock-alert-filter input { min-width: 300px; }
.stock-alert-table-wrap { overflow-x: auto; border: 1px solid var(--erp-border); border-radius: 7px; }
.stock-alert-table { width: 100%; min-width: 1250px; border-collapse: collapse; background: var(--body-bg); }
.stock-alert-table th, .stock-alert-table td { padding: 10px 12px; border-bottom: 1px solid var(--erp-border); text-align: left; white-space: nowrap; vertical-align: middle; }
.stock-alert-table th { background: var(--darkened-bg); color: var(--body-quiet-color); font-size: 12px; }
.stock-alert-table td > span { display: block; margin-top: 3px; color: var(--body-quiet-color); font-size: 11px; }
.alert-product { display: flex; align-items: center; gap: 9px; min-width: 220px; }
.alert-product img { width: 40px; height: 50px; border-radius: 4px; object-fit: cover; }
.alert-product span { display: block; margin-top: 3px; color: var(--body-quiet-color); font-size: 11px; }
.alert-status { display: inline-block !important; margin: 0 !important; padding: 4px 8px; border-radius: 999px; font-size: 12px !important; font-weight: 700; }
.alert-status.out { color: #9f2525 !important; background: #fde8e8; }
.alert-status.low { color: #8c5706 !important; background: #fff1d6; }
.alert-status.over { color: #62439e !important; background: #eee8fa; }
.alert-available { font-weight: 750; color: var(--error-fg); }
.stock-alert-pages { display: flex; justify-content: center; gap: 16px; margin-top: 16px; }
.inventory-init-page { max-width:1120px; }
.inventory-init-hero { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:26px 28px; border-radius:10px; background:linear-gradient(125deg,#173f6b,#246aa4); color:#fff; }
.inventory-init-kicker { display:block; margin-bottom:6px; color:#b9daf5; font-size:12px; font-weight:700; letter-spacing:.12em; }
.inventory-init-hero h1 { margin:0 0 7px; color:#fff; font-size:28px; }
.inventory-init-hero p { margin:0; color:#dcebf7; }
.inventory-init-progress { flex:0 0 125px; text-align:center; }
.inventory-init-progress strong { display:block; font-size:34px; line-height:1; }
.inventory-init-progress span { display:block; margin-top:7px; color:#dcebf7; font-size:12px; }
.inventory-progress-track { height:8px; margin:12px 0 18px; overflow:hidden; border-radius:999px; background:#dfe8f0; }
.inventory-progress-track span { display:block; height:100%; border-radius:inherit; background:#2db487; transition:width .25s ease; }
.inventory-init-metrics { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:12px; margin-bottom:18px; }
.inventory-init-metrics article { padding:15px 17px; border:1px solid var(--erp-border); border-radius:8px; background:var(--body-bg); }
.inventory-init-metrics span,.inventory-init-metrics small { display:block; color:var(--body-quiet-color); }
.inventory-init-metrics strong { display:block; margin:4px 0; color:var(--erp-navy); font-size:24px; }
.inventory-init-metrics .has-error { border-color:#e3a2a2; background:#fff4f4; }
.inventory-init-metrics .has-error strong { color:#b52f2f; }
.inventory-init-steps { display:grid; gap:11px; }
.inventory-init-step { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:15px; padding:16px 18px; border:1px solid var(--erp-border); border-radius:8px; background:var(--body-bg); }
.inventory-init-step.complete { border-left:4px solid #2aaa7d; }
.inventory-init-step.pending { border-left:4px solid #d3a13e; }
.inventory-step-number { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#eef2f6; color:var(--erp-navy); font-size:16px; font-weight:800; }
.inventory-init-step.complete .inventory-step-number { background:#e1f6ee; color:#16835d; }
.inventory-step-title { display:flex; align-items:center; gap:10px; }
.inventory-step-title h2 { margin:0; font-size:16px; }
.inventory-step-title span { padding:3px 7px; border-radius:999px; background:#fff1d5; color:#845307; font-size:11px; }
.inventory-init-step.complete .inventory-step-title span { background:#e1f6ee; color:#167654; }
.inventory-step-content p { margin:5px 0; color:var(--body-quiet-color); }
.inventory-step-summary { font-size:12px; font-weight:650; }
.inventory-init-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:18px; padding:18px 20px; border:1px solid var(--erp-border); border-radius:8px; background:var(--darkened-bg); }
.inventory-init-footer strong,.inventory-init-footer span { display:block; }
.inventory-init-footer span { margin-top:4px; color:var(--body-quiet-color); }
.inventory-init-actions { display:flex; gap:9px; }
@media (max-width:800px) { .inventory-init-hero,.inventory-init-footer { align-items:flex-start; flex-direction:column; } .inventory-init-metrics { grid-template-columns:repeat(2,1fr); } .inventory-init-step { grid-template-columns:38px minmax(0,1fr); } .inventory-init-step > .button { grid-column:2; justify-self:start; } }

@media (max-width: 800px) {
  .barcode-settings { grid-template-columns: 1fr; }
  .barcode-input-row { flex-wrap: wrap; }
  .barcode-input-row input { flex-basis: calc(100% - 34px); }
  .barcode-input-row .button { width: 100%; }
}

.warehouse-ops-page { max-width: 1420px; }
.warehouse-ops-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:16px; padding:22px 24px; border-radius:10px; background:#173f6b; color:#fff; }
.warehouse-ops-heading > div > span { color:#acd5f4; font-size:11px; font-weight:750; letter-spacing:.14em; }
.warehouse-ops-heading h1 { margin:4px 0 5px; color:#fff; font-size:26px; }
.warehouse-ops-heading p { margin:0; color:#d9eaf6; }
.warehouse-ops-heading form { min-width:240px; display:grid; gap:6px; }
.warehouse-ops-heading label { color:#d9eaf6; font-size:12px; }
.warehouse-ops-heading select { box-sizing:border-box; width:100%; height:38px; }
.warehouse-ops-metrics { display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)); gap:12px; margin-bottom:14px; }
.warehouse-ops-metrics a { padding:16px 18px; border:1px solid var(--erp-border); border-radius:8px; background:var(--body-bg); color:var(--body-fg) !important; text-decoration:none; }
.warehouse-ops-metrics a:hover { border-color:#8fb6e4; background:var(--erp-blue-soft); }
.warehouse-ops-metrics span,.warehouse-ops-metrics small { display:block; color:var(--body-quiet-color); }
.warehouse-ops-metrics strong { display:inline-block; margin:4px 6px 3px 0; color:var(--erp-navy); font-size:28px; }
.warehouse-ops-actions { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); gap:10px; margin-bottom:16px; }
.warehouse-ops-actions a { display:flex; align-items:center; gap:10px; min-height:48px; padding:8px 14px; border:1px solid var(--erp-border); border-radius:7px; background:var(--body-bg); color:var(--erp-navy) !important; font-weight:650; text-decoration:none; }
.warehouse-ops-actions a:hover { color:var(--erp-blue) !important; background:var(--erp-blue-soft); }
.warehouse-ops-actions i { color:var(--erp-blue); font-size:18px; }
.warehouse-ops-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr); gap:14px; }
.warehouse-ops-panel { overflow:hidden; border:1px solid var(--erp-border); border-radius:8px; background:var(--body-bg); }
.warehouse-ops-panel-title { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border-bottom:1px solid var(--erp-border); }
.warehouse-ops-panel-title h2 { margin:0 0 3px; color:var(--erp-navy); font-size:16px; }
.warehouse-ops-panel-title p { margin:0; color:var(--body-quiet-color); font-size:12px; }
.warehouse-ops-table-wrap { overflow-x:auto; }
.warehouse-ops-panel table { width:100%; border-collapse:collapse; }
.warehouse-ops-panel th,.warehouse-ops-panel td { padding:10px 12px; border-bottom:1px solid var(--erp-border); text-align:left; white-space:nowrap; vertical-align:middle; }
.warehouse-ops-panel th { background:var(--darkened-bg); color:var(--body-quiet-color); font-size:11px; }
.warehouse-ops-panel td span { display:block; margin-top:3px; color:var(--body-quiet-color); font-size:11px; }
.warehouse-ops-empty { padding:42px !important; color:var(--body-quiet-color); text-align:center !important; }
.ops-positive { color:#16835d; font-weight:750; }
.ops-negative { color:var(--error-fg); font-weight:750; }
.ops-status { display:inline-block !important; margin:0 !important; padding:3px 7px; border-radius:999px; font-weight:700; }
.ops-status.draft { color:#71520a !important; background:#fff1d5; }
.ops-status.in_transit { color:#125ea2 !important; background:#e3f1ff; }
.ops-status.completed { color:#167654 !important; background:#e1f6ee; }
.ops-status.cancelled { color:#7b7f86 !important; background:#eceff2; }
@media (max-width:1100px) { .warehouse-ops-metrics { grid-template-columns:repeat(3,1fr); } .warehouse-ops-grid { grid-template-columns:1fr; } }
@media (max-width:800px) { .warehouse-ops-heading { align-items:flex-start; flex-direction:column; } .warehouse-ops-heading form { width:100%; min-width:0; } .warehouse-ops-metrics,.warehouse-ops-actions { grid-template-columns:repeat(2,1fr); } }

.inventory-import-page { max-width:1280px; }
.inventory-import-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:14px; padding:22px 24px; border-radius:10px; background:#173f6b; color:#fff; }
.inventory-import-heading > div > span { color:#acd5f4; font-size:11px; font-weight:750; letter-spacing:.14em; }
.inventory-import-heading h1 { margin:4px 0 5px; color:#fff; font-size:25px; }
.inventory-import-heading p { margin:0; color:#d9eaf6; }
.inventory-import-steps { display:grid; grid-template-columns:30px auto 36px 30px auto; align-items:center; gap:8px; color:#d9eaf6; font-size:12px; }
.inventory-import-steps strong { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#fff; color:#173f6b; }
.inventory-import-steps i { height:1px; background:#8cb3d1; }
.inventory-import-upload,.inventory-preview-summary { margin-bottom:14px; padding:18px 20px; border:1px solid var(--erp-border); border-radius:8px; background:var(--body-bg); }
.inventory-import-guide h2,.inventory-preview-title h2 { margin:0 0 5px; color:var(--erp-navy); font-size:17px; }
.inventory-import-guide p,.inventory-preview-title p { margin:0; color:var(--body-quiet-color); }
.inventory-import-upload form { display:flex; align-items:end; gap:14px; margin-top:16px; }
.inventory-import-fields { flex:1; display:grid; grid-template-columns:minmax(180px,.6fr) minmax(320px,1.4fr); gap:14px; }
.inventory-import-fields label { display:grid; gap:6px; color:var(--body-quiet-color); font-size:12px; }
.inventory-import-fields select,.inventory-import-fields input { box-sizing:border-box; width:100%; min-height:38px; }
.inventory-import-fields small { color:var(--body-quiet-color); }
.inventory-preview-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.inventory-preview-title > span { padding:5px 10px; border-radius:999px; font-size:12px; font-weight:750; }
.inventory-preview-title .passed { color:#167654; background:#e1f6ee; }
.inventory-preview-title .blocked { color:#9f2525; background:#fde8e8; }
.inventory-preview-metrics { display:grid; grid-template-columns:repeat(6,minmax(110px,1fr)); gap:10px; margin-bottom:14px; }
.inventory-preview-metrics article { padding:13px 14px; border:1px solid var(--erp-border); border-radius:7px; background:var(--darkened-bg); }
.inventory-preview-metrics span,.inventory-preview-metrics small { display:block; color:var(--body-quiet-color); font-size:11px; }
.inventory-preview-metrics strong { display:inline-block; margin:3px 4px 0 0; color:var(--erp-navy); font-size:23px; }
.inventory-preview-errors { margin-bottom:14px; padding:13px 16px; border:1px solid #efb0b0; border-radius:7px; background:#fff4f4; color:#8e2929; }
.inventory-preview-errors h3 { margin:0 0 7px; font-size:14px; }
.inventory-preview-errors ol { max-height:190px; margin:0; padding-left:20px; overflow-y:auto; }
.inventory-preview-table-wrap { max-height:520px; overflow:auto; border:1px solid var(--erp-border); border-radius:7px; }
.inventory-preview-table-wrap table { width:100%; border-collapse:collapse; background:var(--body-bg); }
.inventory-preview-table-wrap th,.inventory-preview-table-wrap td { padding:9px 11px; border-bottom:1px solid var(--erp-border); text-align:left; white-space:nowrap; vertical-align:middle; }
.inventory-preview-table-wrap th { position:sticky; top:0; z-index:1; background:var(--darkened-bg); color:var(--body-quiet-color); font-size:11px; }
.inventory-preview-table-wrap td span { display:block; margin-top:3px; color:var(--body-quiet-color); font-size:11px; }
.preview-status { display:inline-block !important; margin:0 !important; padding:3px 7px; border-radius:999px; font-weight:700; }
.preview-status.new { color:#125ea2 !important; background:#e3f1ff; }
.preview-status.update { color:#71520a !important; background:#fff1d5; }
.preview-status.unchanged { color:#167654 !important; background:#e1f6ee; }
.preview-status.error { color:#9f2525 !important; background:#fde8e8; }
.preview-image-ok { color:#167654 !important; font-weight:700; }
.inventory-preview-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:14px; }
.inventory-preview-actions form { margin:0; }
@media (max-width:900px) { .inventory-import-heading { align-items:flex-start; flex-direction:column; } .inventory-import-upload form { align-items:stretch; flex-direction:column; } .inventory-import-fields { grid-template-columns:1fr; width:100%; } .inventory-preview-metrics { grid-template-columns:repeat(3,1fr); } }
