/* Styles for the working FBS vertical slice. */
.ring { position: relative; }

.mode-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.mode-badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 3px var(--orange-soft);
}

.mode-badge.live i {
  background: var(--green);
  box-shadow: 0 0 0 3px var(--green-soft);
}

.pill.red { background: var(--red-soft); color: var(--red); }

.empty-state { padding: 34px; text-align: center; color: var(--muted); }
.empty-state strong,
.empty-state span { display: block; }
.empty-state strong { color: var(--text); font-size: 12px; }
.empty-state span { font-size: 10px; margin-top: 5px; }
.toast.error { border-left: 4px solid #ef6c66; }
.job-state { border: 0; cursor: default; }
.job-state.error { cursor: pointer; }
.job-actions { display: flex; align-items: center; gap: 7px; }
.job-download { border-radius: 8px; background: var(--blue-soft); color: var(--blue-2); font-size: 9px; font-weight: 700; padding: 5px 7px; text-decoration: none; }

.drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(18, 30, 55, .32);
  backdrop-filter: blur(3px);
  z-index: 108;
}

.drawer-backdrop[hidden],
.order-drawer[hidden] { display: none; }

.order-drawer {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: min(440px, calc(100vw - 24px));
  z-index: 109;
  background: #fff;
  border-left: 1px solid var(--line);
  box-shadow: -22px 0 70px rgba(14, 28, 58, .18);
  padding: 32px;
  overflow: auto;
  animation: drawer-in .24s ease;
}

.drawer-close {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 10px;
  background: #f1f4f8;
  color: var(--text);
  font-size: 20px;
  cursor: pointer;
}

.order-drawer h2 { font: 600 24px Geologica; margin: 6px 0 12px; }
.order-drawer h3 { font: 600 13px Geologica; margin: 24px 0 9px; }

.drawer-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: 10px;
}

.order-progress { margin: 18px 0; padding: 14px; border-radius: 14px; background: #f6f8fc; }
.order-progress > div { display: flex; justify-content: space-between; font-size: 10px; }
.order-progress i { display: block; height: 7px; border-radius: 9px; background: #e4eaf4; overflow: hidden; margin-top: 10px; }
.order-progress b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), #78a6ff); }

.order-facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.order-facts div { border: 1px solid var(--line); border-radius: 12px; padding: 11px; }
.order-facts dt { color: var(--muted); font-size: 9px; }
.order-facts dd { margin: 4px 0 0; font-size: 11px; font-weight: 700; }

.drawer-items { display: flex; flex-direction: column; gap: 8px; }
.drawer-items article { display: flex; justify-content: space-between; gap: 12px; border: 1px solid var(--line); border-radius: 13px; padding: 12px; }
.drawer-items strong,
.drawer-items small,
.drawer-items code { display: block; }
.drawer-items strong { font-size: 11px; }
.drawer-items small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.drawer-items code { font: 500 9px Manrope; color: var(--blue-2); margin-top: 5px; }

.item-quantity { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 8px; }
.item-quantity b { font-size: 11px; }
.item-quantity button { border: 0; border-radius: 8px; background: var(--blue-soft); color: var(--blue-2); font-size: 9px; font-weight: 700; padding: 7px 9px; cursor: pointer; }
.drawer-main-action { margin-top: 18px; }
.drawer-note,
.kiz-note { font-size: 9px; color: var(--muted); line-height: 1.55; }
.kiz-note { padding: 9px 11px; border-radius: 10px; background: var(--orange-soft); color: #98591d; }

@keyframes drawer-in {
  from { transform: translateX(40px); opacity: 0; }
  to { transform: none; opacity: 1; }
}

@media (max-width: 1100px) {
  .mode-badge { display: none; }
}

.page-toolbar > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.integration-connected { border-color: #b9e6d4 !important; color: var(--green) !important; background: var(--green-soft) !important; }

.integration-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(18, 30, 55, .46);
  backdrop-filter: blur(6px);
}

.integration-backdrop[hidden] { display: none; }

.integration-modal {
  position: relative;
  width: min(590px, calc(100vw - 28px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  border-radius: 24px;
  padding: 30px;
  background: #fff;
  box-shadow: 0 30px 100px rgba(15, 35, 75, .3);
}

.integration-modal h2 { margin: 5px 0 18px; font: 600 24px Geologica; }
.integration-modal h3 { margin: 22px 0 10px; font: 600 13px Geologica; }
.integration-logo { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 14px; border-radius: 14px; font-size: 20px; font-weight: 800; }

.integration-status-card {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  padding: 13px;
  border: 1px solid #f0d5ae;
  border-radius: 14px;
  background: #fff8ed;
}

.integration-status-card > i { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px var(--orange-soft); }
.integration-status-card.connected { border-color: #b9e6d4; background: var(--green-soft); }
.integration-status-card.connected > i { background: var(--green); box-shadow: 0 0 0 5px rgba(37, 176, 128, .12); }
.integration-status-card strong,
.integration-status-card small { display: block; }
.integration-status-card strong { font-size: 11px; }
.integration-status-card small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.integration-error { padding: 10px 12px; border-radius: 10px; background: var(--red-soft); color: var(--red); font-size: 10px; line-height: 1.5; }

.integration-field { display: block; }
.integration-field span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.integration-field input { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: #f8fafd; padding: 12px 13px; outline: 0; }
.integration-field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.security-note { margin: 8px 0 14px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.integration-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }

.sync-history { margin-top: 18px; border-top: 1px solid var(--line); }
.sync-history > div { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 9px; padding: 9px 0; border-top: 1px solid #edf1f6; }
.sync-history > div:first-of-type { border-top: 0; }
.sync-history strong,
.sync-history small { display: block; }
.sync-history strong { font-size: 10px; }
.sync-history small,
.sync-history p { color: var(--muted); font-size: 9px; }
.sync-history em { max-width: 250px; overflow: hidden; color: var(--muted); font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.sync-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.sync-dot.success { background: var(--green); }

.supplies-modal { width: min(680px, calc(100vw - 28px)); }
.supply-create { padding: 15px; border-radius: 16px; background: #f6f8fc; }
.supply-create p { margin: 9px 0 12px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.supply-list article { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); }
.supply-list article > span:last-of-type { display: flex; align-items: center; gap: 7px; }
.supply-list strong,
.supply-list small { display: block; }
.supply-list strong { font-size: 11px; }
.supply-list small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.supply-list article > p { grid-column: 1 / -1; margin: 0; color: var(--red); font-size: 9px; }
.supply-list button { border: 0; border-radius: 8px; background: var(--blue-soft); color: var(--blue-2); padding: 6px 8px; font-size: 9px; font-weight: 700; cursor: pointer; }
.supply-state { border-radius: 8px; padding: 5px 7px; background: var(--blue-soft); color: var(--blue-2); font-size: 9px; }
.supply-state.done { background: var(--green-soft); color: var(--green); }
.supply-state.error { background: var(--red-soft); color: var(--red); }
.modal-loading { padding: 42px; text-align: center; color: var(--muted); font-size: 10px; }

@media (max-width: 780px) {
  .integration-modal { padding: 24px 18px; }
  .integration-actions > * { flex: 1 1 auto; }
  .supply-list article { grid-template-columns: 1fr; }
  .supply-list article > span:last-of-type { justify-content: space-between; }
}

/* Receiving and physical inventory */
.compact-button { padding: 8px 10px; font-size: 9px; }
.receipt-workbench { display: grid; grid-template-columns: 295px minmax(0, 1fr); gap: 15px; align-items: start; }
.receipt-sidebar,
.receipt-workspace { min-height: 510px; }
.receipt-list { margin-top: 12px; }
.receipt-list-item { width: 100%; display: grid; grid-template-columns: 9px 1fr 14px; align-items: center; gap: 10px; border: 0; border-top: 1px solid var(--line); background: transparent; padding: 12px 7px; text-align: left; cursor: pointer; }
.receipt-list-item:first-child { border-top: 0; }
.receipt-list-item.selected { margin: 2px 0; border: 0; border-radius: 12px; background: var(--blue-soft); }
.receipt-list-item strong,
.receipt-list-item small,
.receipt-list-item em { display: block; }
.receipt-list-item strong { font-size: 10px; }
.receipt-list-item small { max-width: 220px; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.receipt-list-item em { margin-top: 5px; color: #64738d; font-size: 8px; font-style: normal; }
.receipt-list-item > b { color: #8b9ab2; }
.receipt-state-dot { width: 7px; height: 7px; border-radius: 50%; background: #9cabc1; }
.receipt-state-dot.active { background: var(--blue); box-shadow: 0 0 0 4px var(--blue-soft); }
.receipt-state-dot.place { background: var(--orange); box-shadow: 0 0 0 4px var(--orange-soft); }
.receipt-state-dot.done { background: var(--green); }

.receipt-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.receipt-title-row h2 { margin: 4px 0 3px; font: 600 22px Geologica; }
.receipt-title-row p { margin: 0; color: var(--muted); font-size: 9px; }
.receipt-status { border-radius: 9px; padding: 6px 9px; background: #eef2f7; color: #66758d; font-size: 9px; font-weight: 700; }
.receipt-status.active { background: var(--blue-soft); color: var(--blue-2); }
.receipt-status.place { background: var(--orange-soft); color: var(--orange); }
.receipt-status.done { background: var(--green-soft); color: var(--green); }
.receipt-progress { margin: 17px 0; }
.receipt-progress > div { display: flex; justify-content: space-between; color: #52617a; font-size: 10px; }
.receipt-progress i { display: block; height: 8px; margin-top: 8px; overflow: hidden; border-radius: 10px; background: #e6ebf3; }
.receipt-progress i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5277e8, #7ea8ff); }

.receipt-scan-rail { position: relative; display: grid; grid-template-columns: 42px 1fr minmax(150px, 1.15fr) 108px auto; align-items: center; gap: 10px; overflow: hidden; margin: 14px 0 17px; border: 1px solid #bcd1f5; border-radius: 16px; background: linear-gradient(110deg, #f8fbff, #eef5ff); padding: 14px; }
.scan-beam { position: absolute; top: 0; bottom: 0; left: -2px; width: 2px; background: #6f9cff; box-shadow: 0 0 16px 4px rgba(82, 119, 232, .28); animation: scan-sweep 2.8s ease-in-out infinite; pointer-events: none; }
.scan-symbol { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: var(--blue); color: #fff; font-size: 20px; }
.receipt-scan-rail strong,
.receipt-scan-rail small { display: block; }
.receipt-scan-rail strong { font-size: 11px; }
.receipt-scan-rail small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.receipt-scan-rail input,
.receipt-scan-rail select,
.receipt-form-grid select,
.receipt-add-line select,
.receipt-add-line input,
.product-form select { min-width: 0; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 10px 11px; color: var(--text); font: 500 10px Manrope; outline: 0; }
.receipt-scan-rail input:focus,
.receipt-scan-rail select:focus,
.receipt-form-grid select:focus,
.receipt-add-line select:focus,
.receipt-add-line input:focus,
.product-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.damage-evidence { grid-column: 3 / -1; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.damage-evidence > input { background: rgba(255,255,255,.72); }
.damage-evidence label { display: flex; align-items: center; gap: 6px; border: 1px dashed #c7d3e5; border-radius: 9px; padding: 8px 10px; color: var(--muted); font-size: 8px; cursor: pointer; }
.damage-evidence label input { width: 1px; height: 1px; padding: 0; opacity: 0; }
@keyframes scan-sweep { 0%, 100% { left: 0; opacity: 0; } 15%, 85% { opacity: 1; } 50% { left: 100%; } }

.receipt-item-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.receipt-item-grid article { border: 1px solid var(--line); border-radius: 13px; padding: 12px; }
.receipt-item-head { display: flex; justify-content: space-between; gap: 10px; }
.receipt-item-head strong,
.receipt-item-head small { display: block; }
.receipt-item-head strong { font-size: 10px; }
.receipt-item-head small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.receipt-item-head > b { font-size: 12px; }
.receipt-quantities { display: flex; gap: 12px; margin-top: 11px; color: var(--muted); font-size: 8px; }
.receipt-quantities b { color: var(--text); }
.place-button { width: 100%; margin-top: 10px; border: 0; border-radius: 9px; background: var(--orange-soft); color: #965a1f; padding: 8px; font-size: 8px; font-weight: 700; cursor: pointer; }
.receipt-issues { margin-top: 14px; border-radius: 13px; background: #fff8ed; padding: 11px; }
.receipt-issues h3 { margin: 0 0 7px; font-size: 10px; }
.receipt-issues span { display: flex; justify-content: space-between; padding: 5px 0; color: #9b6227; font-size: 8px; }
.receipt-complete { margin-top: 14px; }
.receipt-closed-note { margin-top: 14px; border-radius: 12px; background: var(--green-soft); padding: 11px; color: var(--green); font-size: 9px; font-weight: 700; }
.receipt-log { margin-top: 18px; border-top: 1px solid var(--line); }
.receipt-log h3 { margin: 14px 0 6px; font-size: 10px; }
.receipt-log > div { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 9px; padding: 7px 0; border-top: 1px solid #eef2f7; }
.receipt-log > div:first-of-type { border-top: 0; }
.receipt-log strong,
.receipt-log small { display: block; }
.receipt-log strong { font-size: 9px; }
.receipt-log small { color: var(--muted); font-size: 8px; }
.receipt-log a { color: var(--blue-2); font-size: 8px; font-weight: 700; }
.scan-result { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.scan-result.damaged,
.scan-result.excess { background: var(--orange); }
.scan-result.unexpected,
.scan-result.unknown_barcode { background: var(--red); }

.receipt-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.receipt-form-grid .integration-field:first-child { grid-column: 1 / -1; }
.receipt-add-line { display: grid; grid-template-columns: 1fr 80px auto; gap: 8px; margin: 15px 0 9px; }
.receipt-draft-items { min-height: 72px; border: 1px solid var(--line); border-radius: 12px; padding: 8px; margin-bottom: 12px; }
.receipt-draft-items > span { display: grid; grid-template-columns: 1fr auto 22px; align-items: center; gap: 8px; padding: 7px; border-top: 1px solid #edf1f6; font-size: 9px; }
.receipt-draft-items > span:first-child { border-top: 0; }
.receipt-draft-items button { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.receipt-draft-items p { margin: 20px; text-align: center; color: var(--muted); font-size: 9px; }

.product-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.product-hero h2 { margin: 4px 0; font: 600 23px Geologica; }
.product-hero p { margin: 0; color: var(--muted); font-size: 9px; }
.product-hero > div:last-child { display: flex; align-items: center; gap: 8px; }
.product-search { display: flex; align-items: center; gap: 7px; width: 260px; border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 0 10px; color: var(--muted); }
.product-search input { width: 100%; border: 0; background: transparent; padding: 10px 0; outline: 0; font-size: 9px; }
.inventory-strip { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; margin-bottom: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.inventory-strip > span { padding: 13px 15px; border-left: 1px solid var(--line); }
.inventory-strip > span:first-child { border-left: 0; }
.inventory-strip small,
.inventory-strip strong { display: block; }
.inventory-strip small { color: var(--muted); font-size: 8px; }
.inventory-strip strong { margin-top: 4px; font: 600 18px Geologica; }
.product-table code { color: var(--blue-2); font: 500 9px Manrope; }
.product-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; }
.product-form .wide { grid-column: 1 / -1; }
.check-field { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; }
.green-text { color: var(--green) !important; }
.client-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.client-hero h2 { margin: 4px 0; font: 600 23px Geologica; }
.client-hero p { margin: 0; color: var(--muted); font-size: 9px; }
.client-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin-top: 18px; }
.client-grid article { display: grid; grid-template-columns: 44px 1fr; gap: 11px; border: 1px solid var(--line); border-radius: 15px; padding: 14px; background: #fff; }
.client-monogram { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg, #5c82ed, #8aaeff); color: #fff; font: 700 13px Geologica; }
.client-grid article > div strong,
.client-grid article > div small { display: block; }
.client-grid article > div strong { font-size: 11px; }
.client-grid article > div small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.client-grid dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin: 4px 0 0; border-top: 1px solid var(--line); padding-top: 10px; }
.client-grid dl span { border-left: 1px solid var(--line); padding-left: 9px; }
.client-grid dl span:first-child { border-left: 0; padding-left: 0; }
.client-grid dt { color: var(--muted); font-size: 8px; }
.client-grid dd { margin: 3px 0 0; font-size: 10px; font-weight: 700; }
#client-form { display: grid; gap: 11px; }

button:focus-visible,
input:focus-visible,
select:focus-visible,
a:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

@media (max-width: 1100px) {
  .receipt-workbench { grid-template-columns: 245px minmax(0, 1fr); }
  .receipt-scan-rail { grid-template-columns: 38px 1fr minmax(130px, 1fr); }
  .receipt-scan-rail select,
  .receipt-scan-rail > button { grid-row: 2; }
  .damage-evidence { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
  .receipt-workbench { grid-template-columns: 1fr; }
  .receipt-sidebar { min-height: auto; }
  .receipt-scan-rail { grid-template-columns: 38px 1fr; }
  .receipt-scan-rail input,
  .receipt-scan-rail select,
  .receipt-scan-rail > button,
  .damage-evidence { grid-column: 1 / -1; grid-row: auto; }
  .receipt-item-grid,
  .receipt-form-grid,
  .product-form { grid-template-columns: 1fr; }
  .product-form .wide,
  .receipt-form-grid .integration-field:first-child { grid-column: auto; }
  .receipt-add-line { grid-template-columns: 1fr 70px; }
  .receipt-add-line button { grid-column: 1 / -1; }
  .product-hero { align-items: stretch; flex-direction: column; }
  .product-hero > div:last-child { align-items: stretch; flex-direction: column; }
  .product-search { width: 100%; }
  .inventory-strip { grid-template-columns: repeat(2, 1fr); }
  .inventory-strip > span:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .inventory-strip > span:nth-child(4) { border-top: 1px solid var(--line); }
  .client-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .scan-beam { animation: none; display: none; }
}

/* Returns and quarantine workstation */
.returns-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 14px;
}

.returns-hero h2 { margin: 4px 0 3px; font: 650 24px/1.12 Geologica; letter-spacing: -.035em; }
.returns-hero p { margin: 0; color: var(--muted); font-size: 10px; }

.return-route {
  display: grid;
  grid-template-columns: 1fr 28px 1fr 28px 1fr;
  align-items: center;
  margin-bottom: 14px;
  padding: 13px 16px;
  border: 1px solid #cddaf6;
  border-radius: 17px;
  background: linear-gradient(105deg, #edf3ff, #f8fbff 62%, #eefbfa);
  box-shadow: 0 8px 25px rgba(55, 91, 174, .07);
}

.return-route > span { display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; align-items: center; }
.return-route > span i {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #fff;
  color: var(--blue-2);
  box-shadow: inset 0 0 0 1px #d8e2f7;
  font: 700 9px Manrope;
}
.return-route > span.active i { color: #fff; background: var(--blue); box-shadow: 0 7px 16px rgba(67, 104, 218, .24); }
.return-route b { font-size: 10px; }
.return-route small { color: var(--muted); font-size: 8px; margin-top: 2px; }
.return-route > em { color: #9eb0d5; text-align: center; font-style: normal; }

.returns-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
  box-shadow: var(--shadow);
}
.returns-kpis article { position: relative; padding: 15px 17px; border-right: 1px solid var(--line); }
.returns-kpis article:last-child { border: 0; }
.returns-kpis article.quarantine { background: linear-gradient(130deg, #fff9ed, #fff); }
.returns-kpis span,.returns-kpis small,.returns-kpis strong { display: block; }
.returns-kpis span { color: var(--muted); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.returns-kpis strong { margin: 6px 0 2px; font: 650 22px Geologica; }
.returns-kpis small { color: var(--muted); font-size: 8px; }
.returns-kpis .quarantine strong { color: #c27a23; }

.returns-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 12px; min-height: 500px; }
.returns-queue,.return-workspace,.quarantine-panel { border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.returns-queue { padding: 14px; }
.returns-queue > div:last-child { display: flex; flex-direction: column; gap: 7px; }
.return-queue-item {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: #f7f9fd;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: .18s ease;
}
.return-queue-item:hover { transform: translateY(-1px); border-color: #cdd9f4; }
.return-queue-item.selected { border-color: #aebfee; background: #eef3ff; box-shadow: inset 3px 0 0 var(--blue); }
.return-market { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #edf2ff; color: var(--blue-2); font-size: 9px; font-weight: 800; }
.return-market.ozon { background: #eaf4ff; color: #1681e7; }
.return-market.ya { background: #fff0dc; color: #ad6612; }
.return-queue-item strong,.return-queue-item small,.return-queue-item em { display: block; }
.return-queue-item strong { font-size: 10px; }
.return-queue-item small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.return-queue-item em { margin-top: 4px; overflow: hidden; color: #65718b; font-size: 8px; font-style: normal; white-space: nowrap; text-overflow: ellipsis; max-width: 166px; }
.return-state,.return-status { border-radius: 999px; padding: 5px 7px; font-size: 7px; font-weight: 750; white-space: nowrap; }
.return-state.wait,.return-status.wait { color: #a96819; background: #fff2dd; }
.return-state.active,.return-status.active { color: var(--blue-2); background: var(--blue-soft); }
.return-state.done,.return-status.done { color: var(--green); background: var(--green-soft); }

.return-workspace { padding: 19px; }
.return-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.return-title h2 { margin: 4px 0; font: 650 21px Geologica; }
.return-title p { margin: 0; color: var(--muted); font-size: 9px; }
.return-reason { display: flex; justify-content: space-between; gap: 18px; margin: 15px 0 10px; padding: 10px 12px; border-radius: 11px; background: #f6f8fc; }
.return-reason span { color: var(--muted); font-size: 8px; }
.return-reason strong { font-size: 9px; }
.return-progress > span { display: block; color: var(--muted); font-size: 8px; }
.return-progress > span b { color: var(--text); font-size: 11px; }
.return-progress > i { display: block; height: 6px; margin-top: 7px; overflow: hidden; border-radius: 999px; background: #e8edf6; }
.return-progress > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), #6ed2c1); }

.return-scan { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; margin: 15px 0; padding: 5px; border: 1px solid #b9c8ed; border-radius: 12px; background: #f8fbff; box-shadow: 0 7px 20px rgba(57, 88, 168, .08); }
.return-scan > span { color: var(--blue); text-align: center; font-size: 14px; }
.return-scan input { min-width: 0; border: 0; outline: 0; background: transparent; font: 500 10px Manrope; }
.return-scan button { border: 0; border-radius: 9px; padding: 9px 13px; background: var(--blue); color: #fff; font-size: 9px; font-weight: 750; cursor: pointer; }
.return-items h3,.return-log h3 { margin: 16px 0 8px; font: 650 11px Geologica; }
.return-items { display: flex; flex-direction: column; gap: 7px; }
.return-item-card { border: 1px solid var(--line); border-radius: 13px; padding: 11px; }
.return-item-card.inspected { border-color: #c7e8da; background: #fbfffd; }
.return-item-main { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; }
.return-box { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--blue-soft); color: var(--blue-2); font: 750 12px Geologica; }
.return-item-main strong,.return-item-main small,.return-item-main em { display: block; }
.return-item-main strong { font-size: 10px; }
.return-item-main small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.return-item-main em { margin-top: 4px; color: #64718b; font-size: 8px; font-style: normal; }
.return-item-main button { border: 0; border-radius: 9px; padding: 8px 11px; background: var(--blue); color: #fff; font-size: 8px; font-weight: 750; cursor: pointer; }
.inspect-ok { color: var(--green); font-size: 8px; }
.return-decision { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; padding-top: 9px; border-top: 1px solid #e4f0eb; }
.return-decision span,.return-decision a { border-radius: 8px; padding: 5px 7px; background: #f2f7f5; color: var(--muted); font-size: 7px; text-decoration: none; }
.return-decision b { color: var(--text); }
.return-log > div { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; padding: 7px 0; border-top: 1px solid var(--line); }
.return-log strong,.return-log small { display: block; font-size: 8px; }
.return-log small,.return-log time { color: var(--muted); font-size: 7px; }

.quarantine-panel { margin-top: 12px; padding: 16px; }
.quarantine-total { border-radius: 999px; padding: 6px 9px; background: #fff2dd; color: #a96819; font-size: 8px; font-weight: 750; }
.quarantine-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.quarantine-list article { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid #f0ddbc; border-radius: 12px; background: #fffbf4; }
.quarantine-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #f5c673; color: #6f4612; font: 800 12px Geologica; }
.quarantine-list strong,.quarantine-list small,.quarantine-list em { display: block; }
.quarantine-list strong { font-size: 9px; }
.quarantine-list small,.quarantine-list em { margin-top: 2px; color: var(--muted); font-size: 7px; font-style: normal; }
.quarantine-list b { font-size: 9px; }
.quarantine-list a { grid-column: 3; color: var(--blue-2); font-size: 7px; }
.returns-clear { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 12px; background: var(--green-soft); }
.returns-clear > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: var(--green); }
.returns-clear strong,.returns-clear small { display: block; }
.returns-clear strong { font-size: 9px; }.returns-clear small { margin-top: 2px; color: var(--muted); font-size: 7px; }

.returns-modal { width: min(660px, calc(100vw - 28px)); }
.return-form { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.return-form .wide { grid-column: 1 / -1; }
.return-form textarea { min-height: 72px; resize: vertical; }
.return-quantity-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.return-quantity-grid label { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #f8faff; }
.return-quantity-grid span { color: var(--muted); font-size: 8px; }
.return-quantity-grid input { width: 56px; border: 1px solid var(--line); border-radius: 8px; padding: 7px; text-align: center; }
.return-photo-input { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; padding: 11px; border: 1px dashed #afbee3; border-radius: 12px; background: #f8fbff; cursor: pointer; }
.return-photo-input input { display: none; }
.return-photo-input > span:first-of-type { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--blue-soft); color: var(--blue-2); font-size: 18px; }
.return-photo-input strong,.return-photo-input small { display: block; }
.return-photo-input strong { font-size: 9px; }.return-photo-input small { margin-top: 2px; color: var(--muted); font-size: 7px; }

@media (max-width: 1050px) {
  .returns-layout { grid-template-columns: 270px minmax(0, 1fr); }
  .quarantine-list { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .returns-hero { align-items: stretch; flex-direction: column; }
  .return-route { grid-template-columns: 1fr; gap: 7px; }
  .return-route > em { transform: rotate(90deg); }
  .returns-kpis { grid-template-columns: 1fr 1fr; }
  .returns-kpis article:nth-child(2) { border-right: 0; }
  .returns-layout { grid-template-columns: 1fr; }
  .quarantine-list,.return-form,.return-quantity-grid { grid-template-columns: 1fr; }
  .return-form .wide,.return-quantity-grid { grid-column: auto; }
}

/* Packing workstation */
.packing-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  margin-bottom: 13px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
}

.packing-metrics article { padding: 13px 16px; border-left: 1px solid var(--line); }
.packing-metrics article:first-child { border-left: 0; }
.packing-metrics span,
.packing-metrics strong,
.packing-metrics small { display: block; }
.packing-metrics span { color: var(--muted); font-size: 8px; font-weight: 700; }
.packing-metrics strong { margin: 3px 0; font: 600 20px Geologica; }
.packing-metrics small { color: #8794a9; font-size: 8px; }

.packing-bench { display: grid; grid-template-columns: 292px minmax(0, 1fr); gap: 14px; align-items: start; }
.packing-queue-panel,
.packing-workspace { min-height: 590px; }
.packing-order-scan { display: flex; align-items: center; gap: 8px; margin: 12px 0; border: 1px solid #b9cef3; border-radius: 11px; background: #f4f8ff; padding: 0 10px; color: var(--blue); }
.packing-order-scan input { width: 100%; border: 0; background: transparent; padding: 10px 0; outline: 0; color: var(--text); font: 600 9px Manrope; }
.packing-queue { border-top: 1px solid var(--line); }
.packing-queue-item { width: 100%; display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 11px 6px; text-align: left; cursor: pointer; }
.packing-queue-item:hover { background: #f8faff; }
.packing-queue-item.selected { margin: 3px 0; border: 0; border-radius: 12px; background: var(--blue-soft); }
.packing-market { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; background: #eef2f7; color: #586981; font-size: 8px; font-weight: 800; }
.packing-market.wb { background: #efe7ff; color: #7d47bd; }
.packing-market.ozon { background: #e6efff; color: #2563cf; }
.packing-market.ya { background: #fff1d7; color: #b27414; }
.packing-queue-item strong,
.packing-queue-item small,
.packing-queue-item em { display: block; }
.packing-queue-item strong { font-size: 10px; }
.packing-queue-item small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.packing-queue-item em { margin-top: 4px; color: #7b8aa1; font-size: 8px; font-style: normal; }
.pack-state { border-radius: 7px; background: #edf1f6; padding: 4px 6px; color: #748298; font-size: 7px; }
.pack-state.picked { background: var(--orange-soft); color: #a76522; }
.pack-state.packing { background: var(--blue-soft); color: var(--blue-2); }
.pack-state.packed,
.pack-state.ready { background: var(--green-soft); color: var(--green); }

.packing-workspace h3 { margin: 18px 0 8px; font: 600 11px Geologica; }
.packing-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.packing-title h2 { margin: 4px 0 3px; font: 600 24px Geologica; }
.packing-title p { margin: 0; color: var(--muted); font-size: 9px; }
.packing-step { border-radius: 999px; background: #eff3f9; padding: 7px 10px; color: #77869c; font-size: 8px; font-weight: 800; letter-spacing: .08em; }

.packing-ribbon { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; margin: 15px 0 17px; border: 1px solid #dbe3ef; border-radius: 12px; background: #f6f8fc; }
.packing-ribbon::after { position: absolute; left: 0; right: 80%; bottom: 0; height: 3px; background: var(--blue); content: ""; transition: right .25s ease; }
.packing-ribbon.complete::after { right: 0; background: var(--green); }
.packing-ribbon span { display: flex; align-items: center; justify-content: space-between; gap: 4px; border-left: 1px solid #e4e9f1; padding: 9px; color: #8a97aa; font-size: 7px; font-weight: 700; }
.packing-ribbon span:first-child { border-left: 0; }
.packing-ribbon span.done { color: var(--green); }
.packing-ribbon span.active { color: var(--blue-2); background: #edf4ff; }
.packing-ribbon b { font-size: 8px; }

.packing-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.packing-items article { display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 11px; padding: 9px; }
.pack-item-check { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 800; }
.packing-items strong,
.packing-items small { display: block; }
.packing-items strong { font-size: 9px; }
.packing-items small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.packing-items article > b { font-size: 9px; }

.packing-start-card { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; margin-top: 16px; border: 1px solid #bcd1f5; border-radius: 14px; background: linear-gradient(110deg, #f5f9ff, #edf4ff); padding: 14px; }
.packing-table-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--blue); color: #fff; font: 700 12px Geologica; }
.packing-start-card strong { font-size: 10px; }
.packing-start-card p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }

.packing-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: 18px; }
.packing-section-head h3 { margin: 0 0 2px; }
.packing-section-head p { margin: 0; color: var(--muted); font-size: 8px; }
.packing-section-head > span { color: var(--blue-2); font: 600 16px Geologica; }
.packing-materials { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }
.pack-material-card { position: relative; min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 8px; cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.pack-material-card:hover { transform: translateY(-1px); border-color: #b5c7e6; }
.pack-material-card:has(input:checked) { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.pack-material-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.material-visual { height: 51px; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: linear-gradient(145deg, #d9b982, #b88a50); color: rgba(255,255,255,.9); font-size: 25px; }
.material-visual.clear { background: linear-gradient(145deg, rgba(210,225,245,.55), rgba(255,255,255,.95)); color: #95abc8; }
.material-visual.ice { background: radial-gradient(circle at 20% 25%, #fff 0 5px, transparent 6px), radial-gradient(circle at 60% 70%, #fff 0 5px, transparent 6px), #dbe9f7; color: #7c9abb; background-size: 22px 22px; }
.material-visual.blue { background: linear-gradient(145deg, rgba(202,225,255,.55), rgba(248,252,255,.95)); color: #7599cc; }
.material-visual.graphite { background: linear-gradient(145deg, #424852, #15181d); }
.pack-material-card strong,
.pack-material-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pack-material-card strong { margin-top: 7px; font-size: 8px; }
.pack-material-card small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.pack-material-card > i { position: absolute; top: 5px; right: 5px; width: 17px; height: 17px; display: none; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-size: 7px; font-style: normal; }
.pack-material-card:has(input:checked) > i { display: grid; }
.pack-material-card.low::after { position: absolute; left: 8px; top: 8px; border-radius: 6px; background: var(--orange-soft); padding: 3px 5px; color: #9b5f20; content: "мало"; font-size: 6px; font-weight: 800; }

.packing-measures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 14px; }
.packing-measures label > span,
.packing-kiz > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 700; }
.packing-measures input,
.packing-kiz textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #f8fafd; padding: 10px; outline: 0; color: var(--text); font: 600 9px Manrope; }
.packing-measures input:focus,
.packing-kiz textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.packing-kiz { display: block; margin-top: 12px; }
.packing-kiz textarea { min-height: 60px; resize: vertical; }
.packing-photo-input { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 9px; margin: 12px 0; border: 1px dashed #b8c7dd; border-radius: 11px; padding: 9px; cursor: pointer; }
.packing-photo-input input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.packing-photo-input > span:first-of-type { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--blue-soft); color: var(--blue-2); font-size: 17px; }
.packing-photo-input strong,
.packing-photo-input small { display: block; }
.packing-photo-input strong { font-size: 9px; }
.packing-photo-input small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.packing-photo-input b { max-width: 160px; overflow: hidden; color: var(--blue-2); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.packing-finish { margin-top: 2px; }

.packing-complete-seal { width: 76px; height: 76px; display: grid; place-items: center; border: 2px solid #83cdb3; border-radius: 50%; color: var(--green); text-align: center; font-size: 7px; font-weight: 700; line-height: 1.3; transform: rotate(-7deg); }
.packing-complete-seal b { display: block; font: 700 11px Geologica; letter-spacing: .08em; }
.packing-result-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(220px, .7fr); gap: 14px; }
.packing-facts { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; margin: 12px 0; border: 1px solid var(--line); border-radius: 11px; }
.packing-facts div { border-left: 1px solid var(--line); padding: 9px; }
.packing-facts div:first-child { border-left: 0; }
.packing-facts dt { color: var(--muted); font-size: 7px; }
.packing-facts dd { margin: 3px 0 0; font-size: 8px; font-weight: 700; }
.packing-consumed { display: flex; flex-wrap: wrap; gap: 6px; }
.packing-consumed span { display: flex; gap: 6px; border-radius: 8px; background: #f2f5f9; padding: 6px 8px; color: #63728a; font-size: 7px; }
.packing-consumed b { color: var(--text); }
.packing-photo { min-width: 0; margin: 18px 0 0; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #f5f7fa; }
.packing-photo img { width: 100%; height: 210px; display: block; object-fit: cover; }
.packing-photo figcaption { padding: 8px; color: var(--muted); font-size: 7px; text-align: center; }
.packing-label-button { margin-top: 13px; }
.packing-ready-note { margin-top: 13px; border-radius: 10px; background: var(--green-soft); padding: 10px; color: var(--green); font-size: 8px; font-weight: 700; text-align: center; }
.job-print { border: 0; border-radius: 8px; background: var(--blue); color: #fff; padding: 6px 8px; font-size: 8px; font-weight: 700; cursor: pointer; }

@media (max-width: 1180px) {
  .packing-bench { grid-template-columns: 250px minmax(0, 1fr); }
  .packing-materials { grid-template-columns: repeat(3, 1fr); }
  .packing-result-grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .packing-metrics { grid-template-columns: repeat(2, 1fr); }
  .packing-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .packing-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
  .packing-bench { grid-template-columns: 1fr; }
  .packing-queue-panel { min-height: auto; }
  .packing-ribbon { grid-template-columns: 1fr; }
  .packing-ribbon span { border-left: 0; border-top: 1px solid var(--line); }
  .packing-items,
  .packing-materials,
  .packing-measures,
  .packing-facts { grid-template-columns: repeat(2, 1fr); }
  .packing-start-card { grid-template-columns: 42px 1fr; }
  .packing-start-card button { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .pack-material-card { transition: none; }
}

/* Outbound dock and dispatch control */
.shipping-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  margin-bottom: 13px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
}

.shipping-metrics article { border-left: 1px solid var(--line); padding: 13px 16px; }
.shipping-metrics article:first-child { border-left: 0; }
.shipping-metrics span,
.shipping-metrics strong,
.shipping-metrics small { display: block; }
.shipping-metrics span { color: var(--muted); font-size: 8px; font-weight: 700; }
.shipping-metrics strong { margin: 3px 0; font: 600 20px Geologica; }
.shipping-metrics small { color: #8794a9; font-size: 8px; }

.shipping-bench { display: grid; grid-template-columns: 292px minmax(0, 1fr); align-items: start; gap: 14px; }
.shipping-sidebar,
.shipping-workspace { min-height: 610px; }
.shipping-list { margin-top: 12px; border-top: 1px solid var(--line); }
.shipping-list-item { width: 100%; display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 11px 6px; text-align: left; cursor: pointer; }
.shipping-list-item:hover { background: #f8faff; }
.shipping-list-item.selected { margin: 3px 0; border: 0; border-radius: 12px; background: var(--blue-soft); }
.shipping-market { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: #eef2f7; color: #586981; font-size: 7px; font-weight: 800; }
.shipping-market.wb { background: #efe7ff; color: #7d47bd; }
.shipping-market.ozon { background: #e6efff; color: #2563cf; }
.shipping-market.ya { background: #fff1d7; color: #b27414; }
.shipping-list-item strong,
.shipping-list-item small,
.shipping-list-item em { display: block; }
.shipping-list-item strong { font-size: 9px; }
.shipping-list-item small { max-width: 155px; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.shipping-list-item em { margin-top: 4px; color: #7b8aa1; font-size: 7px; font-style: normal; }
.shipping-state { border-radius: 7px; background: #edf1f6; padding: 4px 6px; color: #748298; font-size: 7px; white-space: nowrap; }
.shipping-state.loading { background: var(--blue-soft); color: var(--blue-2); }
.shipping-state.ready { background: var(--orange-soft); color: #9b5f20; }
.shipping-state.dispatched { background: var(--green-soft); color: var(--green); }

.shipping-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.shipping-title h2 { margin: 4px 0 3px; font: 600 22px Geologica; }
.shipping-title p { margin: 0; color: var(--muted); font-size: 8px; }
.shipping-status { border-radius: 9px; background: var(--blue-soft); padding: 6px 9px; color: var(--blue-2); font-size: 8px; font-weight: 800; }
.shipping-status.ready { background: var(--orange-soft); color: #9b5f20; }
.shipping-status.dispatched { background: var(--green-soft); color: var(--green); }

.shipping-readiness { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; margin: 14px 0; border: 1px solid var(--line); border-radius: 11px; background: #f7f9fc; }
.shipping-readiness span { display: flex; align-items: center; gap: 6px; border-left: 1px solid var(--line); padding: 8px; color: #8a97aa; font-size: 7px; font-weight: 700; }
.shipping-readiness span:first-child { border-left: 0; }
.shipping-readiness i { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; background: #e6ebf2; color: #8b98aa; font-size: 7px; font-style: normal; }
.shipping-readiness span.done { color: var(--green); }
.shipping-readiness span.done i { background: var(--green-soft); color: var(--green); }
.shipping-readiness span.active { background: #edf4ff; color: var(--blue-2); }
.shipping-readiness span.active i { background: var(--blue); color: #fff; }

.dock-visual { display: grid; grid-template-columns: minmax(220px, .82fr) minmax(260px, 1.18fr); gap: 11px; margin-bottom: 15px; }
.dock-gate { overflow: hidden; border: 1px solid #c9d3e1; border-radius: 13px; background: #e8edf4; }
.dock-header { display: flex; justify-content: space-between; padding: 7px 10px; background: #26344d; color: #fff; font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }
.dock-door { min-height: 108px; display: grid; grid-template-columns: repeat(4, 1fr); align-content: end; gap: 6px; border: 8px solid #d2dae5; border-bottom-width: 12px; background: repeating-linear-gradient(0deg, #f5f7fa 0, #f5f7fa 20px, #e2e7ee 21px, #e2e7ee 22px); padding: 9px; }
.dock-cargo { position: relative; min-height: 45px; display: grid; place-items: center; border: 1px solid #b28b59; border-radius: 5px 5px 2px 2px; background: linear-gradient(145deg, #d9b982, #b88a50); color: #fff; }
.dock-cargo.sealed { border-color: #4d8e79; background: linear-gradient(145deg, #74b9a0, #3e8d73); }
.dock-cargo span { font-size: 17px; }
.dock-cargo b { position: absolute; top: 3px; right: 4px; border-radius: 5px; background: rgba(15,26,45,.7); padding: 2px 4px; font-size: 6px; }
.dock-empty { grid-column: 1 / -1; align-self: center; color: #7c899b; font-size: 8px; text-align: center; }
.truck-load { display: grid; grid-template-columns: 68px 1fr; align-items: stretch; overflow: hidden; border: 1px solid #c9d8ee; border-radius: 13px; background: linear-gradient(110deg, #edf4ff, #f8fbff); }
.truck-cab { display: grid; place-items: center; background: linear-gradient(150deg, #5c82ed, #3459c6); color: #fff; font: 700 9px Geologica; letter-spacing: .09em; writing-mode: vertical-rl; transform: rotate(180deg); }
.truck-load > div { align-self: center; padding: 15px; }
.truck-load span,
.truck-load strong,
.truck-load small { display: block; }
.truck-load > div > span { color: #687791; font-size: 8px; font-weight: 700; }
.truck-load strong { margin: 4px 0 10px; font: 600 25px Geologica; }
.truck-load i { display: block; height: 9px; overflow: hidden; border-radius: 10px; background: #dbe4f2; }
.truck-load i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5277e8, #78a6ff); }
.truck-load small { margin-top: 7px; color: #7b8aa1; font-size: 7px; }

.dispatch-scan { position: relative; display: grid; grid-template-columns: 38px minmax(120px, .8fr) minmax(135px, .7fr) minmax(160px, 1fr) auto; align-items: center; gap: 8px; overflow: hidden; border: 1px solid #bcd1f5; border-radius: 13px; background: linear-gradient(110deg, #f7fbff, #edf4ff); padding: 11px; }
.dispatch-scan::after { position: absolute; top: 0; bottom: 0; left: -2px; width: 2px; background: #6f9cff; box-shadow: 0 0 15px 4px rgba(82,119,232,.28); content: ""; animation: dispatch-scan-sweep 3s ease-in-out infinite; pointer-events: none; }
.dispatch-scan-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--blue); color: #fff; font-size: 18px; }
.dispatch-scan strong,
.dispatch-scan small { display: block; }
.dispatch-scan strong { font-size: 9px; }
.dispatch-scan small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.dispatch-scan select,
.dispatch-scan input,
.dispatch-form-grid select,
.dispatch-complete-form input { min-width: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 9px 10px; outline: 0; color: var(--text); font: 500 8px Manrope; }
.dispatch-scan select:focus,
.dispatch-scan input:focus,
.dispatch-form-grid select:focus,
.dispatch-complete-form input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
@keyframes dispatch-scan-sweep { 0%,100% { left: 0; opacity: 0; } 15%,85% { opacity: 1; } 50% { left: 100%; } }

.cargo-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 14px; }
.cargo-toolbar h3 { margin: 0 0 2px; font: 600 11px Geologica; }
.cargo-toolbar p { margin: 0; color: var(--muted); font-size: 7px; }
.cargo-toolbar > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.wb-cargo-button { border: 1px solid #d8c6ee; border-radius: 9px; background: #f4edff; color: #7446a5; padding: 8px 9px; font-size: 8px; font-weight: 700; cursor: pointer; }
.cargo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 8px; }
.cargo-card { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 11px; padding: 9px; }
.cargo-card.sealed { border-color: #b8dfd2; background: #f7fcfa; }
.cargo-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: linear-gradient(145deg, #d9b982, #b88a50); color: #fff; font-size: 15px; }
.cargo-card.sealed .cargo-icon { background: linear-gradient(145deg, #74b9a0, #3e8d73); }
.cargo-card strong,
.cargo-card small { display: block; }
.cargo-card strong { font-size: 8px; }
.cargo-card small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.cargo-card-state { border-radius: 7px; background: var(--orange-soft); padding: 4px 6px; color: #9b5f20; font-size: 6px; font-weight: 800; }
.cargo-card.sealed .cargo-card-state { background: var(--green-soft); color: var(--green); }
.cargo-actions { grid-column: 2 / -1; display: flex; justify-content: flex-end; gap: 5px; }
.cargo-actions a,
.cargo-actions button { border: 0; border-radius: 7px; background: var(--blue-soft); color: var(--blue-2); padding: 5px 7px; font-size: 7px; font-weight: 700; text-decoration: none; cursor: pointer; }
.cargo-actions button { background: var(--orange-soft); color: #9b5f20; }

.shipping-workspace > h3,
.dispatch-controls > h3 { margin: 15px 0 7px; font: 600 10px Geologica; }
.dispatch-orders { border: 1px solid var(--line); border-radius: 11px; }
.dispatch-orders article { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid var(--line); padding: 8px; }
.dispatch-orders article:first-child { border-top: 0; }
.dispatch-orders article > span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; background: #edf1f6; color: #8a98ac; font-size: 8px; }
.dispatch-orders article.loaded > span { background: var(--green-soft); color: var(--green); }
.dispatch-orders strong,
.dispatch-orders small { display: block; }
.dispatch-orders strong { font-size: 8px; }
.dispatch-orders small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.dispatch-orders em { color: #7c8a9e; font-size: 7px; font-style: normal; }
.dispatch-blocked-note { margin: 11px 0 0; border-radius: 9px; background: #f4f6f9; padding: 9px; color: #75849b; font-size: 7px; text-align: center; }

.dispatch-complete-form { display: grid; grid-template-columns: minmax(145px, 1fr) minmax(120px, .7fr) minmax(120px, .7fr) minmax(130px, .8fr) auto; align-items: end; gap: 8px; margin-top: 12px; border: 1px solid #b8dfd2; border-radius: 12px; background: var(--green-soft); padding: 11px; }
.dispatch-complete-form h3 { margin: 0 0 3px; color: #21795f; font: 600 10px Geologica; }
.dispatch-complete-form p { margin: 0; color: #4a8c78; font-size: 7px; }
.dispatch-complete-form label > span { display: block; margin-bottom: 4px; color: #568775; font-size: 7px; font-weight: 700; }
.dispatch-photo-field { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 32px; border: 1px dashed #9bc8b8; border-radius: 9px; background: #fff; padding: 7px; color: #35836b; font-size: 7px; cursor: pointer; }
.dispatch-photo-field input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.dispatch-photo-field b { max-width: 65px; overflow: hidden; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }

.dispatch-complete { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 15px; border: 1px solid #b8dfd2; border-radius: 13px; background: var(--green-soft); padding: 15px; }
.dispatch-complete > div:first-child { display: flex; align-items: center; gap: 12px; }
.dispatch-seal { width: 72px; height: 72px; display: grid; place-items: center; border: 2px solid #62aa91; border-radius: 50%; color: #318069; text-align: center; font-size: 6px; font-weight: 700; line-height: 1.3; transform: rotate(-7deg); }
.dispatch-seal b { display: block; font: 700 10px Geologica; letter-spacing: .08em; }
.dispatch-complete h3 { margin: 0 0 3px; font: 600 13px Geologica; }
.dispatch-complete p { margin: 0; color: #528b78; font-size: 8px; }
.dispatch-doc-actions { display: flex; gap: 7px; }

.dispatch-modal { width: min(720px, calc(100vw - 28px)); }
.dispatch-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.dispatch-form-grid .wide { grid-column: 1 / -1; }
.dispatch-modal h3 { margin: 17px 0 5px; font: 600 11px Geologica; }
.dispatch-form-note { margin: 0 0 8px; color: var(--muted); font-size: 8px; }
.dispatch-candidates { max-height: 260px; overflow: auto; margin-bottom: 11px; border: 1px solid var(--line); border-radius: 11px; }
.dispatch-candidates > label { display: grid; grid-template-columns: 18px 31px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid var(--line); padding: 9px; cursor: pointer; }
.dispatch-candidates > label:first-child { border-top: 0; }
.dispatch-candidates > label:has(input:checked) { background: var(--blue-soft); }
.dispatch-candidates strong,
.dispatch-candidates small { display: block; }
.dispatch-candidates strong { font-size: 9px; }
.dispatch-candidates small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.dispatch-candidates > label > b { color: #65758d; font-size: 7px; }

@media (max-width: 1180px) {
  .shipping-bench { grid-template-columns: 245px minmax(0, 1fr); }
  .dispatch-scan { grid-template-columns: 36px 1fr 1fr; }
  .dispatch-scan input { grid-column: 2 / 3; }
  .dispatch-scan button { grid-column: 3 / 4; }
  .dispatch-complete-form { grid-template-columns: repeat(2, 1fr); }
  .dispatch-complete-form > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
  .shipping-metrics { grid-template-columns: repeat(2, 1fr); }
  .shipping-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .shipping-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
  .shipping-bench { grid-template-columns: 1fr; }
  .shipping-sidebar { min-height: auto; }
  .shipping-readiness { grid-template-columns: 1fr; }
  .shipping-readiness span { border-left: 0; border-top: 1px solid var(--line); }
  .dock-visual,
  .cargo-grid,
  .dispatch-form-grid,
  .dispatch-complete-form { grid-template-columns: 1fr; }
  .dispatch-scan { grid-template-columns: 36px 1fr; }
  .dispatch-scan select,
  .dispatch-scan input,
  .dispatch-scan button { grid-column: 1 / -1; }
  .cargo-toolbar,
  .dispatch-complete { align-items: stretch; flex-direction: column; }
  .cargo-toolbar > div:last-child { justify-content: flex-start; }
  .dispatch-doc-actions { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .dispatch-scan::after { animation: none; display: none; }
}

/* Команда и смены */
.nav-list { min-height: 0; overflow-y: auto; scrollbar-width: none; }
.nav-list::-webkit-scrollbar { display: none; }
.team-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 3px 2px; }
.team-hero h2 { margin: 5px 0 5px; font: 600 22px Geologica; letter-spacing: -.035em; }
.team-hero p { margin: 0; color: var(--muted); font-size: 10px; }
.team-hero-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.team-hero-actions .secondary-button { margin-left: 0; }

.team-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.team-metrics article { min-height: 103px; border-left: 1px solid var(--line); padding: 16px 18px; }
.team-metrics article:first-child { border-left: 0; }
.team-metrics span { display: block; color: var(--muted); font-size: 9px; }
.team-metrics strong { display: block; margin: 7px 0 5px; font: 600 24px Geologica; letter-spacing: -.035em; }
.team-metrics strong small { color: #9aa6b8; font-size: 12px; }
.team-metrics strong.urgent { color: #d47a28; }
.team-metrics em { display: flex; align-items: center; gap: 5px; color: #7b899f; font-size: 7px; font-style: normal; }
.team-metrics em i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }

.shift-board { overflow: hidden; margin-bottom: 14px; border: 1px solid #cbd8f3; border-radius: 20px; background: radial-gradient(circle at 15% -30%, rgba(117, 162, 246, .23), transparent 40%), linear-gradient(125deg, #fafdff, #f1f6ff); box-shadow: 0 15px 38px rgba(52, 84, 156, .08); }
.shift-board-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px 13px; }
.shift-board-head h3 { margin: 6px 0 3px; font: 600 17px Geologica; }
.shift-board-head p { margin: 0; color: var(--muted); font-size: 8px; }
.shift-board-head > div:last-child { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.shift-board-head .secondary-button { margin-left: 0; }
.shift-live { display: inline-flex; align-items: center; gap: 6px; border-radius: 20px; background: var(--green-soft); padding: 5px 8px; color: #278568; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.shift-live i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(56, 168, 132, .1); animation: shift-pulse 2s ease infinite; }
.shift-live.planned { background: var(--blue-soft); color: var(--blue-2); }
.shift-live.planned i { background: var(--blue); box-shadow: none; animation: none; }
.shift-live.closed { background: #eef1f5; color: #758198; }
.shift-live.closed i { background: #9aa6b8; box-shadow: none; animation: none; }
@keyframes shift-pulse { 50% { box-shadow: 0 0 0 7px rgba(56, 168, 132, 0); } }

.shift-rail { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 10px 14px 15px; }
.shift-rail::before { position: absolute; top: 49px; right: 7%; left: 7%; height: 2px; background: linear-gradient(90deg, #7fbde8, #6e91ee, #78a7f2, #6a7fdf); content: ""; opacity: .5; }
.shift-station { position: relative; z-index: 1; min-width: 0; border: 1px solid rgba(207, 219, 240, .95); border-radius: 14px; background: rgba(255, 255, 255, .9); padding: 11px; box-shadow: 0 7px 17px rgba(49, 75, 132, .045); }
.station-top { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 8px; }
.station-symbol { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 10px; background: #e8f6fd; color: #2d85b5; font-size: 15px; font-weight: 800; }
.shift-station.picking .station-symbol { background: #eef0ff; color: #5769ce; }
.shift-station.packing .station-symbol { background: #ecf8f1; color: #3f9474; }
.shift-station.shipping .station-symbol { background: #f0efff; color: #6960c6; }
.station-top small,
.station-top strong { display: block; }
.station-top small { color: #91a0b5; font-size: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.station-top strong { overflow: hidden; margin-top: 2px; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.station-top > b { border-radius: 7px; background: #f0f3f8; padding: 4px 6px; color: #6f7d93; font-size: 7px; }
.station-load { height: 4px; overflow: hidden; margin: 9px 0; border-radius: 5px; background: #edf1f7; }
.station-load i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #69b9df, #547be4); }
.station-people { min-height: 25px; display: flex; flex-wrap: wrap; gap: 4px; }
.station-people > span { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 3px 5px 3px 3px; color: #66758d; font-size: 6px; }
.station-people > span i { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 6px; background: var(--blue-soft); color: var(--blue-2); font-size: 5px; font-style: normal; font-weight: 800; }
.station-people em { align-self: center; color: #9aa6b7; font-size: 7px; font-style: normal; }
.shift-station > button { width: 100%; margin-top: 7px; border: 0; border-radius: 8px; background: #f4f7fb; padding: 6px; color: #657796; font-size: 7px; font-weight: 700; }
.shift-station > button:hover { background: var(--blue-soft); color: var(--blue-2); }

.team-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(235px, .65fr); gap: 14px; margin-bottom: 14px; }
.team-count { border-radius: 8px; background: #f1f4f8; padding: 5px 7px; color: #738199; font-size: 7px; font-weight: 700; }
.team-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
.team-person { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 25px; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 12px; padding: 8px; }
.team-avatar { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 10px; background: #ebefff; color: #5266c8; font-size: 8px; font-weight: 800; }
.team-avatar.violet { background: #f2eaff; color: #794cb0; }
.team-avatar.blue { background: var(--blue-soft); color: var(--blue-2); }
.team-avatar.cyan { background: #e6f7fb; color: #267b98; }
.team-avatar.amber { background: var(--orange-soft); color: #b56c25; }
.team-avatar.green { background: var(--green-soft); color: #278568; }
.team-avatar.indigo { background: #eceeff; color: #5d67bd; }
.team-person-main strong,
.team-person-main small,
.team-person-main em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-person-main strong { font-size: 8px; }
.team-person-main small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.team-person-main em { margin-top: 4px; color: #3d8b70; font-size: 6px; font-style: normal; }
.team-output { text-align: right; }
.team-output b,
.team-output small { display: block; }
.team-output b { font: 600 11px Geologica; }
.team-output small { color: #9aa5b6; font-size: 5px; }
.team-person-action { width: 24px; height: 24px; border: 0; border-radius: 7px; background: #f0f3f8; color: #6d7b91; font-size: 9px; }
.team-person-action:hover { background: var(--blue-soft); color: var(--blue-2); }

.role-list { margin-top: 11px; }
.role-list > div { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid #edf1f6; padding: 9px 0; }
.role-list > div:first-child { border-top: 0; }
.role-list > div > i { width: 7px; height: 26px; border-radius: 4px; background: #788be6; }
.role-list > div > i.violet { background: #9c72d3; }
.role-list > div > i.cyan { background: #65b7d0; }
.role-list > div > i.amber { background: #e7a24e; }
.role-list > div > i.green { background: #59aa8b; }
.role-list > div > i.indigo { background: #7676c9; }
.role-list strong,
.role-list small { display: block; }
.role-list strong { font-size: 8px; }
.role-list small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.role-list b { min-width: 23px; border-radius: 7px; background: #f0f3f8; padding: 4px; font-size: 7px; text-align: center; }

.task-board { border: 1px solid var(--line); border-radius: 19px; background: #fff; padding: 18px; }
.task-board-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.task-board-head h2 { margin: 4px 0 0; font: 600 17px Geologica; }
.task-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.task-column { min-height: 145px; border-radius: 12px; background: #f5f7fb; padding: 7px; }
.task-column > header { display: flex; align-items: center; justify-content: space-between; padding: 3px 4px 7px; color: #6f7d94; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.task-column > header b { min-width: 19px; border-radius: 7px; background: #fff; padding: 3px 4px; font-size: 6px; text-align: center; }
.task-column > div { display: flex; flex-direction: column; gap: 6px; }
.shift-task { position: relative; overflow: hidden; border: 1px solid #e1e6ee; border-radius: 10px; background: #fff; padding: 9px; box-shadow: 0 4px 12px rgba(44, 65, 110, .035); }
.shift-task::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: #9ca9bc; content: ""; }
.shift-task.priority-high::before { background: var(--orange); }
.shift-task.priority-critical::before { background: var(--red); }
.shift-task.priority-low::before { background: #80a8df; }
.task-meta { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.task-meta span { color: #728198; font-size: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.task-meta b { border-radius: 6px; background: #f0f3f7; padding: 3px 5px; color: #78869a; font-size: 5px; }
.priority-high .task-meta b { background: var(--orange-soft); color: #b76d27; }
.priority-critical .task-meta b { background: var(--red-soft); color: var(--red); }
.shift-task h4 { min-height: 25px; margin: 7px 0 5px; font-size: 8px; line-height: 1.45; }
.shift-task code { display: block; margin-bottom: 6px; color: var(--blue-2); font: 600 6px Manrope; }
.task-assignee { display: flex; align-items: center; gap: 5px; }
.mini-avatar { width: 19px; height: 19px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 6px; background: var(--blue-soft); color: var(--blue-2); font-size: 5px; font-weight: 800; }
.task-assignee select { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: #65758c; font: 600 6px Manrope; }
.shift-task footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 8px; padding-top: 7px; border-top: 1px solid #edf1f6; }
.shift-task footer time { color: #8794a8; font-size: 6px; }
.shift-task footer button { border: 0; border-radius: 6px; background: var(--blue-soft); padding: 4px 6px; color: var(--blue-2); font-size: 6px; font-weight: 800; }
.shift-task footer span { color: var(--green); font-size: 6px; font-weight: 800; }
.task-empty { margin: 16px 0; color: #9ca8b9; font-size: 7px; text-align: center; }

.team-modal { width: min(535px, calc(100vw - 28px)); }
.team-modal-symbol { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 13px; border-radius: 14px; background: linear-gradient(140deg, #e5efff, #cbdcff); color: #3b63cd; font-size: 20px; font-weight: 800; }
.team-modal-note { margin: -8px 0 18px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.team-modal .integration-field { margin-top: 10px; }
.team-modal .integration-field select,
.team-form-grid .integration-field select { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: #f8fafd; padding: 12px 13px; outline: 0; color: var(--ink); font: 500 10px Manrope; }
.team-modal .integration-field select:focus,
.team-form-grid .integration-field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.team-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 9px; }
.team-form-grid .wide { grid-column: 1 / -1; }
.team-form-grid button { margin-top: 12px; }
.demo-pin-note { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; border: 1px solid #d9e3f8; border-radius: 11px; background: #f4f7ff; padding: 10px 11px; }
.demo-pin-note strong { color: #435b95; font-size: 8px; }
.demo-pin-note span { color: #6e7e9b; font-size: 7px; }
.logout-button { width: 100%; margin-top: 9px; border: 0; background: transparent; padding: 7px; color: var(--red); font-size: 8px; font-weight: 700; }

/* Сменный чек сдельной выработки */
.payroll-board { position: relative; overflow: hidden; margin-bottom: 12px; border: 1px solid #cddaf0; border-radius: 19px; background: linear-gradient(135deg, #fafdff 0%, #f4f8ff 58%, #edf4ff 100%); box-shadow: 0 10px 28px rgba(52, 83, 145, .07); }
.payroll-board::before { position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--blue), #6d8ae5 56%, var(--green)); content: ""; }
.payroll-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px 14px; }
.payroll-head h2 { margin: 4px 0 3px; font: 600 18px Geologica; letter-spacing: -.035em; }
.payroll-head p { margin: 0; color: var(--muted); font-size: 7px; }
.payroll-head > div:last-child { display: flex; gap: 7px; }
.payroll-head .secondary-button { margin-left: 0; }
.payroll-flow { display: grid; grid-template-columns: auto minmax(20px, 1fr) auto minmax(20px, 1fr) auto; align-items: center; margin: 0 20px 10px; padding: 10px 14px; border: 1px dashed #cfdced; border-radius: 13px; background: rgba(255, 255, 255, .62); }
.payroll-flow > span { display: grid; grid-template-columns: 23px auto; column-gap: 7px; align-items: center; color: #94a0b2; }
.payroll-flow > span i { grid-row: 1 / 3; width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid #d5deeb; border-radius: 50%; background: #fff; font-size: 6px; font-style: normal; font-weight: 900; }
.payroll-flow > span b { font-size: 7px; }
.payroll-flow > span small { margin-top: 1px; font-size: 5px; }
.payroll-flow > span.current { color: #4269c9; }
.payroll-flow > span.current i { border-color: #84a3ec; background: #eaf1ff; box-shadow: 0 0 0 4px rgba(89, 125, 215, .08); }
.payroll-flow > span.done { color: #3b8d6b; }
.payroll-flow > span.done i { border-color: #8bc7ad; background: #e8f6ef; }
.payroll-flow > em { height: 1px; margin: 0 10px; background: repeating-linear-gradient(90deg, #cad5e5 0 5px, transparent 5px 9px); }
.payroll-statement-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 20px 12px; border-radius: 11px; background: #eaf1ff; padding: 8px 10px; }
.payroll-statement-actions.live { background: #f1f5fb; }
.payroll-statement-actions > div { display: flex; align-items: center; gap: 6px; }
.payroll-statement-actions .secondary-button { margin-left: 0; }
.payroll-statement-actions p { margin: 0; color: #74839a; font-size: 6px; }
.payroll-state { display: inline-flex; align-items: center; gap: 6px; color: #4766aa; font-size: 7px; font-weight: 800; }
.payroll-state i { width: 7px; height: 7px; border-radius: 50%; background: #5e7ed1; box-shadow: 0 0 0 3px rgba(94, 126, 209, .12); }
.payroll-state.approved { color: #9a681f; }
.payroll-state.approved i { background: #d7993e; box-shadow: 0 0 0 3px rgba(215, 153, 62, .14); }
.payroll-state.paid { color: #34815f; }
.payroll-state.paid i { background: #55a87e; box-shadow: 0 0 0 3px rgba(85, 168, 126, .14); }
.payroll-state.live { color: #718098; }
.payroll-state.live i { background: #8d9bb0; animation: team-pulse 1.8s infinite; }
.payroll-paid-mark { color: #3b8d6b; font-size: 7px; font-weight: 800; }
.payroll-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 20px 14px; overflow: hidden; border: 1px solid #dce5f3; border-radius: 13px; background: rgba(255, 255, 255, .84); }
.payroll-kpis article { position: relative; padding: 12px 14px; border-left: 1px dashed #d7e0ed; }
.payroll-kpis article:first-child { border-left: 0; }
.payroll-kpis span, .payroll-kpis small { display: block; }
.payroll-kpis span { color: #77869c; font-size: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.payroll-kpis strong { display: block; margin: 5px 0 2px; color: #23334e; font: 600 17px Geologica; }
.payroll-kpis strong em { color: #8797ae; font-size: 8px; font-style: normal; }
.payroll-kpis small { color: #8b98aa; font-size: 6px; }
.payroll-body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(230px, .75fr); gap: 10px; padding: 0 20px 20px; }
.payroll-ranking, .payroll-services { border: 1px solid #dfe7f2; border-radius: 14px; background: #fff; }
.payroll-ranking > header { display: flex; justify-content: space-between; padding: 9px 12px; border-bottom: 1px dashed #dbe3ee; color: #8794a7; font-size: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.payroll-person { display: grid; grid-template-columns: 22px 31px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 9px 12px; border-top: 1px solid #edf1f6; }
.payroll-person:nth-child(2) { border-top: 0; }
.payroll-rank { color: #a0acbd; font: 700 7px Geologica; }
.payroll-person .team-avatar { width: 30px; height: 30px; border-radius: 9px; font-size: 7px; }
.payroll-person-main { min-width: 0; }
.payroll-person-main strong, .payroll-person-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payroll-person-main strong { font-size: 8px; }
.payroll-person-main small { margin-top: 2px; color: #8190a5; font-size: 6px; }
.payroll-quality { display: block; width: 92px; height: 3px; margin-top: 5px; overflow: hidden; border-radius: 3px; background: #edf1f5; }
.payroll-quality i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #66b88e, var(--green)); }
.payroll-person-output { min-width: 102px; text-align: right; }
.payroll-person-output strong, .payroll-person-output small { display: block; }
.payroll-person-output strong { color: #243552; font: 600 10px Geologica; }
.payroll-person-output small { margin-top: 3px; color: #8996a8; font-size: 5px; }
.payroll-adjustment { display: inline-block; margin-top: 3px; border-radius: 5px; background: #e7f5ed; padding: 2px 4px; color: #34815f; font-size: 5px; font-style: normal; font-weight: 800; }
.payroll-adjustment.negative { background: #fff0ed; color: #bd5e4d; }
.payroll-services { position: relative; padding: 13px 14px 11px; }
.payroll-services::before, .payroll-services::after { position: absolute; left: -6px; width: 11px; height: 11px; border-radius: 50%; background: #f5f9ff; content: ""; }
.payroll-services::before { top: 38px; }
.payroll-services::after { bottom: 37px; }
.payroll-services h3 { margin: 4px 0 12px; font: 600 12px Geologica; }
.payroll-services > div { display: grid; grid-template-columns: minmax(88px, 1fr) minmax(45px, .8fr) auto; gap: 8px; align-items: center; margin-top: 9px; }
.payroll-services > div span strong, .payroll-services > div span small { display: block; }
.payroll-services > div span strong { font-size: 6px; }
.payroll-services > div span small { margin-top: 2px; color: #8b98aa; font-size: 5px; }
.payroll-services > div > i { height: 4px; overflow: hidden; border-radius: 4px; background: #edf1f7; }
.payroll-services > div > i b { display: block; height: 100%; border-radius: inherit; background: #7897df; }
.payroll-services > div > em { color: #607089; font-size: 6px; font-style: normal; font-weight: 800; }
.payroll-services footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 13px; padding-top: 11px; border-top: 1px dashed #d5deea; }
.payroll-services footer span { color: #76849a; font-size: 6px; }
.payroll-services footer strong { font: 600 10px Geologica; }
.payroll-empty { margin: 20px 12px; color: #95a1b3; font-size: 7px; text-align: center; }
.payroll-rate-list { margin: 12px 0 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; }
.payroll-rate-list > label { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-top: 1px solid var(--line); }
.payroll-rate-list > label:first-child { border-top: 0; }
.payroll-rate-list label > span:first-child strong, .payroll-rate-list label > span:first-child small { display: block; }
.payroll-rate-list label > span:first-child strong { font-size: 8px; }
.payroll-rate-list label > span:first-child small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.payroll-rate-list label > span:last-child { display: flex; align-items: center; gap: 6px; }
.payroll-rate-list input { width: 92px; border: 1px solid #cbd6e8; border-radius: 9px; background: #f8fafd; padding: 8px 9px; outline: 0; font: 700 9px Manrope; text-align: right; }
.payroll-rate-list input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.payroll-rate-list em { color: #78869b; font-size: 8px; font-style: normal; font-weight: 800; }

@media (max-width: 1180px) {
  .team-layout { grid-template-columns: 1fr; }
  .team-roles .role-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 12px; }
  .task-columns { grid-template-columns: repeat(2, 1fr); }
  .payroll-body { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .team-metrics { grid-template-columns: repeat(2, 1fr); }
  .team-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .team-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
  .shift-rail { grid-template-columns: repeat(2, 1fr); }
  .shift-rail::before { display: none; }
  .payroll-kpis { grid-template-columns: repeat(2, 1fr); }
  .payroll-kpis article:nth-child(3) { border-top: 1px dashed #d7e0ed; border-left: 0; }
  .payroll-kpis article:nth-child(4) { border-top: 1px dashed #d7e0ed; }
}

@media (max-width: 650px) {
  .team-hero,
  .shift-board-head,
  .task-board-head,
  .payroll-head { align-items: stretch; flex-direction: column; }
  .team-hero-actions,
  .shift-board-head > div:last-child { justify-content: flex-start; }
  .team-metrics,
  .shift-rail,
  .team-people,
  .task-columns,
  .team-form-grid,
  .team-roles .role-list { grid-template-columns: 1fr; }
  .team-metrics article { border-top: 1px solid var(--line); border-left: 0; }
  .team-metrics article:first-child { border-top: 0; }
  .team-form-grid .wide { grid-column: auto; }
  .payroll-head > div:last-child { justify-content: flex-start; }
  .payroll-flow { grid-template-columns: 1fr; gap: 6px; }
  .payroll-flow > em { width: 1px; height: 10px; margin: 0 0 0 11px; background: repeating-linear-gradient(180deg, #cad5e5 0 4px, transparent 4px 7px); }
  .payroll-statement-actions { align-items: stretch; flex-direction: column; }
  .payroll-statement-actions > div { flex-wrap: wrap; }
  .payroll-kpis { grid-template-columns: 1fr; }
  .payroll-kpis article { border-top: 1px dashed #d7e0ed; border-left: 0; }
  .payroll-kpis article:first-child { border-top: 0; }
  .payroll-person { grid-template-columns: 20px 29px minmax(0, 1fr); }
  .payroll-person-output { grid-column: 3; min-width: 0; text-align: left; }
  .payroll-quality { width: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  .shift-live i { animation: none; }
}

/* Рабочее адресное хранение */
.warehouse-command { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.warehouse-command h2 { margin: 5px 0 4px; font: 600 22px Geologica; letter-spacing: -.04em; }
.warehouse-command p { margin: 0; color: var(--muted); font-size: 9px; }
.warehouse-command-actions { display: flex; align-items: center; gap: 7px; }
.warehouse-command-actions .secondary-button { margin-left: 0; }
.warehouse-scan { width: 280px; height: 40px; display: flex; align-items: center; gap: 7px; border: 1px solid #c7d6f2; border-radius: 11px; background: #fff; padding: 0 9px; box-shadow: 0 7px 20px rgba(61, 91, 154, .06); }
.warehouse-scan > span { color: var(--blue-2); font-size: 15px; }
.warehouse-scan input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; font-size: 9px; }
.warehouse-scan kbd { border: 1px solid var(--line); border-radius: 5px; background: #f5f7fa; padding: 2px 4px; color: #8d99ac; font-size: 6px; }

.warehouse-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; margin-bottom: 12px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.warehouse-kpis article { border-left: 1px solid var(--line); padding: 13px 16px; }
.warehouse-kpis article:first-child { border-left: 0; }
.warehouse-kpis span,
.warehouse-kpis em { display: block; }
.warehouse-kpis span { color: var(--muted); font-size: 7px; }
.warehouse-kpis strong { display: block; margin: 5px 0 3px; font: 600 20px Geologica; }
.warehouse-kpis strong small { color: #9ba7b8; font-size: 10px; }
.warehouse-kpis strong.warning { color: var(--orange); }
.warehouse-kpis em { color: #8794a8; font-size: 6px; font-style: normal; }

.warehouse-layout { display: grid; grid-template-columns: minmax(0, 1fr) 315px; gap: 12px; align-items: stretch; }
.warehouse-console { min-width: 0; min-height: 560px; overflow: hidden; border: 1px solid #ced9ec; border-radius: 18px; background: radial-gradient(circle at 8% 0, rgba(109, 158, 235, .13), transparent 27%), #f9fbff; box-shadow: 0 12px 35px rgba(49, 78, 138, .065); }
.warehouse-console-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #dce4f1; padding: 11px 13px; background: rgba(255, 255, 255, .74); }
.warehouse-zone-tabs { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.warehouse-zone-tabs button { border: 0; border-radius: 8px; background: transparent; padding: 7px 8px; color: #708097; font-size: 7px; font-weight: 700; }
.warehouse-zone-tabs button b { margin-left: 3px; color: #9aa7b8; font-size: 6px; }
.warehouse-zone-tabs button.active { background: var(--blue-soft); color: var(--blue-2); }
.warehouse-legend { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; color: #8794a7; font-size: 6px; }
.warehouse-legend span { display: flex; align-items: center; gap: 4px; }
.warehouse-legend i { width: 7px; height: 7px; border-radius: 2px; background: #e2e8f1; }
.warehouse-legend i.partial { background: #93b8ed; }
.warehouse-legend i.full { background: #5579dd; }
.warehouse-legend i.blocked { background: #ef9a53; }
.address-map { display: grid; gap: 10px; padding: 13px; }
.address-zone { border: 1px solid #dae3f0; border-radius: 13px; background: rgba(255, 255, 255, .73); padding: 10px; }
.address-zone > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.address-zone > header > span { display: flex; align-items: center; gap: 7px; }
.address-zone > header b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; background: #e7edff; color: var(--blue-2); font: 700 8px Geologica; }
.address-zone > header strong { font-size: 8px; }
.address-zone > header em { color: #7e8da3; font-size: 7px; font-style: normal; }
.address-zone > div { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
.address-cell { position: relative; min-width: 0; min-height: 61px; display: grid; grid-template-columns: 1fr 7px; grid-template-rows: auto 1fr; gap: 4px 6px; overflow: hidden; border: 1px solid #dfe6f0; border-radius: 9px; background: #fff; padding: 7px; color: var(--ink); text-align: left; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.address-cell:hover { transform: translateY(-1px); border-color: #a9bfe8; box-shadow: 0 7px 14px rgba(43, 75, 137, .08); }
.address-cell.selected { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(82, 119, 232, .12); }
.address-cell > span { overflow: hidden; font-size: 7px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.address-cell > i { grid-column: 2; grid-row: 1 / 3; width: 6px; display: flex; align-items: flex-end; overflow: hidden; border-radius: 4px; background: #edf1f6; }
.address-cell > i b { width: 100%; min-height: 2px; border-radius: inherit; background: #ced8e7; }
.address-cell.partial > i b { background: linear-gradient(#8eb7ef, #6189e5); }
.address-cell.full > i b { background: linear-gradient(#7695e8, #3f64d4); }
.address-cell > em { overflow: hidden; align-self: end; color: #94a0b1; font-size: 5px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.address-cell.blocked { border-color: #efc39e; background: #fff8f1; }
.address-cell.blocked > i b { height: 100% !important; background: repeating-linear-gradient(135deg, #ed9d59 0 3px, #ffd8b7 3px 6px); }
.address-cell > strong { position: absolute; top: 4px; right: 12px; color: #d77628; font-size: 8px; }

.warehouse-inspector { min-height: 560px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 16px; box-shadow: 0 10px 30px rgba(50, 73, 122, .05); }
.location-head { display: grid; grid-template-columns: 43px 1fr auto; align-items: center; gap: 10px; }
.location-code-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #e7eefb; color: #56729f; font: 700 15px Geologica; }
.location-code-mark.partial { background: var(--blue-soft); color: var(--blue-2); }
.location-code-mark.full { background: #dfe7ff; color: #294fb9; }
.location-code-mark.blocked { background: var(--orange-soft); color: #c27228; }
.location-head h3 { margin: 2px 0 1px; font: 600 16px Geologica; }
.location-head code { color: #8b98ab; font: 600 6px Manrope; }
.location-status { align-self: start; border-radius: 8px; background: var(--green-soft); padding: 5px 7px; color: var(--green); font-size: 6px; font-weight: 800; }
.location-status.blocked { background: var(--orange-soft); color: #c27228; }
.location-block-note { margin-top: 11px; border: 1px solid #efc9a6; border-radius: 10px; background: #fff8f1; padding: 9px; }
.location-block-note strong,
.location-block-note span { display: block; }
.location-block-note strong { color: #aa6729; font-size: 7px; }
.location-block-note span { margin-top: 3px; color: #9a7759; font-size: 6px; }
.location-capacity { margin-top: 14px; border-radius: 11px; background: #f5f7fb; padding: 10px; }
.location-capacity > div { display: flex; align-items: center; justify-content: space-between; font-size: 7px; }
.location-capacity > div span { color: #75839a; }
.location-capacity > i { height: 6px; display: block; overflow: hidden; margin: 7px 0 5px; border-radius: 6px; background: #e2e8f1; }
.location-capacity > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #82b8ee, #5277e8); }
.location-capacity > small { color: #8d99aa; font-size: 6px; }
.location-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 9px; }
.location-actions .primary-button,
.location-actions .secondary-button { width: 100%; height: 34px; margin: 0; padding: 0 8px; font-size: 7px; }
.location-actions .unblock { border-color: #bce1d4; color: var(--green); }
.location-contents,
.location-history { margin-top: 15px; }
.location-contents h4,
.location-history h4 { margin: 0 0 7px; font: 600 9px Geologica; }
.location-stock-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) 24px; align-items: center; gap: 7px; border-top: 1px solid #edf1f6; padding: 8px 0; }
.stock-cube { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; background: #eaf0ff; color: var(--blue-2); font-size: 7px; font-weight: 800; }
.location-stock-row strong,
.location-stock-row small,
.location-stock-row em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.location-stock-row strong { font-size: 7px; }
.location-stock-row small { margin-top: 2px; color: #8290a5; font-size: 5px; }
.location-stock-row em { margin-top: 3px; color: #54a184; font-size: 5px; font-style: normal; }
.location-stock-row button { width: 23px; height: 23px; border: 0; border-radius: 7px; background: #f0f3f8; color: #687993; font-size: 8px; }
.location-empty { display: grid; place-items: center; border: 1px dashed #ced8e6; border-radius: 11px; padding: 18px; text-align: center; }
.location-empty > span { color: #9fb0c7; font-size: 20px; }
.location-empty strong { margin-top: 5px; font-size: 8px; }
.location-empty small { margin-top: 3px; color: #8b98aa; font-size: 6px; }
.location-history > div { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 7px; border-top: 1px solid #edf1f6; padding: 7px 0; }
.location-history > div > span { width: 27px; border-radius: 7px; background: #f0f4fa; padding: 5px 2px; color: #5e7190; font-size: 6px; font-weight: 800; text-align: center; }
.location-history p { margin: 0; }
.location-history strong,
.location-history small { display: block; }
.location-history strong { font-size: 6px; }
.location-history small { margin-top: 2px; color: #8b98aa; font-size: 5px; }
.location-history time { color: #8b98aa; font-size: 5px; }

.warehouse-lower { display: grid; grid-template-columns: 1fr 1.1fr; gap: 12px; margin-top: 12px; }
.replenishment-list,
.movement-list { margin-top: 9px; }
.replenishment-list > article { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid #edf1f6; padding: 8px 0; }
.replenishment-list > article:first-child { border-top: 0; }
.replenish-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: var(--orange-soft); color: #c4752b; font-size: 13px; }
.replenishment-list strong,
.replenishment-list small { display: block; }
.replenishment-list strong { font-size: 7px; }
.replenishment-list small { margin-top: 2px; color: #8491a5; font-size: 6px; }
.replenishment-list button { border: 0; border-radius: 8px; background: var(--blue-soft); padding: 6px 8px; color: var(--blue-2); font-size: 6px; font-weight: 800; }
.warehouse-ok { display: flex; align-items: center; gap: 9px; min-height: 60px; border-radius: 11px; background: var(--green-soft); padding: 11px; }
.warehouse-ok > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--green); font-weight: 800; }
.warehouse-ok strong,
.warehouse-ok small { display: block; }
.warehouse-ok strong { color: #2e7d65; font-size: 8px; }
.warehouse-ok small { margin-top: 3px; color: #599480; font-size: 6px; }
.movement-list > div { display: grid; grid-template-columns: 27px 1fr auto auto; align-items: center; gap: 7px; border-top: 1px solid #edf1f6; padding: 7px 0; }
.movement-list > div:first-child { border-top: 0; }
.movement-arrow { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: #edf2fb; color: #5575b0; font-size: 9px; }
.movement-list strong,
.movement-list small { display: block; }
.movement-list strong { font-size: 7px; }
.movement-list small { margin-top: 2px; color: #8996a8; font-size: 5px; }
.movement-list b { color: #397f68; font-size: 7px; }
.movement-list time { color: #8b98aa; font-size: 5px; }
.warehouse-muted { margin: 12px 0; color: #8e9aac; font-size: 7px; }

.warehouse-modal { width: min(620px, calc(100vw - 28px)); }
.warehouse-modal-note { margin: -8px 0 14px; color: var(--muted); font-size: 8px; line-height: 1.55; }
.warehouse-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 9px; }
.warehouse-form-grid .wide { grid-column: 1 / -1; }
.warehouse-form-grid button { margin-top: 12px; }
.warehouse-modal .integration-field { margin-top: 9px; }
.warehouse-modal .integration-field select { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: #f8fafd; padding: 12px 13px; outline: 0; color: var(--ink); font: 500 9px Manrope; }
.warehouse-modal .integration-field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.count-progress { margin-bottom: 11px; border-radius: 10px; background: #f3f6fb; padding: 9px; }
.count-progress span { display: block; margin-bottom: 6px; color: #687893; font-size: 7px; }
.count-progress > i { height: 5px; display: block; overflow: hidden; border-radius: 5px; background: #e0e7f1; }
.count-progress > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #78b8e5, #5277e8); }
.count-lines { max-height: 390px; overflow: auto; margin-bottom: 11px; border: 1px solid var(--line); border-radius: 11px; }
.count-lines > label { display: grid; grid-template-columns: 1fr 78px 20px; align-items: center; gap: 7px; border-top: 1px solid var(--line); padding: 9px; }
.count-lines > label:first-child { border-top: 0; }
.count-lines strong,
.count-lines small { display: block; }
.count-lines strong { font-size: 8px; }
.count-lines small { margin-top: 2px; color: #8390a4; font-size: 6px; }
.count-lines input { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 8px; text-align: center; outline: 0; }
.count-lines input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.count-lines em { color: #8492a5; font-size: 6px; font-style: normal; }

@media (max-width: 1180px) {
  .warehouse-layout { grid-template-columns: minmax(0, 1fr) 275px; }
  .address-zone > div { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
  .warehouse-command { align-items: stretch; flex-direction: column; }
  .warehouse-command-actions { flex-wrap: wrap; }
  .warehouse-scan { flex: 1 1 260px; }
  .warehouse-layout,
  .warehouse-lower { grid-template-columns: 1fr; }
  .warehouse-inspector { min-height: auto; }
  .warehouse-kpis { grid-template-columns: repeat(2, 1fr); }
  .warehouse-kpis article:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .warehouse-kpis article:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 650px) {
  .warehouse-command-actions,
  .warehouse-console-head { align-items: stretch; flex-direction: column; }
  .warehouse-command-actions > button,
  .warehouse-scan { width: 100%; flex: auto; }
  .warehouse-legend { justify-content: flex-start; }
  .address-zone > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .warehouse-form-grid { grid-template-columns: 1fr; }
  .warehouse-form-grid .wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .address-cell { transition: none; }
}

/* Clients + finance · live account rail */
.client-command,
.billing-command { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; }
.client-command h2,
.billing-command h2 { margin: 5px 0 4px; font: 600 23px Geologica; letter-spacing: -.5px; }
.client-command p,
.billing-command p { max-width: 620px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.client-command-actions,
.billing-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.client-summary { display: grid; grid-template-columns: .7fr 1fr 1.25fr; overflow: hidden; margin-top: 15px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 10px 30px rgba(56,76,112,.045); }
.client-summary > span { padding: 13px 16px; border-left: 1px solid var(--line); }
.client-summary > span:first-child { border-left: 0; }
.client-summary small,
.client-summary strong { display: block; }
.client-summary small { color: var(--muted); font-size: 7px; }
.client-summary strong { margin-top: 4px; font: 650 15px Geologica; }
.client-summary strong em { color: var(--muted); font: 600 7px Manrope; }
.client-summary .money-due { color: #bd6a32; }
.client-workbench { display: grid; grid-template-columns: minmax(235px,.72fr) minmax(0,2fr); gap: 12px; margin-top: 12px; }
.client-account-list { display: grid; align-content: start; gap: 7px; }
.client-account-card { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; border: 1px solid transparent; border-radius: 13px; background: transparent; padding: 9px; color: var(--ink); text-align: left; transition: .18s ease; }
.client-account-card:hover { background: #f7f9fd; transform: translateX(2px); }
.client-account-card.active { border-color: #cbd8ff; background: linear-gradient(135deg,#f4f7ff,#fff); box-shadow: 0 8px 25px rgba(77,112,212,.08); }
.client-account-card .client-monogram { width: 33px; height: 33px; border-radius: 10px; font-size: 10px; }
.client-account-card > span:nth-child(2) { min-width: 0; }
.client-account-card strong,
.client-account-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-account-card strong { font-size: 8px; }
.client-account-card small { margin-top: 3px; color: var(--muted); font-size: 6px; }
.client-balance { text-align: right; }
.client-balance b { display: block; margin-top: 3px; color: #b86b35; font-size: 7px; }
.client-balance.positive b { color: var(--green); }
.client-account-sheet { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 18px 55px rgba(45,66,104,.07); }
.client-account-sheet > header { display: grid; grid-template-columns: 47px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 15px 17px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 88% -20%,#dfe8ff 0,transparent 35%),linear-gradient(135deg,#fbfcff,#f5f7fc); }
.client-sheet-mark { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; background: linear-gradient(145deg,#466edb,#83a9ff); box-shadow: 0 9px 22px rgba(73,110,216,.25); color: #fff; font: 700 12px Geologica; }
.client-account-sheet h3 { margin: 3px 0 4px; font: 600 14px Geologica; }
.client-account-sheet header p { margin: 0; color: #6e7e96; font-size: 6px; }
.client-account-sheet header p i,
.live-badge i { width: 5px; height: 5px; display: inline-block; margin-right: 3px; border-radius: 50%; background: #42b887; box-shadow: 0 0 0 3px rgba(66,184,135,.12); }
.client-ledger-kpis { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); }
.client-ledger-kpis > span { padding: 12px 14px; border-left: 1px solid var(--line); }
.client-ledger-kpis > span:first-child { border-left: 0; }
.client-ledger-kpis small,
.client-ledger-kpis strong { display: block; }
.client-ledger-kpis small { color: var(--muted); font-size: 6px; }
.client-ledger-kpis strong { margin-top: 4px; font: 650 11px Geologica; }
.client-ledger-kpis strong em { color: var(--muted); font: 600 6px Manrope; }
.client-ledger-kpis .due { background: #fff8f3; }
.client-ledger-kpis .due strong { color: #b76630; }
.client-sheet-grid { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 245px; }
.client-sheet-grid > section { min-width: 0; padding: 14px 16px; }
.client-sheet-grid > section + section { border-left: 1px solid var(--line); }
.subsection-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.subsection-head h4 { margin: 2px 0 0; font: 600 10px Geologica; }
.subsection-head button { border: 0; background: transparent; color: var(--blue-2); font-size: 6px; font-weight: 750; }
.tariff-list > div { display: flex; align-items: center; justify-content: space-between; gap: 9px; border-top: 1px solid #edf1f6; padding: 7px 0; }
.tariff-list > div:first-child { border-top: 0; }
.tariff-list span,
.tariff-list small { display: block; }
.tariff-list span { font-size: 7px; font-weight: 700; }
.tariff-list small { margin-top: 2px; color: var(--muted); font-size: 5px; font-weight: 500; }
.tariff-list strong { white-space: nowrap; font-size: 7px; }
.mini-ledger > div { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 7px; border-top: 1px solid #edf1f6; padding: 7px 0; }
.mini-ledger > div:first-child { border-top: 0; }
.ledger-pulse { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 7px; background: #e8f7f1; color: #2a9872; font-size: 9px; font-weight: 800; }
.mini-ledger strong,
.mini-ledger small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-ledger strong { font-size: 7px; }
.mini-ledger small { margin-top: 2px; color: var(--muted); font-size: 5px; }
.mini-ledger b { color: #33866b; font-size: 7px; white-space: nowrap; }
.client-ledger-empty { grid-template-columns: 1fr!important; color: var(--muted); font-size: 7px; }
.client-sheet-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 10px 16px; background: #fbfcfe; }
.client-sheet-footer > span { color: var(--muted); font-size: 6px; }
.client-sheet-footer > div { display: flex; gap: 7px; }

.billing-metrics { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; margin-top: 15px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 14px 42px rgba(51,72,108,.05); }
.billing-metrics article { position: relative; min-height: 88px; padding: 14px 16px; border-left: 1px solid var(--line); }
.billing-metrics article:first-child { border-left: 0; }
.billing-metrics article.attention { background: linear-gradient(145deg,#fff9f4,#fff); }
.billing-metrics small,
.billing-metrics strong,
.billing-metrics span { display: block; }
.billing-metrics small { color: var(--muted); font-size: 7px; }
.billing-metrics strong { margin: 8px 0 5px; font: 650 17px Geologica; letter-spacing: -.4px; }
.billing-metrics span { color: #8794a6; font-size: 6px; }
.billing-metrics span.good { color: #3d9e7b; }
.billing-metrics .attention strong { color: #b6652e; }
.billing-grid { display: grid; grid-template-columns: 1.25fr .9fr; gap: 12px; margin-top: 12px; }
.revenue-panel,
.balance-rail,
.billing-ledger { min-width: 0; padding: 14px 16px; }
.live-badge { border-radius: 20px; background: #edf9f4; padding: 5px 8px; color: #388b6d; font-size: 6px; font-weight: 750; }
.service-revenue { margin-top: 7px; }
.service-revenue > div { display: grid; grid-template-columns: minmax(130px,1fr) minmax(80px,.8fr) 72px; align-items: center; gap: 10px; border-top: 1px solid #edf1f6; padding: 8px 0; }
.service-revenue > div:first-child { border-top: 0; }
.service-revenue strong,
.service-revenue small { display: block; }
.service-revenue strong { font-size: 7px; }
.service-revenue small { margin-top: 2px; color: var(--muted); font-size: 5px; }
.service-revenue > div > i,
.balance-rail button > span > i { height: 5px; display: block; overflow: hidden; border-radius: 6px; background: #edf1f7; }
.service-revenue > div > i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#6d94f0,#9bb9ff); }
.service-revenue em { color: #42516a; font-size: 7px; font-style: normal; font-weight: 800; text-align: right; }
.balance-rail .panel-head > button { border: 0; background: transparent; color: var(--blue-2); font-size: 6px; }
.balance-rail > div:last-child { margin-top: 5px; }
.balance-rail > div > button { width: 100%; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; border: 0; border-top: 1px solid #edf1f6; background: transparent; padding: 8px 0; color: var(--ink); text-align: left; }
.balance-rail > div > button:first-child { border-top: 0; }
.mini-client-mark { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #edf2ff; color: #4f70c5; font-size: 7px; font-weight: 800; }
.balance-rail button > span:nth-child(2) { min-width: 0; }
.balance-rail button strong { display: block; overflow: hidden; margin-bottom: 5px; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.balance-rail button > span > i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#efb487,#dc8248); }
.balance-rail button em { color: #a85e30; font-size: 7px; font-style: normal; font-weight: 800; }
.billing-ledger { margin-top: 12px; }
.billing-ledger .panel-head > span { color: var(--muted); font-size: 6px; }
.billing-table { overflow: auto; margin-top: 8px; }
.billing-table table { width: 100%; border-collapse: collapse; }
.billing-table th { border-bottom: 1px solid var(--line); padding: 7px 8px; color: var(--muted); font-size: 6px; font-weight: 700; text-align: left; white-space: nowrap; }
.billing-table td { border-bottom: 1px solid #edf1f6; padding: 9px 8px; color: #5f6e84; font-size: 7px; }
.billing-table td strong { color: var(--ink); }
.billing-table td b { color: #2f8d6d; white-space: nowrap; }
.billing-modal { width: min(570px,calc(100vw - 28px)); }
.billing-modal-note { margin: -7px 0 12px; color: var(--muted); font-size: 7px; line-height: 1.5; }
.billing-modal form { display: grid; gap: 9px; }
.billing-modal .integration-field { margin: 0; }
.billing-modal .integration-field select { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: #f8fafd; padding: 11px 12px; color: var(--ink); font: 500 8px Manrope; outline: 0; }
.billing-period { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.tariff-editor { overflow: auto; max-height: 430px; border: 1px solid var(--line); border-radius: 12px; }
.tariff-editor > label { display: grid; grid-template-columns: minmax(0,1fr) 105px; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding: 9px 11px; }
.tariff-editor > label:first-child { border-top: 0; }
.tariff-editor span,
.tariff-editor small { display: block; }
.tariff-editor span { font-size: 8px; font-weight: 700; }
.tariff-editor small { margin-top: 2px; color: var(--muted); font-size: 6px; font-weight: 500; }
.tariff-editor input { width: 100%; border: 1px solid var(--line); border-radius: 9px; background: #f8fafd; padding: 9px; text-align: right; outline: 0; }

@media (max-width: 1000px) {
  .client-workbench,
  .billing-grid { grid-template-columns: 1fr; }
  .client-account-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .billing-metrics { grid-template-columns: repeat(2,1fr); }
  .billing-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .billing-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
}
@media (max-width: 700px) {
  .client-command,
  .billing-command { align-items: stretch; flex-direction: column; }
  .client-command-actions,
  .billing-actions { justify-content: flex-start; }
  .client-summary,
  .client-account-list { grid-template-columns: 1fr; }
  .client-summary > span { border-top: 1px solid var(--line); border-left: 0; }
  .client-summary > span:first-child { border-top: 0; }
  .client-account-sheet > header { grid-template-columns: 42px minmax(0,1fr); }
  .client-account-sheet > header button { grid-column: 1/-1; }
  .client-ledger-kpis { grid-template-columns: repeat(2,1fr); }
  .client-ledger-kpis > span:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .client-ledger-kpis > span:nth-child(4) { border-top: 1px solid var(--line); }
  .client-sheet-grid { grid-template-columns: 1fr; }
  .client-sheet-grid > section + section { border-top: 1px solid var(--line); border-left: 0; }
  .client-sheet-footer { align-items: stretch; flex-direction: column; }
  .billing-metrics { grid-template-columns: 1fr; }
  .billing-metrics article { border-top: 1px solid var(--line); border-left: 0; }
  .billing-metrics article:first-child { border-top: 0; }
  .service-revenue > div { grid-template-columns: minmax(0,1fr) 70px; }
  .service-revenue > div > i { display: none; }
  .billing-period { grid-template-columns: 1fr; }
}

/* Analytics · warehouse control room */
.analytics-command { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.analytics-command h2 { margin: 5px 0 4px; font: 600 23px Geologica; letter-spacing: -.55px; }
.analytics-command p { margin: 0; color: var(--muted); font-size: 9px; }
.analytics-period { display: flex; gap: 3px; border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 3px; }
.analytics-period button { border: 0; border-radius: 8px; background: transparent; padding: 7px 10px; color: #75839a; font-size: 7px; font-weight: 750; }
.analytics-period button.active { background: #e9efff; color: #4568c8; box-shadow: inset 0 0 0 1px #d9e3ff; }
.flow-console { overflow: hidden; margin-top: 14px; border: 1px solid #cad7f6; border-radius: 18px; background: radial-gradient(circle at 12% 0,#fff 0,transparent 30%),linear-gradient(120deg,#f4f7ff,#eaf0ff); box-shadow: 0 18px 48px rgba(74,103,173,.09); }
.flow-console > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid rgba(117,143,204,.18); padding: 9px 14px; }
.flow-console > header span { color: #46608e; font-size: 7px; font-weight: 750; }
.flow-console > header span i { width: 6px; height: 6px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #3caa7d; box-shadow: 0 0 0 4px rgba(60,170,125,.11); }
.flow-console > header small { color: #7d8da9; font-size: 6px; }
.flow-belt { display: grid; grid-template-columns: 1fr 20px 1fr 20px 1fr 20px 1fr; align-items: center; padding: 14px; }
.flow-console .flow-stage { min-width: 0; display: grid; grid-template-columns: 35px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid rgba(131,153,204,.24); border-radius: 13px; background: rgba(255,255,255,.78); padding: 10px; box-shadow: 0 7px 22px rgba(66,92,150,.055); }
.flow-console .flow-stage-symbol { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #e4ebff; color: #5273ce; font-size: 13px; font-weight: 800; }
.flow-console .flow-stage.packing .flow-stage-symbol { background: #e8f7f1; color: #349170; }
.flow-console .flow-stage.shipping .flow-stage-symbol { background: #fff0e5; color: #bc6b32; }
.flow-console .flow-stage small,
.flow-console .flow-stage strong,
.flow-console .flow-stage em { display: block; }
.flow-console .flow-stage small { color: #7a89a2; font-size: 5px; font-weight: 750; text-transform: uppercase; letter-spacing: .8px; }
.flow-console .flow-stage strong { display: inline; margin-top: 3px; font: 650 14px Geologica; }
.flow-console .flow-stage em { display: inline; margin-left: 4px; color: #8391a6; font-size: 6px; font-style: normal; }
.flow-console .flow-stage > i { grid-column: 1/-1; height: 4px; display: block; overflow: hidden; border-radius: 5px; background: #e9eef7; }
.flow-console .flow-stage > i > b { height: 100%; position: static; display: block; border: 0; border-radius: inherit; background: linear-gradient(90deg,#6087ec,#9bb9ff); padding: 0; }
.flow-console .flow-stage.packing > i b { background: linear-gradient(90deg,#4dad86,#91d2b9); }
.flow-console .flow-stage.shipping > i b { background: linear-gradient(90deg,#cf7d43,#edb185); }
.flow-link { color: #8fa3d4; font-size: 11px; text-align: center; }
.analytics-summary { display: grid; grid-template-columns: 1.15fr .8fr 1fr .85fr; overflow: hidden; margin-top: 12px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.analytics-summary > span { padding: 12px 15px; border-left: 1px solid var(--line); }
.analytics-summary > span:first-child { border-left: 0; }
.analytics-summary small,
.analytics-summary strong,
.analytics-summary em { display: block; }
.analytics-summary small { color: var(--muted); font-size: 6px; }
.analytics-summary strong { margin: 5px 0 3px; font: 650 14px Geologica; }
.analytics-summary strong b { color: var(--muted); font: 600 6px Manrope; }
.analytics-summary em { color: #8391a6; font-size: 6px; font-style: normal; }
.analytics-summary .quality-score { background: linear-gradient(135deg,#f0faf6,#fff); }
.analytics-summary .quality-score strong { color: #318b6d; }
.analytics-main-grid { display: grid; grid-template-columns: 1.45fr .75fr; gap: 12px; margin-top: 12px; }
.throughput-chart,
.sla-board,
.client-economics,
.deviation-board { min-width: 0; padding: 14px 16px; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 9px; color: #77869c; font-size: 6px; }
.chart-legend span::before { width: 6px; height: 6px; display: inline-block; margin-right: 4px; border-radius: 2px; background: #6d91ed; content: ''; }
.chart-legend .pack::before { background: #53b18c; }
.chart-legend .ship::before { background: #da8950; }
.throughput-scroll { overflow-x: auto; margin-top: 10px; padding-top: 3px; }
.throughput-bars { min-width: 470px; height: 205px; display: flex; align-items: flex-end; gap: 5px; border-bottom: 1px solid #dfe6f0; background: repeating-linear-gradient(to top,transparent 0,transparent 49px,#eef2f7 50px); padding: 10px 5px 0; }
.throughput-day { height: 100%; min-width: 13px; flex: 1; display: flex; align-items: center; flex-direction: column; justify-content: flex-end; }
.bar-stack { width: min(22px,74%); min-height: 5px; display: flex; overflow: hidden; flex-direction: column-reverse; border-radius: 5px 5px 2px 2px; box-shadow: 0 4px 9px rgba(76,103,166,.09); transition: height .25s ease; }
.bar-stack i { width: 100%; display: block; background: #6d91ed; }
.bar-stack i.pack { background: #53b18c; }
.bar-stack i.ship { background: #da8950; }
.throughput-day > span { min-height: 19px; margin-top: 5px; color: #8794a7; font-size: 5px; white-space: nowrap; }
.overdue-count { border-radius: 16px; background: #edf7f3; padding: 5px 8px; color: #398769; font-size: 6px; }
.overdue-count.has-risk { background: #fff0e6; color: #bd6b31; }
.sla-list { margin-top: 8px; }
.sla-list > div { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; align-items: center; gap: 9px; border-top: 1px solid #edf1f6; padding: 9px 0; }
.sla-list > div:first-child { border-top: 0; }
.sla-ring { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#6e90ea calc(var(--rate)*1%),#e9edf4 0); }
.sla-ring::before { width: 33px; height: 33px; position: absolute; border-radius: 50%; background: #fff; content: ''; }
.sla-ring { position: relative; }
.sla-ring b { position: relative; z-index: 1; color: #52627a; font-size: 6px; }
.sla-ring.ozon { background: conic-gradient(#55a6da calc(var(--rate)*1%),#e9edf4 0); }
.sla-ring.ya { background: conic-gradient(#d9a145 calc(var(--rate)*1%),#e9edf4 0); }
.sla-list strong,
.sla-list small { display: block; }
.sla-list strong { font-size: 8px; }
.sla-list small { margin-top: 3px; color: #8794a7; font-size: 5px; }
.sla-list em { color: #68768c; font-size: 6px; font-style: normal; font-weight: 750; white-space: nowrap; }
.analytics-lower-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; margin-top: 12px; }
.client-economics .panel-head > button { border: 0; background: transparent; color: var(--blue-2); font-size: 6px; }
.client-economics > div:last-child,
.deviation-board > div:last-child { margin-top: 7px; }
.client-economics > div > button { width: 100%; display: grid; grid-template-columns: 20px minmax(90px,.7fr) minmax(90px,1.2fr) 76px; align-items: center; gap: 8px; border: 0; border-top: 1px solid #edf1f6; background: transparent; padding: 8px 0; color: var(--ink); text-align: left; }
.client-economics > div > button:first-child { border-top: 0; }
.client-economics button > span { color: #9aa6b7; font: 650 6px Geologica; }
.client-economics button strong { overflow: hidden; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.client-economics button > i { height: 5px; display: block; overflow: hidden; border-radius: 5px; background: #edf1f7; }
.client-economics button > i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#6b8eeb,#a9c0fb); }
.client-economics button em { color: #4b5c75; font-size: 7px; font-style: normal; font-weight: 800; text-align: right; }
.deviation-board .panel-head > span { color: var(--muted); font-size: 6px; }
.deviation { width: 100%; display: grid; grid-template-columns: 29px minmax(0,1fr) 18px; align-items: center; gap: 8px; border: 0; border-top: 1px solid #edf1f6; background: transparent; padding: 8px 0; color: var(--ink); text-align: left; }
.deviation:first-child { border-top: 0; }
.deviation > i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: #fff1e7; color: #bd6a31; font-size: 9px; font-style: normal; font-weight: 850; }
.deviation.critical > i { background: #ffe9e6; color: #cb594c; }
.deviation.good > i { background: #e9f7f1; color: #32906f; }
.deviation strong,
.deviation small { display: block; }
.deviation strong { font-size: 7px; }
.deviation small { margin-top: 2px; color: #8794a7; font-size: 5px; }
.deviation > b { color: #8796ad; font-size: 8px; }

@media (max-width: 1000px) {
  .flow-belt { grid-template-columns: 1fr 12px 1fr; gap: 7px; }
  .flow-link:nth-of-type(2) { display: none; }
  .analytics-main-grid,
  .analytics-lower-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .analytics-command { align-items: stretch; flex-direction: column; }
  .analytics-period { align-self: flex-start; }
  .flow-belt { grid-template-columns: 1fr; }
  .flow-link { transform: rotate(90deg); }
  .analytics-summary { grid-template-columns: repeat(2,1fr); }
  .analytics-summary > span:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .analytics-summary > span:nth-child(4) { border-top: 1px solid var(--line); }
  .client-economics > div > button { grid-template-columns: 20px minmax(0,1fr) 72px; }
  .client-economics button > i { display: none; }
}

/* Центр задач · диспетчерская шкала срочности */
.tasks-command { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 12px; padding: 3px 2px; }
.tasks-command h2 { margin: 5px 0 4px; font: 600 23px Geologica; letter-spacing: -.55px; }
.tasks-command p { margin: 0; color: var(--muted); font-size: 9px; }
.tasks-command > div:last-child { display: flex; align-items: center; gap: 7px; }
.tasks-command .secondary-button { margin-left: 0; }
.task-sync-button { position: relative; display: inline-flex; align-items: center; gap: 6px; }
.task-sync-button > span { color: #536ed0; font-size: 12px; }
.task-sync-button > b { min-width: 16px; border-radius: 20px; background: #f3a35f; padding: 2px 5px; color: #fff; font-size: 6px; }
.task-pulse { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.task-pulse article { position: relative; min-height: 83px; border-left: 1px solid var(--line); padding: 13px 16px; }
.task-pulse article:first-child { border-left: 0; }
.task-pulse article::after { position: absolute; inset: auto 15px 0; height: 3px; border-radius: 4px 4px 0 0; background: #93a7c7; content: ""; opacity: .5; }
.task-pulse article.danger { background: linear-gradient(135deg,#fff6f3,#fff); }
.task-pulse article.danger::after { background: #ed8b6b; opacity: 1; }
.task-pulse article.good { background: linear-gradient(135deg,#f1faf6,#fff); }
.task-pulse article.good::after { background: #51a786; opacity: 1; }
.task-pulse span,.task-pulse small,.task-pulse strong { display: block; }
.task-pulse span { color: #77859a; font-size: 7px; font-weight: 700; }
.task-pulse strong { margin: 5px 0 3px; font: 650 20px Geologica; }
.task-pulse .danger strong { color: #d55e44; }
.task-pulse .good strong { color: #338a6c; }
.task-pulse small { color: #95a0b0; font-size: 6px; }
.tasks-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 11px 0; }
.task-filter-group,.task-zone-filter { display: flex; align-items: center; gap: 3px; overflow-x: auto; scrollbar-width: none; }
.task-filter-group { border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 3px; }
.task-filter-group::-webkit-scrollbar,.task-zone-filter::-webkit-scrollbar { display: none; }
.task-filter-group button,.task-zone-filter button { flex: 0 0 auto; border: 0; border-radius: 8px; background: transparent; padding: 6px 8px; color: #78869a; font-size: 6px; font-weight: 750; white-space: nowrap; }
.task-filter-group button.active { background: #e9efff; color: #4568c8; box-shadow: inset 0 0 0 1px #d9e3ff; }
.task-zone-filter button { border: 1px solid transparent; }
.task-zone-filter button.active { border-color: #dbe4f4; background: #fff; color: #405a91; box-shadow: 0 3px 9px rgba(48,74,125,.05); }
.dispatcher-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(225px,.32fr); align-items: start; gap: 12px; }
.urgency-rail { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 10px 13px 14px; }
.urgency-rail::before { position: absolute; top: 29px; bottom: 31px; left: 25px; width: 2px; border-radius: 3px; background: linear-gradient(180deg,#e3755e 0 24%,#e8a158 24% 48%,#7d99d7 48% 78%,#6eb092 78%); content: ""; opacity: .75; }
.urgency-stop { position: relative; display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 0 8px; padding: 9px 0 5px; }
.urgency-marker { position: relative; z-index: 1; grid-row: 1 / span 2; display: flex; justify-content: center; padding-top: 4px; }
.urgency-marker i { width: 11px; height: 11px; border: 3px solid #fff; border-radius: 50%; background: #8199c7; box-shadow: 0 0 0 2px #dce4f2; }
.urgency-stop.attention .urgency-marker i { background: #e36e55; box-shadow: 0 0 0 2px #f5c7bd; }
.urgency-stop.hour .urgency-marker i { background: #dfa052; box-shadow: 0 0 0 2px #f5dfbf; }
.urgency-stop.completed .urgency-marker i { background: #55a585; box-shadow: 0 0 0 2px #cfe9df; }
.urgency-stop > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 2px 7px 0; }
.urgency-stop > header strong,.urgency-stop > header small { display: block; }
.urgency-stop > header strong { font: 600 10px Geologica; }
.urgency-stop > header small { margin-top: 2px; color: #98a3b3; font-size: 6px; }
.urgency-stop > header > b { min-width: 21px; border-radius: 8px; background: #f0f3f8; padding: 4px 6px; color: #718098; font-size: 6px; text-align: center; }
.urgency-stop.attention > header > b { background: #fff0eb; color: #cf614b; }
.urgency-tasks { display: grid; gap: 6px; }
.urgency-tasks > p { margin: 4px 0 9px; border: 1px dashed #dfe5ee; border-radius: 10px; padding: 11px; color: #9aa5b5; font-size: 7px; text-align: center; }
.dispatcher-task { position: relative; display: grid; grid-template-columns: 3px minmax(0,1fr); overflow: hidden; border: 1px solid #e2e7ef; border-radius: 12px; background: #fbfcfe; box-shadow: 0 4px 13px rgba(48,68,110,.035); transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.dispatcher-task:hover { transform: translateY(-1px); border-color: #cbd8ef; box-shadow: 0 8px 19px rgba(48,68,110,.07); }
.dispatcher-priority { background: #91a3bd; }
.dispatcher-task.priority-low .dispatcher-priority { background: #7ca6db; }
.dispatcher-task.priority-high .dispatcher-priority { background: #e19b51; }
.dispatcher-task.priority-critical .dispatcher-priority { background: #dd664f; }
.dispatcher-task-main { min-width: 0; padding: 9px 10px; }
.dispatcher-task-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dispatcher-task-top > span { color: #6c7c93; font-size: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.dispatcher-task-top time { border-radius: 7px; background: #eef2f7; padding: 4px 6px; color: #7f8da1; font-size: 6px; font-weight: 700; }
.dispatcher-task-top time.attention { background: #fff0eb; color: #d25d47; }
.dispatcher-task-top time.hour { background: #fff5e7; color: #b9792d; }
.dispatcher-task-top time.completed { background: #edf8f3; color: #39876c; }
.dispatcher-task h4 { margin: 6px 0 8px; font-size: 9px; line-height: 1.35; }
.dispatcher-task-foot { display: grid; grid-template-columns: auto minmax(115px,1fr) auto; align-items: center; gap: 7px; }
.task-reference { border: 0; background: transparent; padding: 0; color: #4e6dc7; font: 700 6px Manrope; text-align: left; }
.task-reference.muted { color: #9ca7b6; font-weight: 600; }
.dispatcher-task-foot label { min-width: 0; display: flex; align-items: center; gap: 5px; border-left: 1px solid #e7ebf1; padding-left: 7px; }
.dispatcher-task-foot select { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: #66758c; font: 600 6px Manrope; }
.dispatcher-next { border: 0; border-radius: 7px; background: #eaf0ff; padding: 5px 8px; color: #4968c4; font-size: 6px; font-weight: 800; }
.dispatcher-next.complete { background: #eaf7f2; color: #37836a; }
.dispatcher-done { color: #3d8c70; font-size: 6px; font-weight: 800; }
.dispatcher-side { display: grid; gap: 10px; }
.dispatcher-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 13px; }
.dispatcher-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-bottom: 10px; }
.dispatcher-panel-head h3 { margin: 3px 0 0; font: 600 12px Geologica; }
.dispatcher-panel-head > button { border: 0; background: transparent; padding: 0; color: #536fc4; font-size: 6px; font-weight: 750; }
.dispatcher-panel-head > b { min-width: 25px; border-radius: 8px; background: #eef2f8; padding: 5px; color: #66768f; font-size: 7px; text-align: center; }
.dispatcher-people { display: grid; gap: 3px; }
.dispatcher-person { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 7px; border-top: 1px solid #edf1f5; padding: 7px 0; }
.dispatcher-person:first-child { border-top: 0; padding-top: 1px; }
.dispatcher-person .team-avatar { width: 29px; height: 29px; border-radius: 9px; font-size: 7px; }
.dispatcher-person > span:nth-child(2) { min-width: 0; }
.dispatcher-person strong,.dispatcher-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dispatcher-person strong { font-size: 7px; }
.dispatcher-person small { margin-top: 2px; color: #919daf; font-size: 5px; }
.dispatcher-person i { display: block; height: 3px; overflow: hidden; margin-top: 5px; border-radius: 4px; background: #edf1f6; }
.dispatcher-person i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#7fa4e8,#687bd3); }
.dispatcher-person > em { color: #4c607f; font: 650 11px Geologica; text-align: right; }
.dispatcher-person > em small { font: 500 5px Manrope; }
.signals-panel { background: radial-gradient(circle at 100% 0,rgba(106,137,218,.12),transparent 42%),#fff; }
.dispatcher-signals { display: grid; gap: 5px; }
.dispatcher-signals > span { display: grid; grid-template-columns: 6px minmax(0,1fr) auto; align-items: center; gap: 7px; border: 1px solid #e5eaf2; border-radius: 9px; background: rgba(255,255,255,.85); padding: 7px 8px; color: #66758b; font-size: 6px; }
.dispatcher-signals > span i { width: 6px; height: 6px; border-radius: 50%; background: #e69750; box-shadow: 0 0 0 3px #fff1df; }
.dispatcher-signals > span:first-child i { background: #dd674f; box-shadow: 0 0 0 3px #fde8e2; }
.dispatcher-signals > span b { color: #435777; font-size: 7px; }
.dispatcher-clear { display: flex; align-items: center; gap: 8px; border-radius: 10px; background: #edf8f3; padding: 9px; }
.dispatcher-clear > b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; background: #fff; color: #3c8c70; }
.dispatcher-clear strong,.dispatcher-clear small { display: block; }
.dispatcher-clear strong { color: #347b64; font-size: 7px; }
.dispatcher-clear small { margin-top: 2px; color: #6d9a88; font-size: 5px; }
.signal-action { width: 100%; margin-top: 9px; border: 0; border-radius: 9px; background: #e9efff; padding: 8px; color: #4967bf; font-size: 7px; font-weight: 800; }
.signals-note { display: block; margin-top: 9px; color: #8f9cad; font-size: 6px; line-height: 1.5; text-align: center; }
.tasks-command button:focus-visible,.tasks-toolbar button:focus-visible,.dispatcher-task button:focus-visible,.dispatcher-task select:focus-visible,.dispatcher-panel button:focus-visible { outline: 2px solid #5276dc; outline-offset: 2px; }
@media (max-width: 1050px) {
  .dispatcher-layout { grid-template-columns: 1fr; }
  .dispatcher-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .tasks-command,.tasks-toolbar { align-items: stretch; flex-direction: column; }
  .tasks-command > div:last-child { justify-content: flex-start; flex-wrap: wrap; }
  .task-pulse { grid-template-columns: repeat(2,1fr); }
  .task-pulse article:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .task-pulse article:nth-child(4) { border-top: 1px solid var(--line); }
  .dispatcher-side { grid-template-columns: 1fr; }
  .dispatcher-task-foot { grid-template-columns: 1fr; }
  .dispatcher-task-foot label { border-top: 1px solid #e7ebf1; border-left: 0; padding-top: 7px; padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .dispatcher-task { transition: none; }
  .dispatcher-task:hover { transform: none; }
}

/* Контроль · журнал и сохранность данных */
.control-command { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 12px; padding: 3px 2px; }
.control-command h2 { margin: 5px 0 4px; font: 600 23px Geologica; letter-spacing: -.55px; }
.control-command p { margin: 0; color: var(--muted); font-size: 9px; }
.control-command > div:last-child { display: flex; gap: 7px; }
.control-command .secondary-button { margin-left: 0; }
.continuity-band { position: relative; display: grid; grid-template-columns: 57px minmax(0,1fr) auto; align-items: center; gap: 14px; overflow: hidden; border: 1px solid #cbd8ef; border-radius: 19px; background: radial-gradient(circle at 12% -70%,rgba(104,142,230,.35),transparent 40%),linear-gradient(125deg,#f9fbff,#edf3ff); padding: 15px 18px; box-shadow: 0 13px 30px rgba(54,80,143,.075); }
.continuity-band::after { position: absolute; right: 18%; bottom: -38px; width: 150px; height: 70px; border: 1px solid rgba(94,124,200,.15); border-radius: 50%; content: ""; }
.continuity-orbit { position: relative; width: 55px; height: 55px; display: grid; place-items: center; border: 1px solid #cbd9f4; border-radius: 50%; background: rgba(255,255,255,.85); box-shadow: inset 0 0 0 7px rgba(91,124,210,.06); }
.continuity-orbit::before { position: absolute; inset: 6px; border: 1px dashed #8ba5df; border-radius: 50%; content: ""; animation: continuity-spin 14s linear infinite; }
.continuity-orbit i { position: absolute; top: 2px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: #4ba883; box-shadow: 0 0 0 2px #bce3d4; }
.continuity-orbit b { position: relative; color: #4c66ae; font: 750 7px Geologica; letter-spacing: .08em; }
@keyframes continuity-spin { to { transform: rotate(360deg); } }
.continuity-band > div:nth-child(2) span,.continuity-band > div:nth-child(2) strong,.continuity-band > div:nth-child(2) small { display: block; }
.continuity-band > div:nth-child(2) span { color: #687daa; font-size: 6px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.continuity-band > div:nth-child(2) strong { margin: 4px 0 3px; font: 600 13px Geologica; }
.continuity-band > div:nth-child(2) small { color: #8190a8; font-size: 6px; }
.continuity-status { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; }
.continuity-status span { display: inline-flex; align-items: center; gap: 6px; border-radius: 20px; background: #eaf7f2; padding: 6px 9px; color: #347f66; font-size: 6px; font-weight: 800; }
.continuity-status span i { width: 6px; height: 6px; border-radius: 50%; background: #45a27e; box-shadow: 0 0 0 3px rgba(69,162,126,.13); }
.continuity-status > b { color: #7f8da2; font-size: 6px; }
.control-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; margin-top: 11px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.control-metrics article { border-left: 1px solid var(--line); padding: 12px 15px; }
.control-metrics article:first-child { border-left: 0; }
.control-metrics span,.control-metrics strong,.control-metrics small { display: block; }
.control-metrics span { color: #7c899d; font-size: 6px; }
.control-metrics strong { margin: 5px 0 3px; font: 650 14px Geologica; }
.control-metrics strong b { color: #8b98aa; font: 600 8px Manrope; }
.control-metrics small { color: #97a2b2; font-size: 5px; }
.control-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 11px; margin: 11px 0; }
.control-filters { display: flex; gap: 3px; overflow-x: auto; border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 3px; scrollbar-width: none; }
.control-filters::-webkit-scrollbar { display: none; }
.control-filters button { flex: 0 0 auto; border: 0; border-radius: 8px; background: transparent; padding: 6px 8px; color: #7a879b; font-size: 6px; font-weight: 750; }
.control-filters button.active { background: #e9efff; color: #4567c5; box-shadow: inset 0 0 0 1px #d9e3ff; }
.control-search { min-width: 190px; display: flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 6px 9px; color: #8a97aa; }
.control-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: 600 7px Manrope; }
.control-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(230px,.35fr); align-items: start; gap: 12px; }
.audit-ledger { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: #fff; padding: 14px 16px; }
.audit-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid #edf1f6; }
.audit-head h3 { margin: 3px 0 0; font: 600 13px Geologica; }
.audit-head > b { border-radius: 8px; background: #f0f3f7; padding: 5px 7px; color: #718098; font-size: 6px; }
.audit-stream { position: relative; max-height: 510px; overflow-y: auto; padding: 5px 2px 0 0; scrollbar-color: #d9e0eb transparent; scrollbar-width: thin; }
.audit-stream::before { position: absolute; top: 12px; bottom: 12px; left: 10px; width: 1px; background: #dfe5ef; content: ""; }
.audit-entry { position: relative; display: grid; grid-template-columns: 21px minmax(0,1fr) auto; gap: 8px; padding: 8px 0; border-bottom: 1px solid #f0f3f7; }
.audit-entry:last-child { border-bottom: 0; }
.audit-node { position: relative; z-index: 1; display: flex; justify-content: center; padding-top: 5px; }
.audit-node i { width: 8px; height: 8px; border: 2px solid #fff; border-radius: 50%; background: #7e98d3; box-shadow: 0 0 0 2px #dce4f4; }
.audit-entry.order .audit-node i { background: #d5964d; box-shadow: 0 0 0 2px #f3e0c6; }
.audit-entry.task .audit-node i { background: #cf6b59; box-shadow: 0 0 0 2px #f4d1ca; }
.audit-entry.system .audit-node i { background: #4ca17f; box-shadow: 0 0 0 2px #cbe8dc; }
.audit-entry-top { display: flex; align-items: center; gap: 8px; }
.audit-entry-top span { color: #728198; font-size: 5px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.audit-entry-top time { color: #a0aaba; font-size: 5px; }
.audit-entry h4 { margin: 4px 0 3px; font-size: 8px; }
.audit-entry h4 b { color: #4e6cc4; font-weight: 750; }
.audit-entry p { overflow: hidden; margin: 0; color: #8794a7; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.audit-entry > em { align-self: center; max-width: 105px; overflow: hidden; border-radius: 8px; background: #f1f4f8; padding: 5px 7px; color: #66758c; font-size: 5px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.control-side { display: grid; gap: 10px; }
.control-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 13px; }
.control-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.control-panel-head h3 { margin: 3px 0 0; font: 600 12px Geologica; }
.control-panel-head > button { width: 25px; height: 25px; border: 0; border-radius: 8px; background: #e9efff; color: #4b68c2; font-size: 10px; }
.system-ok { display: inline-flex; align-items: center; gap: 5px; border-radius: 20px; background: #edf8f3; padding: 5px 7px; color: #3c876d; font-size: 5px; font-weight: 800; }
.system-ok i { width: 5px; height: 5px; border-radius: 50%; background: #47a27f; }
.system-line { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 8px; border-top: 1px solid #edf1f6; padding: 8px 0; }
.system-line:first-of-type { border-top: 0; }
.system-symbol { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; background: #eaf0ff; color: #4d69c1; font-size: 7px; font-weight: 850; }
.system-symbol.wb { background: #efeaff; color: #7455b7; }
.system-symbol.print { background: #edf7f3; color: #3d886d; }
.system-line strong,.system-line small { display: block; }
.system-line strong { font-size: 7px; }
.system-line small { margin-top: 2px; color: #919daf; font-size: 5px; }
.system-line > b { color: #3f8e71; font-size: 6px; }
.backup-list { display: grid; gap: 5px; }
.backup-row { display: grid; grid-template-columns: 27px minmax(0,1fr) auto; align-items: center; gap: 7px; border: 1px solid #e5eaf2; border-radius: 10px; background: #fbfcfe; padding: 7px; color: inherit; text-decoration: none; }
.backup-row > span:first-child { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #eaf0ff; color: #4d69c1; }
.backup-row strong,.backup-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.backup-row strong { font-size: 6px; }
.backup-row small { margin-top: 2px; color: #939eb0; font-size: 5px; }
.backup-row > b { color: #506cc2; font-size: 8px; }
.backup-empty { display: grid; place-items: center; border: 1px dashed #dbe2ed; border-radius: 11px; padding: 13px 8px; text-align: center; }
.backup-empty > span { color: #8197c8; font-size: 16px; }
.backup-empty strong,.backup-empty small { display: block; }
.backup-empty strong { margin-top: 4px; font-size: 7px; }
.backup-empty small { margin-top: 2px; color: #98a3b3; font-size: 5px; }
.control-command button:focus-visible,.control-toolbar button:focus-visible,.control-search:focus-within,.control-panel button:focus-visible { outline: 2px solid #5276dc; outline-offset: 2px; }
@media (max-width: 1050px) {
  .control-layout { grid-template-columns: 1fr; }
  .control-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .control-command,.control-toolbar { align-items: stretch; flex-direction: column; }
  .control-command > div:last-child { flex-wrap: wrap; }
  .continuity-band { grid-template-columns: 46px minmax(0,1fr); }
  .continuity-orbit { width: 45px; height: 45px; }
  .continuity-status { grid-column: 1 / -1; }
  .control-metrics { grid-template-columns: repeat(2,1fr); }
  .control-metrics article:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .control-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
  .control-search { min-width: 0; }
  .control-side { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .continuity-orbit::before { animation: none; } }

.control-locked { min-height: 440px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 1px solid #d3ddef; border-radius: 21px; background: radial-gradient(circle at 50% 35%,rgba(102,137,221,.14),transparent 28%),linear-gradient(145deg,#fbfcff,#f1f5fd); padding: 40px; text-align: center; }
.control-lock-orbit { position: relative; width: 82px; height: 82px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid #cfdaef; border-radius: 50%; background: rgba(255,255,255,.9); box-shadow: inset 0 0 0 10px rgba(86,118,199,.055),0 14px 35px rgba(56,81,143,.09); }
.control-lock-orbit::before,.control-lock-orbit::after { position: absolute; border-radius: 50%; content: ""; }
.control-lock-orbit::before { inset: 8px; border: 1px dashed #8fa5d7; }
.control-lock-orbit::after { top: 1px; width: 8px; height: 8px; border: 3px solid #fff; background: #4a9e7c; box-shadow: 0 0 0 2px #c9e7dc; }
.control-lock-orbit i { position: relative; z-index: 1; color: #526db9; font-size: 18px; font-style: normal; }
.control-locked h2 { margin: 7px 0 6px; font: 600 20px Geologica; letter-spacing: -.4px; }
.control-locked p { max-width: 390px; margin: 0 0 17px; color: #7e8ca2; font-size: 9px; line-height: 1.6; }

/* FULLIK dimensional icon system */
.f-icon {
  width: 1em;
  height: 1em;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.72));
}

.nav-list {
  min-height: 0;
  overflow-y: auto;
  padding: 2px 3px 7px;
  margin: 0 -3px;
  scrollbar-width: none;
}
.nav-list::-webkit-scrollbar { display: none; }

.nav-item {
  --icon-rgb: 82,119,232;
  min-height: 37px;
  gap: 9px;
  padding: 5px 8px;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}
.nav-item[data-view="tasks"] { --icon-rgb: 126,91,210; }
.nav-item[data-view="receiving"] { --icon-rgb: 218,137,61; }
.nav-item[data-view="warehouse"] { --icon-rgb: 79,104,190; }
.nav-item[data-view="fbs"] { --icon-rgb: 56,141,196; }
.nav-item[data-view="packing"] { --icon-rgb: 52,157,120; }
.nav-item[data-view="print"] { --icon-rgb: 120,94,204; }
.nav-item[data-view="shipping"] { --icon-rgb: 211,111,60; }
.nav-item[data-view="returns"] { --icon-rgb: 205,99,105; }
.nav-item[data-view="team"] { --icon-rgb: 121,92,191; }
.nav-item[data-view="products"] { --icon-rgb: 66,122,205; }
.nav-item[data-view="clients"] { --icon-rgb: 52,145,165; }
.nav-item[data-view="billing"] { --icon-rgb: 45,151,109; }
.nav-item[data-view="analytics"] { --icon-rgb: 99,93,196; }
.nav-item[data-view="control"] { --icon-rgb: 78,101,140; }

.nav-item > i[data-icon] {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(var(--icon-rgb),.19);
  border-radius: 9px;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.98) 0 13%,transparent 34%),
    linear-gradient(145deg,#fff 0%,rgba(var(--icon-rgb),.16) 100%);
  box-shadow:
    inset 0 1px 0 #fff,
    inset 0 -1px 1px rgba(var(--icon-rgb),.08),
    0 5px 9px rgba(var(--icon-rgb),.13),
    0 1px 2px rgba(41,55,92,.11);
  color: rgb(var(--icon-rgb));
  font-style: normal;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease;
}
.nav-item > i[data-icon]::before {
  content: '';
  width: 18px;
  height: 8px;
  position: absolute;
  top: -3px;
  left: 2px;
  border-radius: 50%;
  background: rgba(255,255,255,.78);
  filter: blur(2px);
  transform: rotate(-18deg);
}
.nav-item > i[data-icon] .f-icon { width: 14px; height: 14px; position: relative; z-index: 1; stroke-width: 2; }
.nav-item:hover > i[data-icon] {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 1px rgba(var(--icon-rgb),.08), 0 7px 13px rgba(var(--icon-rgb),.2), 0 1px 2px rgba(41,55,92,.12);
}
.nav-item.active {
  background: linear-gradient(90deg,rgba(var(--icon-rgb),.13),rgba(var(--icon-rgb),.055));
  box-shadow: inset 0 0 0 1px rgba(var(--icon-rgb),.055);
  color: rgb(var(--icon-rgb));
}
.nav-item.active > i[data-icon] {
  border-color: rgba(255,255,255,.72);
  background:
    radial-gradient(circle at 27% 17%,rgba(255,255,255,.72) 0 7%,transparent 28%),
    linear-gradient(145deg,rgba(var(--icon-rgb),.72),rgb(var(--icon-rgb)) 72%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -2px 3px rgba(28,45,103,.18),
    0 7px 13px rgba(var(--icon-rgb),.27),
    0 2px 3px rgba(36,54,104,.16);
  color: #fff;
}
.nav-item.active > i[data-icon] .f-icon { filter: drop-shadow(0 1px 1px rgba(27,48,105,.24)); }
.nav-item:focus-visible { outline: 2px solid rgba(var(--icon-rgb),.72); outline-offset: 2px; }

.stage-icon,
.op-icon,
.large-icon,
.printer-icon,
.market.print {
  position: relative;
  border: 1px solid rgba(74,104,184,.16);
  background:
    radial-gradient(circle at 28% 18%,#fff 0 11%,transparent 32%),
    linear-gradient(145deg,#fafdff,#dfe8ff);
  box-shadow: inset 0 1px 0 #fff, inset 0 -2px 3px rgba(75,104,178,.08), 0 8px 15px rgba(65,91,157,.15), 0 2px 3px rgba(47,67,113,.09);
}
.stage-icon { width: 45px; height: 45px; border-radius: 14px; transition: transform .2s ease, box-shadow .2s ease; }
.stage-icon .f-icon { width: 21px; height: 21px; stroke-width: 1.8; }
.flow-stage:nth-of-type(1) .stage-icon { border-color: rgba(216,133,55,.18); background: radial-gradient(circle at 28% 18%,#fff 0 11%,transparent 32%),linear-gradient(145deg,#fffdf9,#ffead3); color:#c9752d; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(184,105,38,.08),0 8px 15px rgba(194,118,49,.16),0 2px 3px rgba(47,67,113,.08); }
.flow-stage:nth-of-type(2) .stage-icon { color:#4d6fc9; }
.flow-stage:nth-of-type(3) .stage-icon { border-color:rgba(105,85,194,.17); background:radial-gradient(circle at 28% 18%,#fff 0 11%,transparent 32%),linear-gradient(145deg,#fbfaff,#e9e4ff); color:#7159c2; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(87,66,170,.08),0 8px 15px rgba(104,84,188,.16),0 2px 3px rgba(47,67,113,.08); }
.flow-stage:nth-of-type(4) .stage-icon { border-color:rgba(47,153,114,.17); background:radial-gradient(circle at 28% 18%,#fff 0 11%,transparent 32%),linear-gradient(145deg,#fbfffd,#dff4ec); color:#319274; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(38,124,92,.08),0 8px 15px rgba(43,143,105,.16),0 2px 3px rgba(47,67,113,.08); }
.flow-stage:nth-of-type(5) .stage-icon { border-color:rgba(209,105,53,.17); background:radial-gradient(circle at 28% 18%,#fff 0 11%,transparent 32%),linear-gradient(145deg,#fffdfa,#ffe7d8); color:#c66e36; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(169,78,34,.08),0 8px 15px rgba(196,95,45,.16),0 2px 3px rgba(47,67,113,.08); }
.flow-stage:hover .stage-icon { transform: translateY(-2px) scale(1.025); }

.op-icon { width: 40px; height: 40px; border-radius: 12px; }
.op-icon .f-icon { width: 18px; height: 18px; }
.op-icon.orange { border-color:rgba(215,126,45,.17); background:radial-gradient(circle at 28% 18%,#fff 0 11%,transparent 32%),linear-gradient(145deg,#fffdf9,#ffead5); box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(179,103,36,.08),0 8px 15px rgba(199,117,43,.15),0 2px 3px rgba(47,67,113,.08); }

.large-icon {
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #5677d2;
  font-style: normal;
}
.large-icon .f-icon { width: 20px; height: 20px; }
.metric-grid.compact .metric-card:nth-child(3) .large-icon { border-color:rgba(215,126,45,.17); background:radial-gradient(circle at 28% 18%,#fff 0 11%,transparent 32%),linear-gradient(145deg,#fffdf9,#ffead5); color:#ca762f!important; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(179,103,36,.08),0 8px 15px rgba(199,117,43,.15),0 2px 3px rgba(47,67,113,.08); }

.icon-button {
  background: radial-gradient(circle at 30% 15%,#fff 0 15%,transparent 38%),linear-gradient(145deg,#fff,#edf2fb);
  box-shadow: inset 0 1px 0 #fff, inset 0 -2px 3px rgba(70,92,148,.06), 0 7px 14px rgba(54,76,126,.1);
  transition: transform .18s ease, box-shadow .18s ease;
}
.icon-button:hover { transform: translateY(-1px); box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(70,92,148,.06),0 10px 18px rgba(54,76,126,.15); }
.icon-button .f-icon { width: 17px; height: 17px; color:#667795; }
.primary-button .f-icon,
.secondary-button .f-icon,
.text-button .f-icon,
.search .f-icon,
.workspace-card .f-icon,
.user-card .f-icon,
.metric-card .f-icon { width: 1em; height: 1em; }
.primary-button .f-icon { filter: drop-shadow(0 1px 1px rgba(26,50,119,.3)); }
.market.print .f-icon,
.printer-icon .f-icon { width: 16px; height: 16px; }

@media (max-width:780px) {
  .nav-item { padding: 5px; }
  .nav-item > i[data-icon] { width: 31px; height: 31px; flex-basis:31px; }
}

/* Setup · warehouse launch console */
.nav-item[data-view="setup"] { --icon-rgb: 70,111,220; }
.launch-hero {
  min-height: 176px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  overflow: hidden;
  border: 1px solid #cad8fa;
  border-radius: 23px;
  background:
    linear-gradient(rgba(102,132,204,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(102,132,204,.075) 1px,transparent 1px),
    radial-gradient(circle at 86% 8%,rgba(127,167,255,.37),transparent 32%),
    linear-gradient(125deg,#f9fbff 0%,#edf3ff 58%,#e1eaff 100%);
  background-size: 24px 24px,24px 24px,auto,auto;
  padding: 27px 31px;
  box-shadow: 0 20px 55px rgba(53,80,151,.1);
}
.launch-hero::before {
  width: 260px;
  height: 260px;
  position: absolute;
  right: -92px;
  bottom: -170px;
  border: 1px dashed rgba(72,105,189,.25);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(103,137,220,.035),0 0 0 58px rgba(103,137,220,.025);
  content: '';
}
.launch-hero-copy { max-width: 650px; position: relative; z-index:1; }
.launch-hero h2 { margin: 7px 0 7px; font: 650 27px Geologica; letter-spacing: -.7px; }
.launch-hero p { max-width: 610px; margin: 0; color: #6e7e99; font-size: 10px; line-height: 1.65; }
.launch-hero-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.launch-hero-tags span { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(108,135,199,.18); border-radius: 18px; background: rgba(255,255,255,.65); padding: 6px 9px; color: #596b8d; font-size: 7px; font-weight: 700; box-shadow: inset 0 1px 0 #fff; }
.launch-hero-tags .f-icon { width: 12px; height: 12px; color:#5276d6; }
.launch-score { --setup-progress:0; width: 124px; height: 124px; flex:0 0 124px; position:relative; z-index:1; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#4f75df calc(var(--setup-progress)*1%),rgba(255,255,255,.68) 0); box-shadow:0 18px 32px rgba(59,87,157,.19),inset 0 0 0 1px rgba(255,255,255,.8); }
.launch-score::before { width:94px; height:94px; position:absolute; border:1px solid rgba(90,119,188,.17); border-radius:50%; background:linear-gradient(145deg,#fff,#edf3ff); box-shadow:inset 0 2px 2px #fff,0 5px 14px rgba(61,84,139,.12); content:''; }
.launch-score span { position:relative; z-index:1; text-align:center; }
.launch-score strong,.launch-score small { display:block; }
.launch-score strong { color:#3457b5; font:700 24px Geologica; letter-spacing:-1px; }
.launch-score small { margin-top:2px; color:#8491a8; font-size:6px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.launch-score em { position:absolute; right:-6px; bottom:5px; border:2px solid #eef3ff; border-radius:18px; background:#fff; padding:5px 7px; color:#617398; font-size:6px; font-style:normal; font-weight:800; box-shadow:0 5px 12px rgba(54,75,126,.12); }

.pilot-bay,.pilot-run { position:relative; overflow:hidden; margin-top:14px; border:1px solid #cad8f0; border-radius:19px; background:linear-gradient(135deg,#fafdff,#edf3ff); box-shadow:0 14px 38px rgba(50,77,142,.08); }
.pilot-bay { display:grid; grid-template-columns:86px minmax(0,1fr) minmax(260px,.56fr); gap:17px; align-items:center; padding:17px 20px; }
.pilot-bay::after,.pilot-run::after { height:4px; position:absolute; inset:auto 0 0; background:repeating-linear-gradient(90deg,#4f75df 0 28px,#91a8df 28px 34px,#55a780 34px 61px,#91a8df 61px 67px); content:''; }
.pilot-bay-mark { width:76px; height:76px; position:relative; display:grid; place-items:center; border:1px solid #c8d7f6; border-radius:20px; background:radial-gradient(circle at 29% 17%,#fff 0 9%,transparent 31%),linear-gradient(145deg,#fff,#dbe7ff); color:#4f70cb; box-shadow:inset 0 1px 0 #fff,0 13px 25px rgba(54,83,151,.15); }
.pilot-bay-mark > span .f-icon { width:29px; height:29px; }
.pilot-bay-mark > i { position:absolute; right:-7px; bottom:8px; border:2px solid #edf3ff; border-radius:8px; background:#fff; padding:4px 5px; color:#3d5fae; font-size:6px; font-style:normal; font-weight:900; box-shadow:0 5px 11px rgba(52,74,128,.13); }
.pilot-bay-copy h2 { margin:5px 0 5px; font:600 17px Geologica; letter-spacing:-.35px; }
.pilot-bay-copy > p { max-width:590px; margin:0; color:#73829b; font-size:7px; line-height:1.55; }
.pilot-blockers { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-top:9px; }
.pilot-blockers b { margin-right:2px; color:#8a6d4c; font-size:6px; }
.pilot-blockers span { border:1px solid #ead9bd; border-radius:12px; background:#fff8eb; padding:4px 6px; color:#9a7442; font-size:5px; font-weight:750; }
.pilot-bay form { display:grid; gap:7px; border-left:1px dashed #c9d5e8; padding-left:17px; }
.pilot-bay form label > span { display:block; margin-bottom:4px; color:#71809a; font-size:6px; font-weight:750; }
.pilot-bay select { width:100%; border:1px solid #cbd7eb; border-radius:10px; background:#fff; padding:9px 10px; color:#33435f; outline:0; font:650 7px Manrope; }
.pilot-bay select:focus { border-color:#6f8ede; box-shadow:0 0 0 3px rgba(79,117,223,.11); }
.pilot-bay form button { width:100%; margin:0; }
.pilot-bay form small { color:#8795aa; font-size:5px; text-align:center; }

.pilot-run { padding:16px 19px 18px; background:radial-gradient(circle at 100% -40%,#dce8ff,transparent 36%),linear-gradient(145deg,#fbfdff,#f1f5fc); }
.pilot-run.completed { border-color:#bcdcca; background:radial-gradient(circle at 100% -40%,#d8f0e4,transparent 36%),linear-gradient(145deg,#fbfffd,#eff9f4); }
.pilot-run > header,.pilot-run > footer { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.pilot-run .pilot-abort { color:#ae5360; }
.pilot-run .pilot-abort:hover { background:#fff0f2; color:#8d3543; }
.pilot-run h2 { margin:4px 0 0; font:650 18px Geologica; letter-spacing:-.3px; }
.pilot-run h2 small { margin-left:7px; color:#7a899f; font:600 7px Manrope; }
.pilot-run-status { min-width:86px; text-align:right; }
.pilot-run-status strong,.pilot-run-status span { display:block; }
.pilot-run-status strong { color:#4264bf; font:700 19px Geologica; }
.pilot-run.completed .pilot-run-status strong { color:#388564; }
.pilot-run-status span { margin-top:2px; color:#8190a5; font-size:5px; }
.pilot-conveyor { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:15px 0 14px; overflow:hidden; border:1px solid #d4deed; border-radius:13px; background:#fff; }
.pilot-conveyor article { min-width:0; position:relative; display:grid; grid-template-columns:31px minmax(0,1fr); gap:7px; align-items:center; padding:11px 9px; border-left:1px dashed #d7dfeb; }
.pilot-conveyor article:first-child { border-left:0; }
.pilot-conveyor article > span { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:#f0f3f8; color:#8a97aa; }
.pilot-conveyor article > span i { font-size:7px; font-style:normal; font-weight:900; }
.pilot-conveyor article strong,.pilot-conveyor article small { display:block; }
.pilot-conveyor article strong { color:#7c899c; font-size:7px; }
.pilot-conveyor article small { overflow:hidden; margin-top:2px; color:#a0aaba; font-size:5px; text-overflow:ellipsis; white-space:nowrap; }
.pilot-conveyor article.current { background:linear-gradient(135deg,#f8fbff,#eaf1ff); }
.pilot-conveyor article.current > span { background:#dfe9ff; color:#486ac5; box-shadow:0 0 0 4px rgba(79,117,223,.07); }
.pilot-conveyor article.current strong { color:#3f5fac; }
.pilot-conveyor article.done > span { background:#e3f4eb; color:#358761; }
.pilot-conveyor article.done strong { color:#3f745f; }
.pilot-run > footer { border-top:1px dashed #d4ddea; padding-top:11px; }
.pilot-run > footer p { max-width:660px; margin:0; color:#74839a; font-size:6px; }
.pilot-run > footer > div { display:flex; gap:7px; }
.pilot-run > footer .secondary-button { margin-left:0; }
.pilot-run > footer .f-icon { width:10px; height:10px; }

.launch-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr); align-items:start; gap:14px; margin-top:14px; }
.launch-checklist,.warehouse-passport,.launch-import-card,.launch-safety { border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 38px rgba(51,72,108,.055); }
.launch-checklist { padding:17px 18px; }
.launch-checklist > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 2px 12px; }
.launch-checklist h2,.warehouse-passport h2 { margin:4px 0 0; font:600 16px Geologica; letter-spacing:-.25px; }
.launch-live { display:inline-flex; align-items:center; gap:6px; border-radius:18px; background:#edf8f3; padding:6px 8px; color:#3b8a6c; font-size:6px; font-weight:800; }
.launch-live i { width:6px; height:6px; border-radius:50%; background:#42a67e; box-shadow:0 0 0 4px rgba(66,166,126,.11); }
.launch-steps { position:relative; }
.launch-steps::before { width:1px; position:absolute; top:23px; bottom:23px; left:52px; background:linear-gradient(#d7e2fb,#c9d8fa); content:''; }
.launch-step { position:relative; z-index:1; display:grid; grid-template-columns:24px 43px minmax(0,1fr) auto; align-items:center; gap:10px; border-top:1px solid #edf1f6; padding:10px 2px; }
.launch-step:first-child { border-top:0; }
.launch-step-number { color:#a1abba; font:700 6px Geologica; letter-spacing:.08em; }
.launch-step-icon { width:43px; height:43px; display:grid; place-items:center; border:1px solid #d7e1f6; border-radius:13px; background:radial-gradient(circle at 28% 17%,#fff 0 12%,transparent 34%),linear-gradient(145deg,#fafdff,#e4ecff); color:#5777ce; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(70,98,170,.07),0 7px 14px rgba(70,95,154,.14),0 2px 3px rgba(47,67,113,.08); }
.launch-step.ready .launch-step-icon { border-color:#cce7dc; background:radial-gradient(circle at 28% 17%,#fff 0 12%,transparent 34%),linear-gradient(145deg,#fbfffd,#dff3eb); color:#369474; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(45,132,99,.07),0 7px 14px rgba(45,139,103,.14),0 2px 3px rgba(47,67,113,.07); }
.launch-step-icon .f-icon { width:19px; height:19px; }
.launch-step > div > span { color:#a17a50; font-size:5px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.launch-step.ready > div > span { color:#3c9675; }
.launch-step h3 { margin:3px 0 2px; font:600 10px Geologica; }
.launch-step p { margin:0; color:#8b97aa; font-size:6px; }
.launch-step small { display:block; margin-top:4px; color:#65748c; font-size:6px; font-weight:700; }
.launch-step > button { display:inline-flex; align-items:center; gap:5px; border:1px solid #dfe6f0; border-radius:9px; background:linear-gradient(#fff,#f7f9fc); padding:7px 9px; color:#5b6d8b; font-size:6px; font-weight:800; box-shadow:0 4px 10px rgba(52,71,112,.06); }
.launch-step > button:hover { border-color:#bfcdf0; color:#4264bf; transform:translateY(-1px); }
.launch-step > button .f-icon { width:10px; height:10px; }

.launch-side { display:grid; gap:12px; }
.warehouse-passport { overflow:hidden; }
.warehouse-passport > header { display:grid; grid-template-columns:43px minmax(0,1fr) auto; align-items:center; gap:10px; border-bottom:1px solid #e9eef6; background:radial-gradient(circle at 90% -20%,#dce7ff,transparent 42%),linear-gradient(145deg,#fbfcff,#f4f7fd); padding:14px 15px; }
.passport-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid #d0dcf7; border-radius:13px; background:radial-gradient(circle at 28% 17%,#fff 0 11%,transparent 34%),linear-gradient(145deg,#fafdff,#dfe8ff); color:#5273ce; box-shadow:inset 0 1px 0 #fff,0 8px 16px rgba(63,89,153,.14); }
.passport-mark .f-icon { width:19px; height:19px; }
.warehouse-passport > header > b { border-radius:14px; background:#edf7f3; padding:5px 7px; color:#3b8a6c; font-size:5px; }
.warehouse-passport form { display:grid; gap:8px; padding:14px 15px 16px; }
.warehouse-passport .integration-field { margin:0; }
.warehouse-passport .integration-field input,.warehouse-passport .integration-field select { width:100%; border:1px solid var(--line); border-radius:10px; background:#f9fbfe; padding:9px 10px; color:var(--ink); font:600 7px Manrope; outline:0; }
.warehouse-passport .integration-field input:focus,.warehouse-passport .integration-field select:focus { border-color:#7393e6; box-shadow:0 0 0 3px rgba(82,119,232,.11); }
.passport-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }

.launch-import-card { display:grid; grid-template-columns:45px minmax(0,1fr); gap:9px; padding:14px; background:radial-gradient(circle at 95% 0,#e1eaff,transparent 42%),linear-gradient(145deg,#f8faff,#eef3ff); }
.launch-import-icon { width:44px; height:44px; grid-row:1/3; display:grid; place-items:center; border:1px solid #cedbf8; border-radius:14px; background:radial-gradient(circle at 28% 17%,#fff 0 11%,transparent 34%),linear-gradient(145deg,#fafdff,#dce7ff); color:#5274cf; box-shadow:inset 0 1px 0 #fff,0 8px 16px rgba(63,89,153,.14); }
.launch-import-icon .f-icon { width:20px; height:20px; }
.launch-import-card h3 { margin:4px 0 3px; font:600 11px Geologica; }
.launch-import-card p { margin:0; color:#7686a1; font-size:6px; line-height:1.5; }
.launch-import-card > button { grid-column:2; width:100%; height:34px; margin:0; }
.launch-safety { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.launch-safety > div { min-width:0; display:flex; align-items:center; gap:8px; padding:12px; }
.launch-safety > div + div { border-left:1px solid var(--line); }
.launch-safety > div > span { width:29px; height:29px; flex:0 0 29px; display:grid; place-items:center; border-radius:9px; background:#eaf0ff; color:#5370c6; }
.launch-safety .f-icon { width:14px; height:14px; }
.launch-safety p,.launch-safety small,.launch-safety strong { min-width:0; display:block; margin:0; }
.launch-safety small { color:#8d99aa; font-size:5px; }
.launch-safety strong { overflow:hidden; margin-top:3px; font-size:6px; text-overflow:ellipsis; white-space:nowrap; }

.setup-loading { min-height:440px; display:grid; place-items:center; align-content:center; gap:13px; border:1px solid #d9e2f2; border-radius:20px; background:linear-gradient(145deg,#fbfcff,#f3f6fc); color:#6f7e98; font-size:9px; }
.launch-mini-orbit { width:62px; height:62px; display:grid; place-items:center; border:1px solid #d0dcf5; border-radius:50%; background:#fff; color:#5275d7; box-shadow:inset 0 0 0 8px #f0f4fd,0 13px 28px rgba(52,77,141,.12); animation:setup-pulse 1.6s ease-in-out infinite; }
.launch-mini-orbit .f-icon { width:24px; height:24px; }
@keyframes setup-pulse { 50% { transform:translateY(-3px); box-shadow:inset 0 0 0 8px #e9effd,0 17px 33px rgba(52,77,141,.17); } }
.setup-locked .control-lock-orbit .f-icon { width:25px; height:25px; }

.setup-import-modal { width:min(530px,calc(100vw - 28px)); }
.modal-import-icon { grid-row:auto; margin-bottom:13px; }
.setup-dropzone { min-height:170px; display:flex; align-items:center; justify-content:center; flex-direction:column; border:1.5px dashed #aebfe8; border-radius:17px; background:linear-gradient(145deg,#f9fbff,#f1f5fe); color:#5a78cb; cursor:pointer; text-align:center; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.setup-dropzone:hover { border-color:#708fde; background:#edf3ff; transform:translateY(-1px); }
.setup-dropzone input { width:1px; height:1px; position:absolute; overflow:hidden; opacity:0; }
.setup-dropzone > span { width:47px; height:47px; display:grid; place-items:center; border:1px solid #d0dcf6; border-radius:14px; background:#fff; box-shadow:0 8px 18px rgba(57,82,145,.12); }
.setup-dropzone .f-icon { width:22px; height:22px; }
.setup-dropzone strong { margin-top:11px; color:#334566; font-size:10px; }
.setup-dropzone small { margin-top:4px; color:#8896aa; font-size:7px; }
.setup-import-modal .security-note { margin:11px 0 13px; }
.setup-template-link { width:100%; margin-top:11px; }
.launch-step button:focus-visible,.warehouse-passport button:focus-visible,.launch-import-card button:focus-visible,.setup-dropzone:focus-within { outline:2px solid #5276dc; outline-offset:2px; }

@media (max-width:1050px) {
  .pilot-bay { grid-template-columns:76px minmax(0,1fr); }
  .pilot-bay form { grid-column:1/-1; border-top:1px dashed #c9d5e8; border-left:0; padding-top:12px; padding-left:0; }
  .launch-grid { grid-template-columns:1fr; }
  .launch-side { grid-template-columns:1fr 1fr; }
  .launch-safety { grid-column:1/-1; }
}
@media (max-width:700px) {
  .pilot-bay { grid-template-columns:1fr; }
  .pilot-bay-mark { justify-self:center; }
  .pilot-bay-copy { text-align:center; }
  .pilot-blockers { justify-content:center; }
  .pilot-conveyor { grid-template-columns:1fr; }
  .pilot-conveyor article { border-top:1px dashed #d7dfeb; border-left:0; }
  .pilot-conveyor article:first-child { border-top:0; }
  .pilot-run > header,.pilot-run > footer { align-items:stretch; flex-direction:column; }
  .pilot-run-status { text-align:left; }
  .pilot-run > footer > div { flex-wrap:wrap; }
  .launch-hero { align-items:flex-start; flex-direction:column; padding:22px; }
  .launch-score { width:104px; height:104px; flex-basis:104px; align-self:center; }
  .launch-score::before { width:78px; height:78px; }
  .launch-score strong { font-size:20px; }
  .launch-side { grid-template-columns:1fr; }
  .launch-safety { grid-column:auto; grid-template-columns:1fr; }
  .launch-safety > div + div { border-top:1px solid var(--line); border-left:0; }
  .launch-step { grid-template-columns:20px 40px minmax(0,1fr); }
  .launch-step > button { grid-column:2/-1; justify-self:stretch; justify-content:center; }
  .launch-steps::before { left:46px; }
  .passport-fields { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .launch-mini-orbit { animation:none; } .launch-step > button,.setup-dropzone { transition:none; } }

/* Иерархия и физическая вместимость склада */
.warehouse-command-actions { min-width:min(520px,55vw); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); justify-content:end; }
.warehouse-command-actions .warehouse-scan { grid-column:1/-1; width:auto; }
.warehouse-command-actions > button { width:100%; margin:0; }
.warehouse-filter-stack { min-width:0; display:grid; gap:4px; }
.warehouse-floor-tabs,.warehouse-zone-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.warehouse-floor-tabs button { border:1px solid transparent; border-radius:9px; background:#f3f6fb; padding:6px 8px; color:#65758e; font-size:7px; font-weight:800; }
.warehouse-floor-tabs button b { margin-left:3px; color:#99a5b6; font-size:6px; }
.warehouse-floor-tabs button.active { border-color:#c8d7f7; background:linear-gradient(145deg,#fafdff,#e7eeff); color:#4264c4; box-shadow:0 4px 10px rgba(61,88,151,.08); }

.location-passport { display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin-top:12px; border:1px solid #dbe4f2; border-radius:11px; background:linear-gradient(145deg,#fafcff,#f3f7fd); padding:8px; }
.location-passport span { border-radius:7px; background:#fff; padding:5px 6px; color:#7e8ba0; font-size:6px; box-shadow:0 2px 7px rgba(48,70,113,.05); }
.location-passport span b { margin-left:2px; color:#394b6b; }
.location-passport i { color:#a6b2c4; font-size:7px; font-style:normal; }
.location-rules { display:flex; flex-wrap:wrap; gap:4px; margin-top:7px; }
.location-rules span { border-radius:7px; background:#eef2f8; padding:5px 7px; color:#6e7d94; font-size:6px; font-weight:800; }
.location-rules span.enabled { background:#e9f7f1; color:#34866a; }
.location-rules span.disabled { background:#fff1e6; color:#bd702c; }
.location-capacity h4 { margin:0 0 8px; font:600 8px Geologica; }
.capacity-line + .capacity-line { margin-top:8px; }
.capacity-line > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.capacity-line span { color:#75839a; font-size:6px; }
.capacity-line strong { color:#34445f; font-size:6px; }
.capacity-line > i { height:5px; display:block; overflow:hidden; margin-top:5px; border-radius:5px; background:#e2e8f1; }
.capacity-line > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#8bc2ef,#5579df); }
.location-capacity > small { display:block; margin-top:8px; }
.location-actions { grid-template-columns:repeat(auto-fit,minmax(78px,1fr)); }

.location-settings-form { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.location-settings-form .wide { grid-column:1/-1; }
.location-address-fields,.location-limit-fields,.physical-fields { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.location-limit-fields,.physical-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }
.location-address-fields label,.location-limit-fields label,.physical-fields label { min-width:0; }
.location-address-fields span,.location-limit-fields span,.physical-fields span { display:block; margin-bottom:5px; color:#718097; font-size:7px; font-weight:700; }
.location-address-fields input,.location-limit-fields input,.physical-fields input { width:100%; border:1px solid var(--line); border-radius:10px; background:#f9fbfe; padding:10px 8px; color:var(--ink); font-size:8px; outline:0; }
.location-address-fields input:focus,.location-limit-fields input:focus,.physical-fields input:focus { border-color:#7393e6; box-shadow:0 0 0 3px rgba(82,119,232,.1); }
.warehouse-modal:has(.location-settings-form),.product-physical-modal { width:min(650px,calc(100vw - 28px)); }
.product-size { display:block; min-width:100px; font-size:8px; }
.product-size small { display:block; margin-top:3px; color:#8794a8; font-size:6px; }
.product-stock-strip { grid-template-columns:repeat(5,1fr); }
.blue-text { color:#5276d8; }
.stock-buffer-chip { min-width:78px; display:grid; gap:2px; border:1px solid #dde5ef; border-radius:11px; background:#f8fafc; padding:7px 9px; color:#52627c; text-align:left; cursor:pointer; transition:.18s ease; }
.stock-buffer-chip strong { font:700 13px Geologica; }
.stock-buffer-chip small { color:#8a97aa; font-size:6px; white-space:nowrap; }
.stock-buffer-chip.protected { border-color:#c5d4f5; background:linear-gradient(145deg,#f9fbff,#eaf1ff); color:#4767c4; box-shadow:0 5px 13px rgba(70,101,190,.09); }
.stock-buffer-chip:hover { transform:translateY(-1px); border-color:#a8bae3; box-shadow:0 7px 16px rgba(58,79,126,.1); }
.stock-buffer-modal { width:min(610px,calc(100vw - 28px)); }
.stock-buffer-flow { display:grid; grid-template-columns:minmax(75px,1fr) auto minmax(75px,1fr) auto minmax(75px,1fr) auto minmax(75px,1fr); align-items:center; gap:7px; margin:16px 0; }
.stock-buffer-flow > span { min-width:0; border:1px solid #e0e7f0; border-radius:12px; background:#f8fafc; padding:10px; }
.stock-buffer-flow > span small,.stock-buffer-flow > span strong { display:block; }
.stock-buffer-flow > span small { color:#8492a7; font-size:6px; }
.stock-buffer-flow > span strong { margin-top:4px; color:#394b68; font:650 16px Geologica; }
.stock-buffer-flow > i { color:#9ba8ba; font-size:10px; font-style:normal; font-weight:800; }
.stock-buffer-flow > span.protected { border-color:#f0d4a9; background:#fff8ed; }
.stock-buffer-flow > span.protected strong { color:#bd7726; }
.stock-buffer-flow > span.sellable { border-color:#bbdfd0; background:#eff9f4; }
.stock-buffer-flow > span.sellable strong { color:#328365; }
.stock-buffer-form { display:grid; gap:10px; }
.stock-buffer-hint { margin:0; border-radius:10px; background:#f2f5fa; padding:9px 11px; color:#77869d; font-size:7px; line-height:1.45; }
.product-form .integration-field > small { display:block; margin-top:4px; color:#8a97aa; font-size:6px; }

/* Автоправила упаковки Wildberries FBS */
.packing-rule-chip { min-width:116px; display:grid; gap:3px; border:1px solid #dbe4f1; border-radius:11px; background:#f7f9fc; padding:7px 9px; color:#62718a; text-align:left; cursor:pointer; transition:.18s ease; }
.packing-rule-chip span { font-size:7px; font-weight:850; }
.packing-rule-chip small { max-width:132px; overflow:hidden; color:#8a96a8; font-size:6px; text-overflow:ellipsis; white-space:nowrap; }
.packing-rule-chip.ready { border-color:#c7d9fa; background:linear-gradient(145deg,#f8fbff,#eaf1ff); color:#4566c7; box-shadow:0 5px 13px rgba(69,102,199,.09); }
.packing-rule-chip:hover { transform:translateY(-1px); border-color:#aebfe1; box-shadow:0 7px 16px rgba(53,75,115,.1); }
.packing-rule-modal { width:min(690px,calc(100vw - 28px)); }
.packing-rule-form { display:grid; grid-template-columns:2fr 1fr; gap:10px; margin-top:16px; }
.packing-rule-form .wide { grid-column:1/-1; }
.packing-rule-form textarea { min-height:82px; resize:vertical; }
.rule-materials { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.rule-material { min-width:0; display:grid; grid-template-columns:15px 36px minmax(0,1fr) 48px; align-items:center; gap:8px; border:1px solid #e0e6ef; border-radius:13px; background:#fafbfd; padding:9px; cursor:pointer; transition:.18s ease; }
.rule-material:has(input[type="checkbox"]:checked) { border-color:#abc1f2; background:linear-gradient(145deg,#fbfdff,#edf3ff); box-shadow:0 5px 14px rgba(66,93,158,.08); }
.rule-material > input[type="checkbox"] { accent-color:#5579df; }
.rule-material > span:nth-of-type(2) { min-width:0; }
.rule-material strong,.rule-material small { display:block; }
.rule-material strong { overflow:hidden; color:#3d4d68; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.rule-material small { margin-top:3px; color:#8c98aa; font-size:6px; }
.rule-material-qty { width:48px; border:1px solid #dce4ef; border-radius:8px; background:#fff; padding:7px 4px; color:#3f4f6b; font-size:7px; text-align:center; outline:0; }
.rule-material-qty:focus { border-color:#7393e6; box-shadow:0 0 0 3px rgba(82,119,232,.1); }

.packing-auto-plan,.packing-no-plan { margin:13px 0 16px; border-radius:15px; padding:12px; }
.packing-auto-plan { border:1px solid #cbdaf8; background:linear-gradient(145deg,#fafdff,#edf3ff); box-shadow:0 8px 22px rgba(67,91,151,.08); }
.packing-auto-head { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; }
.packing-auto-head > span { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:linear-gradient(145deg,#6f93ec,#496bd0); color:white; font-size:13px; box-shadow:0 7px 15px rgba(70,104,205,.22); }
.packing-auto-head strong,.packing-auto-head small { display:block; }
.packing-auto-head strong { color:#33496f; font-size:8px; }
.packing-auto-head small { margin-top:3px; color:#7d8ba2; font-size:6px; }
.packing-auto-head > b { border-radius:8px; background:#dfe9ff; padding:5px 7px; color:#4c6bc4; font-size:6px; letter-spacing:.08em; }
.packing-rule-list { display:grid; gap:6px; margin-top:10px; }
.packing-rule-list article { display:grid; grid-template-columns:minmax(90px,.75fr) minmax(120px,1fr) 2fr; align-items:start; gap:8px; border-top:1px solid rgba(125,149,199,.18); padding-top:7px; }
.packing-rule-list strong { color:#425573; font-size:7px; }
.packing-rule-list span { color:#5a72aa; font-size:7px; font-weight:750; }
.packing-rule-list small { color:#75839a; font-size:6px; line-height:1.45; }
.packing-insert-note { margin:9px 0 0; border-radius:9px; background:#fff; padding:7px 9px; color:#687996; font-size:7px; }
.packing-insert-note b { color:#4966a5; }
.packing-no-plan { display:flex; align-items:center; gap:9px; border:1px solid #f0dec7; background:#fff8ef; }
.packing-no-plan > span { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#ffe9cd; color:#bc782b; font-size:10px; font-weight:900; }
.packing-no-plan strong,.packing-no-plan small { display:block; }
.packing-no-plan strong { color:#835a30; font-size:7px; }
.packing-no-plan small { margin-top:3px; color:#a07c57; font-size:6px; }
.pack-material-card.planned { border-color:#9fb9ee; background:linear-gradient(145deg,#fafcff,#ebf2ff); box-shadow:0 6px 16px rgba(75,103,171,.1); }
.pack-material-card.planned em { border-radius:7px; background:#dfe9ff; padding:4px 6px; color:#4a69bd; font-size:6px; font-style:normal; font-weight:850; white-space:nowrap; }
.pack-material-card.planned input:disabled { opacity:1; }

@media (max-width:1100px) {
  .warehouse-command { align-items:flex-start; flex-direction:column; }
  .warehouse-command-actions { width:100%; min-width:0; grid-template-columns:repeat(3,minmax(0,1fr)); justify-content:stretch; }
  .warehouse-console-head { align-items:flex-start; }
}
@media (max-width:700px) {
  .warehouse-command-actions { grid-template-columns:1fr 1fr; }
  .warehouse-command-actions .warehouse-scan { grid-column:1/-1; width:100%; }
  .warehouse-console-head { flex-direction:column; }
  .warehouse-legend { justify-content:flex-start; }
  .location-settings-form { grid-template-columns:1fr; }
  .location-settings-form .wide { grid-column:auto; }
  .location-address-fields,.location-limit-fields,.physical-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-stock-strip { grid-template-columns:repeat(2,1fr); }
  .product-stock-strip > span { border-top:1px solid var(--line); }
  .product-stock-strip > span:nth-child(-n+2) { border-top:0; }
  .product-stock-strip > span:nth-child(odd) { border-left:0; }
  .stock-buffer-flow { grid-template-columns:1fr; }
  .stock-buffer-flow > i { transform:rotate(90deg); justify-self:center; }
  .packing-rule-form,.rule-materials { grid-template-columns:1fr; }
  .packing-rule-form .wide { grid-column:auto; }
  .packing-rule-list article { grid-template-columns:1fr; gap:3px; }
}

/* Диспетчерская проблемных FBS-заказов */
.exception-nav .f-icon { color:#bd5b66; }
.exception-command { position:relative; overflow:hidden; display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:16px; border:1px solid #e9cbd0; border-radius:19px; background:linear-gradient(120deg,#fffafb 0%,#f8fbff 62%,#eef4ff 100%); padding:17px 20px 20px; box-shadow:0 14px 34px rgba(99,62,79,.07); }
.exception-command::after { position:absolute; inset:auto 0 0; height:5px; background:repeating-linear-gradient(135deg,#c95c69 0 18px,#f7d9dc 18px 25px,#4f74da 25px 43px,#dbe5fa 43px 50px); content:''; }
.exception-command-mark { width:58px; height:58px; position:relative; display:grid; place-items:center; border:1px solid #edcbd0; border-radius:17px; background:radial-gradient(circle at 30% 22%,#fff 0 8%,transparent 30%),linear-gradient(145deg,#fff,#f4dfe2); color:#b74b59; box-shadow:inset 0 1px #fff,0 10px 20px rgba(166,73,86,.13); }
.exception-command-mark .f-icon { width:25px; height:25px; stroke-width:1.9; }
.exception-command-mark > i { position:absolute; right:-3px; top:-3px; width:12px; height:12px; border:3px solid #fffafb; border-radius:50%; background:#c95361; box-shadow:0 0 0 3px rgba(201,83,97,.13); animation:exception-pulse 2.2s ease-out infinite; }
@keyframes exception-pulse { 50% { box-shadow:0 0 0 7px rgba(201,83,97,0); } }
.exception-command h2 { margin:4px 0 4px; color:#35445f; font:650 18px Geologica; letter-spacing:-.35px; }
.exception-command p { margin:0; color:#77859a; font-size:7px; }
.exception-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:10px 0; }
.exception-metrics article { position:relative; overflow:hidden; border:1px solid #dfe6f0; border-radius:14px; background:#fff; padding:11px 13px; box-shadow:0 6px 18px rgba(49,66,96,.04); }
.exception-metrics article::before { width:3px; position:absolute; inset:0 auto 0 0; background:#7791cc; content:''; }
.exception-metrics article.critical::before { background:#c75664; }
.exception-metrics article.warning::before { background:#d99a44; }
.exception-metrics article.good::before { background:#55a57f; }
.exception-metrics span,.exception-metrics strong,.exception-metrics small { display:block; }
.exception-metrics span { color:#758399; font-size:6px; font-weight:700; }
.exception-metrics strong { margin-top:3px; color:#354560; font:650 18px Geologica; }
.exception-metrics small { margin-top:2px; color:#9aa5b5; font-size:5px; }
.exception-filter { display:flex; gap:5px; margin:0 0 10px; }
.exception-filter button { border:1px solid #dce4ef; border-radius:9px; background:#fff; padding:7px 10px; color:#738097; font-size:6px; font-weight:750; cursor:pointer; }
.exception-filter button.active { border-color:#aabde8; background:#edf3ff; color:#4968bc; box-shadow:0 4px 10px rgba(68,94,158,.08); }
.exception-desk { min-height:480px; display:grid; grid-template-columns:minmax(250px,31%) minmax(0,1fr); gap:10px; }
.exception-rail,.exception-workspace { border:1px solid #dde5ef; border-radius:17px; background:#fff; box-shadow:0 10px 28px rgba(43,62,94,.05); }
.exception-rail { overflow:hidden; }
.exception-rail > header { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e8edf4; padding:11px 13px; }
.exception-rail > header b { min-width:22px; border-radius:8px; background:#edf2fb; padding:5px 7px; color:#536a9e; font-size:7px; text-align:center; }
.exception-rail > div { max-height:620px; overflow:auto; padding:6px; }
.exception-ticket { width:100%; position:relative; display:grid; grid-template-columns:24px 10px minmax(0,1fr) 14px; align-items:center; gap:7px; border:1px solid transparent; border-radius:12px; background:transparent; padding:9px 7px; color:inherit; text-align:left; cursor:pointer; transition:.16s ease; }
.exception-ticket + .exception-ticket { margin-top:3px; }
.exception-ticket:hover { background:#f7f9fc; }
.exception-ticket.selected { border-color:#c4d2ed; background:linear-gradient(135deg,#fbfdff,#eef3fd); box-shadow:0 6px 15px rgba(61,82,129,.08); }
.exception-ticket.critical.selected { border-color:#e6bdc3; background:linear-gradient(135deg,#fffdfd,#fbebed); }
.exception-ticket-index { color:#9aa7ba; font:600 7px Geologica; }
.exception-ticket-pulse { width:8px; height:28px; display:grid; place-items:center; border-radius:8px; background:#f1d5d9; }
.exception-ticket-pulse i { width:4px; height:4px; border-radius:50%; background:#c75866; box-shadow:0 0 0 3px rgba(199,88,102,.1); }
.exception-ticket.high .exception-ticket-pulse { background:#f6e6cc; }
.exception-ticket.high .exception-ticket-pulse i { background:#d5953d; }
.exception-ticket.normal .exception-ticket-pulse { background:#dce7f8; }
.exception-ticket.normal .exception-ticket-pulse i { background:#6785c9; }
.exception-ticket small,.exception-ticket strong,.exception-ticket em { display:block; }
.exception-ticket small { color:#a1636c; font-size:5px; font-weight:800; }
.exception-ticket strong { margin-top:2px; color:#384861; font-size:8px; }
.exception-ticket em { margin-top:3px; overflow:hidden; color:#8491a4; font-size:5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.exception-ticket > b { color:#91a0b5; font-size:8px; text-align:center; }
.exception-workspace { padding:16px; }
.exception-empty { min-height:420px; }
.exception-empty > span { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#e5f4ec; color:#479271; font-size:18px; }
.exception-case-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.exception-case-head h2 { margin:6px 0 3px; color:#33425d; font:650 17px Geologica; }
.exception-case-head p { margin:0; color:#8a96a9; font-size:6px; }
.exception-severity { display:inline-flex; align-items:center; gap:5px; border-radius:8px; background:#fff0f2; padding:5px 7px; color:#ae4553; font-size:5px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.exception-severity i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.exception-severity.high { background:#fff6e9; color:#bf7b26; }
.exception-severity.normal { background:#eef4ff; color:#5876bd; }
.exception-stopline { display:grid; grid-template-columns:1fr 20px 1fr 20px 1fr; align-items:center; margin:15px 0 12px; }
.exception-stopline > span { display:grid; grid-template-columns:24px 1fr; grid-template-rows:auto auto; column-gap:7px; align-items:center; }
.exception-stopline > span i { width:24px; height:24px; grid-row:1/3; display:grid; place-items:center; border:1px solid #dce4ef; border-radius:9px; background:#f6f8fb; color:#8492a6; font-size:6px; font-style:normal; font-weight:850; }
.exception-stopline > span b { color:#536079; font-size:6px; }
.exception-stopline > span small { color:#9aa5b6; font-size:5px; }
.exception-stopline > span.active i { border-color:#e4b8bf; background:#fff0f2; color:#b84857; box-shadow:0 0 0 4px rgba(191,75,89,.07); }
.exception-stopline > span.done i { border-color:#aacebf; background:#eaf7f0; color:#3f8b69; }
.exception-stopline > em { height:1px; background:repeating-linear-gradient(90deg,#c9d3e3 0 5px,transparent 5px 8px); }
.exception-evidence { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:12px; border:1px solid #e0e6ef; border-radius:14px; background:#fafbfd; padding:12px; }
.exception-evidence h3 { margin:5px 0 4px; color:#3e4e67; font-size:9px; }
.exception-evidence p { margin:0; color:#7d899b; font-size:6px; line-height:1.5; }
.exception-evidence dl { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:10px 0 0; }
.exception-evidence dl div { border-radius:8px; background:#fff; padding:7px 8px; }
.exception-evidence dt { color:#9aa5b5; font-size:5px; }
.exception-evidence dd { margin:3px 0 0; color:#52617a; font-size:6px; font-weight:750; }
.exception-photo { overflow:hidden; position:relative; min-height:115px; display:block; border-radius:11px; background:#e8edf4; }
.exception-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.exception-photo span { position:absolute; inset:auto 7px 7px; border-radius:7px; background:rgba(29,38,54,.76); padding:5px 7px; color:#fff; font-size:5px; text-align:center; backdrop-filter:blur(5px); }
.exception-no-photo { min-height:115px; display:grid; place-items:center; align-content:center; gap:5px; border:1px dashed #d6deea; border-radius:11px; color:#99a6b8; }
.exception-no-photo .f-icon { width:20px; height:20px; }
.exception-no-photo small { font-size:5px; }
.exception-order-items { display:grid; gap:5px; margin-top:11px; }
.exception-order-items article { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:9px; border:1px solid #e3e8f0; border-radius:10px; background:#fff; padding:8px 9px; }
.exception-order-items article > span { border-radius:7px; background:#edf3ff; padding:5px 6px; color:#536eb0; font-size:5px; font-weight:800; text-align:center; }
.exception-order-items strong,.exception-order-items small { display:block; }
.exception-order-items strong { color:#43526b; font-size:7px; }
.exception-order-items small { margin-top:2px; color:#929eaf; font-size:5px; }
.exception-order-items article > b { color:#4d638f; font-size:7px; }
.exception-resolution { margin-top:12px; border-top:1px solid #e5eaf1; padding-top:12px; }
.decision-switch { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:7px 0 9px; }
.decision-switch input { position:absolute; opacity:0; pointer-events:none; }
.decision-switch label > span { min-height:64px; display:grid; grid-template-columns:25px 1fr; grid-template-rows:auto auto; column-gap:7px; align-items:center; border:1px solid #dfe6ef; border-radius:11px; background:#fafbfd; padding:8px; cursor:pointer; transition:.16s ease; }
.decision-switch label > span i { width:25px; height:25px; grid-row:1/3; display:grid; place-items:center; border-radius:8px; background:#edf2fa; color:#5f75a6; font-size:9px; font-style:normal; }
.decision-switch strong { color:#4a5971; font-size:6px; }
.decision-switch small { color:#95a0b0; font-size:5px; line-height:1.35; }
.decision-switch input:checked + span { border-color:#90ace6; background:linear-gradient(145deg,#fafdff,#eaf1ff); box-shadow:0 0 0 3px rgba(78,113,199,.08); }
.decision-switch input[value="cancel"]:checked + span { border-color:#dfaab2; background:#fff0f2; box-shadow:0 0 0 3px rgba(189,76,91,.07); }
.exception-replace-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; border-radius:11px; background:#f2f6fd; padding:9px; }
.exception-replace-fields label > span,.exception-note > span { display:block; margin-bottom:4px; color:#73819a; font-size:5px; font-weight:750; }
.exception-replace-fields select,.exception-note textarea { width:100%; border:1px solid #d5dfec; border-radius:8px; background:#fff; padding:8px; color:#42516a; font:600 6px Manrope; outline:0; }
.exception-note { display:block; margin:8px 0; }
.exception-note textarea { resize:vertical; }
.exception-manager-note { display:block; margin-top:6px; color:#96a1b1; font-size:5px; text-align:center; }
.exception-verdict { display:flex; align-items:center; gap:10px; margin-top:12px; border:1px solid #bddfce; border-radius:13px; background:#eef9f3; padding:11px; }
.exception-verdict > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#54a780; color:#fff; font-size:12px; }
.exception-verdict small { color:#719280; font-size:5px; }
.exception-verdict h3 { margin:3px 0; color:#39795d; font-size:9px; }
.exception-verdict p { margin:0; color:#6e887a; font-size:6px; }
.drawer-decision-actions { display:grid; gap:7px; }
.drawer-problem-button { width:100%; display:flex; align-items:center; justify-content:center; gap:6px; border:1px solid #e2b9bf; border-radius:10px; background:#fff5f6; padding:9px; color:#a64a57; font-size:7px; font-weight:750; cursor:pointer; }
.drawer-problem-button .f-icon { width:13px; height:13px; }
.exception-report-modal { width:min(590px,calc(100vw - 28px)); }
.exception-modal-mark { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(145deg,#fff2f3,#f1d4d8); color:#b74f5c; box-shadow:0 8px 18px rgba(169,69,82,.12); }
.exception-modal-mark .f-icon { width:21px; height:21px; }
.exception-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.exception-report-modal form { display:grid; gap:8px; margin-top:13px; }
.exception-photo-input { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px dashed #cfd9e7; border-radius:10px; background:#f8fafc; padding:9px 11px; cursor:pointer; }
.exception-photo-input input { display:none; }
.exception-photo-input span { color:#556886; font-size:6px; font-weight:750; }
.exception-photo-input small { color:#98a3b3; font-size:5px; }
@media (prefers-reduced-motion:reduce) { .exception-command-mark > i { animation:none; } }
@media (max-width:1100px) {
  .exception-desk { grid-template-columns:1fr; }
  .exception-rail > div { max-height:260px; }
}
@media (max-width:700px) {
  .exception-command { grid-template-columns:50px 1fr; }
  .exception-command > button { grid-column:1/-1; width:100%; }
  .exception-metrics { grid-template-columns:1fr 1fr; }
  .exception-evidence { grid-template-columns:1fr; }
  .exception-photo,.exception-no-photo { min-height:150px; }
  .decision-switch,.exception-replace-fields { grid-template-columns:1fr; }
  .exception-stopline { grid-template-columns:1fr; gap:5px; }
  .exception-stopline > em { width:1px; height:12px; margin-left:12px; background:repeating-linear-gradient(180deg,#c9d3e3 0 5px,transparent 5px 8px); }
}

/* Маршрутное пополнение зоны FBS-подбора */
.replenishment-nav .f-icon { color:#4d79d8; }
.replenishment-command { position:relative; overflow:hidden; display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:16px; border:1px solid #ccdafa; border-radius:20px; background:linear-gradient(112deg,#f9fcff 0%,#edf4ff 66%,#f8fbff 100%); padding:18px 20px; box-shadow:0 14px 36px rgba(52,83,145,.08); }
.replenishment-command::after { position:absolute; right:-32px; bottom:-53px; width:210px; height:88px; border:13px solid rgba(75,116,205,.07); border-radius:50%; content:''; transform:rotate(-8deg); }
.replenishment-command-mark { width:58px; height:58px; position:relative; z-index:1; display:grid; place-items:center; border:1px solid #c8d7f6; border-radius:18px; background:#fff; color:#426bc6; box-shadow:inset 0 1px #fff,0 10px 22px rgba(65,100,179,.13); }
.replenishment-command-mark .f-icon { width:27px; height:27px; stroke-width:1.9; }
.replenishment-command-mark > i { position:absolute; right:8px; bottom:8px; width:7px; height:7px; border:2px solid #fff; border-radius:50%; background:#42a780; box-shadow:0 0 0 4px rgba(66,167,128,.12); }
.replenishment-command h2 { margin:4px 0; color:#304361; font:650 20px Geologica; letter-spacing:-.45px; }
.replenishment-command p { margin:0; color:#70809a; font-size:9px; }
.replenishment-command > button { position:relative; z-index:1; min-width:164px; }
.replenishment-command > button:disabled { opacity:.62; cursor:wait; }
.replenishment-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:11px 0; }
.replenishment-metrics article { position:relative; overflow:hidden; border:1px solid #dde5f0; border-radius:15px; background:#fff; padding:12px 14px; box-shadow:0 7px 20px rgba(45,64,101,.045); }
.replenishment-metrics article::after { width:3px; position:absolute; inset:0 0 0 auto; background:#9eacc0; content:''; }
.replenishment-metrics article.active::after { background:#5079da; }
.replenishment-metrics article.critical::after { background:#d15e68; }
.replenishment-metrics article.warning::after { background:#e09a3f; }
.replenishment-metrics article.good::after { background:#4da57f; }
.replenishment-metrics span,.replenishment-metrics strong,.replenishment-metrics small { display:block; }
.replenishment-metrics span { color:#75839a; font-size:8px; font-weight:750; }
.replenishment-metrics strong { margin:4px 0 2px; color:#344760; font:650 21px Geologica; }
.replenishment-metrics strong small { display:inline; font:650 9px Manrope; }
.replenishment-metrics > article > small { color:#97a2b3; font-size:7px; }
.replenishment-shortage { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; margin-bottom:10px; border:1px solid #efd1a7; border-radius:13px; background:#fff8ed; padding:9px 12px; }
.replenishment-shortage > span { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#f1a442; color:#fff; font-weight:900; }
.replenishment-shortage strong,.replenishment-shortage small { display:block; }
.replenishment-shortage strong { color:#845b2d; font-size:9px; }
.replenishment-shortage small { margin-top:3px; color:#9a7955; font-size:7px; }
.replenishment-shortage button { border:0; background:transparent; color:#a76a26; font-size:8px; font-weight:800; }
.replenishment-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; }
.replenishment-toolbar > div { display:flex; gap:5px; }
.replenishment-toolbar button { border:1px solid #dce4ef; border-radius:9px; background:#fff; padding:7px 11px; color:#718099; font-size:8px; font-weight:750; }
.replenishment-toolbar button.active { border-color:#9eb5e7; background:#eaf1ff; color:#4266b7; box-shadow:0 4px 11px rgba(68,96,158,.08); }
.replenishment-toolbar > span { color:#8794a8; font-size:8px; }
.replenishment-desk { min-height:510px; display:grid; grid-template-columns:minmax(250px,30%) minmax(0,1fr); gap:11px; }
.replenishment-queue,.replenishment-workspace { border:1px solid #dce5f0; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(44,63,98,.05); }
.replenishment-queue { overflow:hidden; }
.replenishment-queue > header { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e7edf4; padding:12px 14px; }
.replenishment-queue h3 { margin:3px 0 0; color:#43516a; font:650 12px Geologica; }
.replenishment-queue > header > b { min-width:26px; border-radius:9px; background:#edf2fb; padding:5px 8px; color:#536b9f; font-size:8px; text-align:center; }
.replenishment-queue > div { max-height:680px; overflow:auto; padding:6px; }
.replenishment-ticket { width:100%; display:grid; grid-template-columns:29px minmax(0,1fr) auto; align-items:center; gap:8px; border:1px solid transparent; border-radius:13px; background:transparent; padding:9px 8px; color:inherit; text-align:left; transition:.16s ease; }
.replenishment-ticket + .replenishment-ticket { margin-top:3px; }
.replenishment-ticket:hover { background:#f7f9fc; }
.replenishment-ticket.selected { border-color:#b7c9ee; background:linear-gradient(135deg,#fbfdff,#edf3ff); box-shadow:0 6px 15px rgba(55,79,132,.08); }
.replenishment-ticket.critical.selected { border-color:#e7bec2; background:linear-gradient(135deg,#fffdfd,#fbedef); }
.replenishment-ticket-order { width:29px; height:36px; display:grid; place-items:center; border-radius:9px; background:#e8effb; color:#5671aa; font:700 7px Geologica; }
.replenishment-ticket.critical .replenishment-ticket-order { background:#f6dfe1; color:#b74e58; }
.replenishment-ticket.high .replenishment-ticket-order { background:#faecd7; color:#b5772e; }
.replenishment-ticket small,.replenishment-ticket strong,.replenishment-ticket em { display:block; }
.replenishment-ticket span > small { color:#7889a2; font-size:6px; font-weight:800; }
.replenishment-ticket time.soon,.replenishment-ticket time.late { color:#b84f59; }
.replenishment-ticket strong { margin-top:2px; overflow:hidden; color:#3e4e67; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.replenishment-ticket em { margin-top:2px; color:#8c99ab; font-size:6px; font-style:normal; }
.replenishment-ticket > b { color:#40577e; font:650 14px Geologica; text-align:right; }
.replenishment-ticket > b small { color:#95a0b1; font:700 6px Manrope; }
.replenishment-ticket-progress { display:flex!important; gap:3px; margin-top:5px; }
.replenishment-ticket-progress i { width:13px; height:3px; border-radius:4px; background:#dbe2ed; }
.replenishment-ticket-progress i.done { background:#49a47d; }
.replenishment-workspace { padding:17px; }
.replenishment-empty { min-height:455px; display:grid; place-items:center; align-content:center; text-align:center; }
.replenishment-empty > span { width:55px; height:55px; display:grid; place-items:center; border-radius:50%; background:#e8f5ef; color:#449273; font-size:23px; }
.replenishment-empty strong { margin-top:11px; color:#45556e; font:650 14px Geologica; }
.replenishment-empty p { max-width:390px; margin:6px 0 0; color:#8996a8; font-size:9px; line-height:1.55; }
.replenishment-sheet-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.replenishment-sheet-head h2 { margin:5px 0 3px; color:#30415c; font:650 19px Geologica; letter-spacing:-.3px; }
.replenishment-sheet-head p { margin:0; color:#8a97aa; font-size:8px; }
.replenishment-sheet-head > div:last-child { display:grid; justify-items:end; gap:6px; }
.replenishment-sheet-head time { color:#7f8da2; font-size:8px; font-weight:800; }
.replenishment-sheet-head time.soon,.replenishment-sheet-head time.late { color:#ba4d58; }
.replenishment-priority { display:inline-flex; align-items:center; gap:5px; border-radius:8px; background:#eef3fc; padding:5px 8px; color:#5972aa; font-size:7px; font-weight:850; text-transform:uppercase; }
.replenishment-priority i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.replenishment-priority.critical { background:#fdebed; color:#b74752; }
.replenishment-priority.high { background:#fff2df; color:#b57225; }
.replenishment-load { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:14px 0 8px; }
.replenishment-load article { border:1px solid #e1e7ef; border-radius:11px; background:#fafbfd; padding:9px 10px; }
.replenishment-load span,.replenishment-load strong,.replenishment-load em { display:block; }
.replenishment-load span { color:#8b97a9; font-size:6px; font-weight:750; }
.replenishment-load strong { margin:3px 0 2px; color:#40516b; font:650 15px Geologica; }
.replenishment-load strong small { font:700 7px Manrope; }
.replenishment-load em { color:#9ba5b4; font-size:6px; font-style:normal; }
.replenishment-reason { margin:0 0 13px; border-radius:9px; background:#f1f5fb; padding:7px 9px; color:#718098; font-size:7px; }
.replenishment-route { position:relative; display:grid; grid-template-columns:1fr 46px 1fr 46px 1fr; align-items:center; border:1px solid #dce5f1; border-radius:16px; background:linear-gradient(180deg,#fff,#f7f9fc); padding:13px; }
.replenishment-route article { display:grid; grid-template-columns:35px minmax(0,1fr); align-items:center; gap:9px; border:1px solid #e0e6ef; border-radius:12px; background:#fff; padding:9px; }
.replenishment-route article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#edf1f7; color:#7e8da3; font-weight:850; }
.replenishment-route small,.replenishment-route strong,.replenishment-route em { display:block; }
.replenishment-route small { color:#8d99aa; font-size:6px; }
.replenishment-route strong { margin-top:2px; color:#40516a; font-size:9px; }
.replenishment-route em { margin-top:2px; color:#9ba5b4; font-size:6px; font-style:normal; }
.replenishment-route article.active { border-color:#8eabe9; box-shadow:0 0 0 4px rgba(74,111,198,.08); }
.replenishment-route article.active > span { background:#5279d6; color:#fff; box-shadow:0 7px 15px rgba(71,108,195,.24); }
.replenishment-route article.done { border-color:#b8dccd; background:#f6fcf9; }
.replenishment-route article.done > span { background:#4ca27d; color:#fff; }
.replenishment-route-link { height:8px; position:relative; overflow:hidden; background:repeating-linear-gradient(90deg,#b9c7dd 0 7px,transparent 7px 11px); }
.replenishment-route-link i { width:8px; height:8px; position:absolute; left:0; border:2px solid #fff; border-radius:50%; background:#4f76d2; box-shadow:0 0 0 2px rgba(79,118,210,.18); animation:replenishment-route-run 2.4s linear infinite; }
@keyframes replenishment-route-run { to { left:calc(100% - 8px); } }
.replenishment-scanner { display:grid; grid-template-columns:45px minmax(0,1fr) minmax(190px,.85fr) auto; align-items:center; gap:12px; margin-top:13px; border:1px solid #b9cdef; border-radius:15px; background:linear-gradient(125deg,#f9fcff,#edf4ff); padding:12px; }
.replenishment-scan-orbit { width:44px; height:44px; position:relative; display:grid; place-items:center; border-radius:14px; background:#4f75d0; color:#fff; box-shadow:0 9px 19px rgba(66,101,184,.22); }
.replenishment-scan-orbit > span { position:absolute; inset:6px; border:1px solid rgba(255,255,255,.45); border-radius:9px; }
.replenishment-scan-orbit b { position:relative; font-size:17px; }
.replenishment-scanner h3 { margin:4px 0 2px; color:#354a6c; font-size:11px; }
.replenishment-scanner p { margin:0; color:#7b8aa1; font-size:7px; }
.replenishment-scanner label { height:39px; display:flex; align-items:center; gap:7px; border:1px solid #aebfe2; border-radius:10px; background:#fff; padding:0 8px 0 11px; }
.replenishment-scanner input { min-width:0; flex:1; border:0; outline:0; color:#354965; font-size:9px; }
.replenishment-scanner kbd { border:1px solid #d8e0eb; border-radius:5px; background:#f5f7fa; padding:3px 5px; color:#8b98a9; font-size:6px; }
.replenishment-confirm { display:grid; grid-template-columns:minmax(0,1fr) 125px auto; align-items:end; gap:10px; margin-top:13px; border:1px solid #b9decf; border-radius:15px; background:#f0faf5; padding:12px; }
.replenishment-confirm h3 { margin:4px 0 2px; color:#39765c; font-size:11px; }
.replenishment-confirm p { margin:0; color:#73927f; font-size:7px; }
.replenishment-confirm label > span,.replenishment-confirm label > small { display:block; color:#668673; font-size:6px; font-weight:750; }
.replenishment-confirm input { width:100%; margin:4px 0 2px; border:1px solid #b9d5c8; border-radius:9px; background:#fff; padding:8px; color:#35654f; font-weight:800; outline:0; }
.replenishment-verdict { display:flex; align-items:center; gap:11px; margin-top:13px; border:1px solid #b8ddcd; border-radius:15px; background:#effaf4; padding:12px; }
.replenishment-verdict > span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#4ca27d; color:#fff; font-size:15px; font-weight:850; }
.replenishment-verdict small { color:#6d917f; font-size:6px; }
.replenishment-verdict h3 { margin:3px 0; color:#3a765c; font-size:11px; }
.replenishment-verdict p { margin:0; color:#789184; font-size:7px; }
.replenishment-verdict.canceled { border-color:#e5c3c6; background:#fff3f4; }
.replenishment-verdict.canceled > span { background:#c85c66; }
.replenishment-verdict.canceled small,.replenishment-verdict.canceled h3,.replenishment-verdict.canceled p { color:#9e5860; }
.replenishment-sheet-foot { display:flex; align-items:center; justify-content:space-between; min-height:34px; margin-top:10px; border-top:1px solid #e6ebf2; padding-top:9px; }
.replenishment-sheet-foot > span { color:#8b97a8; font-size:7px; }
.replenishment-cancel { border:0; background:transparent; color:#a65b63; font-size:7px; font-weight:750; }
.replenishment-scanner input:focus,.replenishment-confirm input:focus { box-shadow:0 0 0 3px rgba(76,112,199,.11); }
@media (prefers-reduced-motion:reduce) { .replenishment-route-link i { animation:none; left:calc(50% - 4px); } }
@media (max-width:1180px) {
  .replenishment-desk { grid-template-columns:1fr; }
  .replenishment-queue > div { max-height:260px; }
  .replenishment-scanner { grid-template-columns:44px minmax(0,1fr); }
  .replenishment-scanner label { grid-column:1/-1; }
  .replenishment-scanner > button { grid-column:1/-1; width:100%; }
}
@media (max-width:760px) {
  .replenishment-command { grid-template-columns:50px 1fr; }
  .replenishment-command-mark { width:48px; height:48px; }
  .replenishment-command > button { grid-column:1/-1; width:100%; }
  .replenishment-metrics { grid-template-columns:1fr 1fr; }
  .replenishment-toolbar { align-items:flex-start; flex-direction:column; }
  .replenishment-route { grid-template-columns:1fr; gap:6px; }
  .replenishment-route-link { width:8px; height:16px; justify-self:start; margin-left:26px; background:repeating-linear-gradient(180deg,#b9c7dd 0 7px,transparent 7px 11px); }
  .replenishment-route-link i { display:none; }
  .replenishment-load { grid-template-columns:1fr 1fr; }
  .replenishment-confirm { grid-template-columns:1fr; }
  .replenishment-shortage { grid-template-columns:30px 1fr; }
  .replenishment-shortage button { grid-column:1/-1; }
}

/* FULLIK training shift · physical route passport */
.training-welcome { min-height:520px; display:grid; grid-template-columns:minmax(0,1.06fr) minmax(340px,.72fr); align-items:center; gap:36px; overflow:hidden; position:relative; border:1px solid #d7e1f0; border-radius:24px; background:radial-gradient(circle at 8% 4%,rgba(101,140,228,.17),transparent 32%),linear-gradient(135deg,#fbfdff,#f0f5ff); padding:40px 44px; box-shadow:0 22px 55px rgba(48,73,128,.09); }
.training-welcome::after { width:260px; height:260px; position:absolute; right:-100px; bottom:-120px; border:36px solid rgba(79,117,210,.07); border-radius:50%; content:''; }
.training-welcome-copy { position:relative; z-index:1; }
.training-welcome-copy h2 { max-width:670px; margin:8px 0 12px; color:#2f405d; font:650 clamp(24px,2.6vw,38px)/1.14 Geologica; letter-spacing:-1.2px; }
.training-welcome-copy > p { max-width:650px; margin:0; color:#718198; font-size:10px; line-height:1.7; }
.training-safety { display:flex; flex-wrap:wrap; gap:7px; margin:20px 0; }
.training-safety span { border:1px solid #c9dfd4; border-radius:20px; background:#f3fbf7; padding:7px 10px; color:#428166; font-size:7px; font-weight:800; }
.training-start { min-height:42px; gap:8px; padding-inline:18px; }
.training-start .f-icon { width:14px; height:14px; }
.training-passport-preview { position:relative; z-index:1; transform:rotate(1.5deg); border:1px solid #bdcce1; border-radius:16px; background:#fffef9; padding:18px; box-shadow:0 25px 48px rgba(43,64,109,.17),inset 0 0 0 5px #f5f1e7; }
.training-passport-preview::before { position:absolute; inset:9px; border:1px dashed #c5cfdd; border-radius:10px; content:''; pointer-events:none; }
.training-passport-preview header,.training-passport-preview footer { position:relative; display:flex; justify-content:space-between; color:#5c6d87; font-size:7px; font-weight:850; letter-spacing:.08em; }
.training-passport-preview header span { color:#4e72ca; font:750 15px Geologica; letter-spacing:.06em; }
.training-passport-preview > div { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:18px 0; }
.training-passport-preview > div span { display:flex; align-items:center; gap:8px; border:1px solid #d8e0e9; border-radius:9px; background:#faf9f5; padding:8px; }
.training-passport-preview > div i { width:24px; height:24px; display:grid; place-items:center; border:1px dashed #9eb0ca; border-radius:50%; color:#7185a3; font-size:6px; font-style:normal; }
.training-passport-preview > div b { color:#506078; font-size:7px; }
.training-passport-preview footer { justify-content:center; border-top:1px dashed #ccd5e0; padding-top:10px; }
.training-command { display:grid; grid-template-columns:70px minmax(0,1fr) 82px; align-items:center; gap:17px; border:1px solid #d2deef; border-radius:20px 20px 0 0; background:radial-gradient(circle at 85% 0,rgba(111,147,231,.18),transparent 26%),linear-gradient(130deg,#fbfdff,#eef4ff); padding:17px 20px; }
.training-command-mark { width:66px; height:66px; display:grid; place-items:center; align-content:center; border:1px solid #bbcae2; border-radius:18px; background:linear-gradient(145deg,#fff,#dce8fb); color:#4d6ebd; box-shadow:inset 0 1px 0 #fff,0 10px 22px rgba(65,91,151,.13); }
.training-command-mark span { font:800 8px Geologica; letter-spacing:.16em; }
.training-command-mark b { margin-top:2px; font:700 17px Geologica; }
.training-command h2 { margin:5px 0 3px; color:#334663; font:650 20px Geologica; letter-spacing:-.45px; }
.training-command p { margin:0; color:#7a899f; font-size:8px; }
.training-progress { --training-progress:0; width:72px; height:72px; position:relative; display:grid; place-items:center; align-content:center; border-radius:50%; background:radial-gradient(circle closest-side,#f8fbff 78%,transparent 80% 99%),conic-gradient(#4f75d2 calc(var(--training-progress)*1%),#d9e2f0 0); }
.training-progress strong,.training-progress span { display:block; position:relative; }
.training-progress strong { color:#4566b6; font:700 15px Geologica; }
.training-progress span { color:#8a98aa; font-size:6px; }
.training-safe-band { display:flex; align-items:center; gap:8px; border:1px solid #d2deef; border-top:0; background:#f8faff; padding:8px 13px; }
.training-safe-band > span { display:flex; align-items:center; gap:6px; margin-right:auto; color:#54705f; font-size:7px; font-weight:800; }
.training-safe-band > span i { width:7px; height:7px; border-radius:50%; background:#49a27c; box-shadow:0 0 0 4px rgba(73,162,124,.1); }
.training-safe-band > b { border:1px solid #d7e4dd; border-radius:12px; background:#f4fbf7; padding:4px 7px; color:#4e846b; font-size:6px; }
.training-safe-band button { border:0; background:transparent; color:#63769a; font-size:7px; font-weight:800; }
.training-passport { overflow:hidden; border:1px solid #d4dce7; border-top:0; border-radius:0 0 20px 20px; background:#fffef9; box-shadow:0 18px 45px rgba(49,69,111,.08); }
.training-passport > header { display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px dashed #c7d1de; padding:13px 18px; background:linear-gradient(90deg,#faf9f4,#f4f6fa); }
.training-passport > header > div:first-child { display:flex; align-items:center; gap:12px; }
.training-passport > header span,.training-passport > header small,.training-passport > header time { color:#8490a2; font-size:6px; }
.training-passport > header > div:first-child span { color:#4a6cbc; font-weight:900; letter-spacing:.1em; }
.training-passport > header strong { color:#43536a; font:650 13px Geologica; }
.training-passport > header > div:last-child { display:grid; grid-template-columns:auto auto; gap:2px 8px; text-align:right; }
.training-passport > header > div:last-child small { grid-column:1/-1; }
.training-passport > header > div:last-child b { color:#56677e; font-size:7px; }
.training-stamps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.training-stamps article { min-height:96px; position:relative; display:grid; grid-template-columns:31px minmax(0,1fr); gap:8px; align-items:start; border-right:1px dashed #d4dbe4; border-bottom:1px dashed #d4dbe4; padding:12px; }
.training-stamps article:nth-child(4n) { border-right:0; }
.training-stamps article:nth-child(n+5) { border-bottom:0; }
.training-stamps article > span { width:30px; height:30px; display:grid; place-items:center; border:1px dashed #a9b6c8; border-radius:50%; color:#8b99ab; font:750 7px Geologica; }
.training-stamps small,.training-stamps strong,.training-stamps p { display:block; }
.training-stamps small { color:#a0a9b6; font-size:5px; text-transform:uppercase; }
.training-stamps strong { margin-top:2px; color:#667489; font-size:8px; }
.training-stamps p { margin:3px 0 0; color:#97a1af; font-size:5px; line-height:1.35; }
.training-stamps article > i { position:absolute; right:8px; bottom:7px; transform:rotate(-5deg); border:1px solid #cbd4df; border-radius:3px; padding:3px 5px; color:#a3adba; font-size:4px; font-style:normal; font-weight:900; letter-spacing:.09em; }
.training-stamps article.current { background:linear-gradient(135deg,#f8fbff,#ecf3ff); }
.training-stamps article.current > span { border-style:solid; border-color:#5e7fc9; background:#5276ca; color:#fff; box-shadow:0 7px 15px rgba(69,102,181,.22); }
.training-stamps article.current strong { color:#3f5f9f; }
.training-stamps article.current > i { border-color:#6f8fd4; color:#5576bd; }
.training-stamps article.done { background:#f7fbf8; }
.training-stamps article.done > span { border-style:solid; border-color:#4c9e79; background:#4c9e79; color:#fff; }
.training-stamps article.done strong { color:#47745f; }
.training-stamps article.done > i { border-color:#6ea88c; color:#568a70; }
.training-passport > footer { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:0; border-top:1px dashed #c7d1de; background:#f8f7f2; }
.training-passport > footer > div { min-width:0; border-right:1px dashed #c7d1de; padding:9px 13px; }
.training-passport > footer > div:last-child { border-right:0; }
.training-passport > footer span,.training-passport > footer strong,.training-passport > footer code { display:block; }
.training-passport > footer span { color:#969fae; font-size:5px; }
.training-passport > footer strong { overflow:hidden; margin:2px 0; color:#566477; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.training-passport > footer code { color:#72819a; font-size:6px; }
.training-next { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:14px; margin-top:14px; border:1px solid #b9cdee; border-radius:17px; background:linear-gradient(125deg,#f9fcff,#edf4ff); padding:13px 15px; }
.training-next-number { width:53px; height:53px; display:grid; place-items:center; border-radius:14px; background:#4f75d0; color:#fff; font:700 18px Geologica; box-shadow:0 10px 21px rgba(69,103,185,.22); }
.training-next h3 { margin:4px 0 3px; color:#364c70; font-size:12px; }
.training-next p { margin:0; color:#75869f; font-size:7px; line-height:1.5; }
.training-next code { border-radius:4px; background:#fff; padding:2px 4px; color:#4b69a7; font-size:6px; }
.training-foot-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 3px 0; }
.training-foot-actions span { color:#8b96a7; font-size:6px; }
.training-reset { color:#a1515d; }
.training-report { display:grid; grid-template-columns:105px minmax(0,1fr) minmax(250px,.58fr); align-items:center; gap:18px; margin-top:14px; border:1px solid #bddccc; border-radius:18px; background:radial-gradient(circle at 6% 4%,rgba(89,171,130,.15),transparent 26%),linear-gradient(130deg,#fbfffd,#edf8f2); padding:16px 18px; }
.training-report-seal { width:92px; height:92px; display:grid; place-items:center; align-content:center; border:2px double #55a17c; border-radius:50%; color:#3d7d5e; box-shadow:inset 0 0 0 5px #f4fbf7; }
.training-report-seal span { font-size:6px; font-weight:900; letter-spacing:.14em; }
.training-report-seal strong { font:750 27px Geologica; line-height:1; }
.training-report-seal small { font-size:5px; }
.training-report h2 { margin:5px 0 3px; color:#386d55; font:650 18px Geologica; }
.training-report p { margin:0; color:#6e8d7d; font-size:7px; }
.training-report-people { display:flex; flex-wrap:wrap; gap:4px; margin-top:8px; }
.training-report-people span { border-radius:12px; background:#fff; padding:4px 6px; color:#5f7c6c; font-size:5px; }
.training-report dl { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0; }
.training-report dl div { border:1px solid #d7e9df; border-radius:8px; background:#fff; padding:7px; }
.training-report dt { color:#8ca296; font-size:5px; }
.training-report dd { overflow:hidden; margin:2px 0 0; color:#53725f; font-size:6px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.training-nav .f-icon { color:#5f79ba; }
@media (max-width:1120px) {
  .training-welcome { grid-template-columns:1fr; }
  .training-passport-preview { max-width:560px; }
  .training-stamps { grid-template-columns:repeat(2,1fr); }
  .training-stamps article:nth-child(2n) { border-right:0; }
  .training-stamps article:nth-child(n+5) { border-bottom:1px dashed #d4dbe4; }
  .training-stamps article:nth-child(n+7) { border-bottom:0; }
  .training-report { grid-template-columns:90px 1fr; }
  .training-report dl { grid-column:1/-1; }
}
@media (max-width:720px) {
  .training-welcome { padding:25px 20px; }
  .training-command { grid-template-columns:58px 1fr; }
  .training-command-mark { width:56px; height:56px; }
  .training-progress { grid-column:1/-1; justify-self:center; }
  .training-safe-band { flex-wrap:wrap; }
  .training-safe-band > span { width:100%; }
  .training-stamps { grid-template-columns:1fr; }
  .training-stamps article { border-right:0; border-bottom:1px dashed #d4dbe4!important; }
  .training-stamps article:last-child { border-bottom:0!important; }
  .training-passport > header,.training-passport > footer { grid-template-columns:1fr; flex-direction:column; align-items:flex-start; }
  .training-passport > footer > div { border-right:0; border-bottom:1px dashed #c7d1de; }
  .training-next { grid-template-columns:48px 1fr; }
  .training-next-number { width:44px; height:44px; }
  .training-next button { grid-column:1/-1; width:100%; }
  .training-report { grid-template-columns:1fr; }
  .training-report-seal { justify-self:center; }
}

/* Dashboard · responsive warehouse conveyor */
.warehouse-flow { min-width:0; }
.warehouse-flow .flow-stage { min-width:0; }
.warehouse-flow .flow-stage > span:nth-child(2) { min-width:0; }
.warehouse-flow .flow-stage strong { line-height:1.2; }

@media (max-width:1180px) {
  .warehouse-flow { overflow:hidden; }
  .warehouse-flow .flow-track {
    min-width:0;
    grid-template-columns:repeat(5,minmax(136px,1fr));
    gap:8px;
    overflow-x:auto;
    margin:17px -4px -6px;
    padding:4px 4px 10px;
    scroll-padding-inline:4px;
    scroll-snap-type:x proximity;
    scrollbar-color:#b9c9e8 transparent;
    scrollbar-width:thin;
  }
  .warehouse-flow .flow-track::-webkit-scrollbar { height:5px; }
  .warehouse-flow .flow-track::-webkit-scrollbar-track { background:transparent; }
  .warehouse-flow .flow-track::-webkit-scrollbar-thumb { border-radius:5px; background:#b9c9e8; }
  .warehouse-flow .flow-line { display:none; }
  .warehouse-flow .flow-stage {
    min-height:66px;
    display:flex;
    grid-template-columns:none;
    gap:8px;
    scroll-snap-align:start;
    border:1px solid #dfe6f1;
    border-radius:13px;
    background:rgba(255,255,255,.9);
    padding:10px;
    box-shadow:0 7px 20px rgba(54,78,132,.07);
  }
  .warehouse-flow .stage-icon { width:39px; height:39px; flex:0 0 39px; border-radius:12px; }
  .warehouse-flow .stage-icon .f-icon { width:18px; height:18px; }
  .warehouse-flow .flow-stage strong { margin:2px 0; font-size:11px; white-space:normal; }
  .warehouse-flow .flow-stage small,
  .warehouse-flow .flow-stage em { font-size:8px; white-space:nowrap; }
  .warehouse-flow .flow-stage b { top:-7px; left:29px; }
}

@media (max-width:680px) {
  .warehouse-flow { padding:19px 18px 17px; }
  .warehouse-flow .flow-head { align-items:flex-start; gap:12px; }
  .warehouse-flow .flow-legend { max-width:145px; flex-wrap:wrap; justify-content:flex-end; gap:5px 10px; }
  .warehouse-flow .flow-track {
    grid-template-columns:none;
    grid-auto-columns:minmax(165px,72%);
    grid-auto-flow:column;
  }
}
