/* Operational polish. Keep the shared Bhanu palette and supplied artwork intact. */
.sidebar {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  gap: 0;
}
.sidebar > .brand,
.sidebar > .workspace,
.sidebar > .drawer-close,
.sidebar > .side-bottom {
  flex-shrink: 0;
}
.sidebar > .workspace {
  margin-top: 24px;
  margin-bottom: 12px;
}
.sidebar > .nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #b7c2cc transparent;
  align-content: start;
  padding: 3px 5px 8px 3px;
  margin: 0 -5px 0 -3px;
}
.sidebar > .nav button {
  flex-shrink: 0;
}
.sidebar > .side-bottom {
  margin-top: 12px;
}
.sidebar .side-note {
  margin: 8px 0 16px;
  padding: 12px 14px;
}
.sidebar .profile {
  padding-top: 14px;
}
.sidebar .profile strong {
  font-size: 12px !important;
  overflow-wrap: anywhere;
}

/* Status labels retain their words; colour provides a second scanning cue. */
.status {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}
.status.delivered,
.status.paid,
.status.verified,
.status.approved,
.status.active {
  background: #eaf5ee;
  color: #246342;
}
.status.out,
.status.delivery:not(.failed) {
  background: #eaf3fa;
  color: #215e88;
}
.status.pending,
.status.partial {
  background: #fff4df;
  color: #795314;
}
.status.cancelled,
.status.rejected,
.status.failed {
  background: #fbecea;
  color: #963c32;
}

.cell-sub,
.table-footer,
.card-head .subtitle,
.stat-bottom,
.pill,
.team-meta,
.team-numbers small,
.city-total small,
.legend-note,
.filter-hint,
.product-sku,
.shop-index,
.checkout-steps,
.factory-level,
.profile small,
.work-queue span {
  font-size: 12px;
}
.stat-bottom {
  flex-wrap: wrap;
  line-height: 1.5;
}
.stat,
.card-head > div {
  min-width: 0;
}
.table-footer {
  flex-wrap: wrap;
  gap: 8px 16px;
  line-height: 1.5;
}
.stat-value,
.city-total,
.team-numbers,
.line-total,
.detail-items,
.basket-line > b,
.quantity-stepper input,
.table-wrap td,
.pagination,
.workspace-freshness {
  font-variant-numeric: tabular-nums;
}

.adjustment-summary.card {
  max-width: none;
  height: auto;
  min-height: 0;
  padding: 18px 22px;
  margin: 0 0 22px;
  align-self: start;
}
.adjustment-summary h2 {
  margin: 0 0 8px;
}
.adjustment-summary p {
  margin: 6px 0 0;
  line-height: 1.6;
}
.adjustment-summary p:not(.help) {
  color: var(--ink);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.adjustment-summary .help {
  font-size: 12px;
}

.workspace-freshness {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: -10px 0 18px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.workspace-freshness .btn {
  min-height: 40px;
  padding: 8px 12px;
  font-size: 12px;
}
.workspace-freshness[aria-busy="true"] {
  color: #215e88;
}

.filters > *,
.filter-left,
.date-control {
  min-width: 0;
}
.filters .filter-left {
  flex: 1 1 380px;
}
.filters select,
.date-control input {
  max-width: 100%;
}
.filters .filter-hint {
  flex: 0 1 auto;
  line-height: 1.5;
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 16px 22px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.pagination-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.pagination .btn {
  min-height: 44px;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 150;
  transform: translateY(calc(-100% - 24px));
  padding: 12px 16px;
  border: 2px solid #00618e;
  border-radius: 8px;
  background: #fff;
  color: #174a65;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.skip-link:focus {
  transform: translateY(0);
  outline: 3px solid #00618e;
  outline-offset: 3px;
}

.chart-data {
  border-top: 1px solid var(--border);
  margin-top: 16px;
  font-size: 13px;
}
.chart-data > summary {
  min-height: 44px;
  padding: 14px 22px;
  color: #205a79;
  cursor: pointer;
  font-weight: 600;
}
.chart-data > summary:focus-visible {
  outline: 3px solid #00618e;
  outline-offset: -4px;
}
.chart-data > summary:hover {
  background: #f6f8fa;
}
.chart-data .table-wrap {
  max-width: 100%;
  overscroll-behavior-x: contain;
}
.chart-data table {
  font-variant-numeric: tabular-nums;
}
.chart-data caption {
  padding: 8px 22px 12px;
  color: var(--muted);
  font-size: 12px;
  text-align: left;
  white-space: normal;
}
.chart-data th,
.chart-data td {
  padding: 12px 22px;
  font-size: 12px;
}
.chart-data td:last-child {
  text-align: right;
}

@media (max-height: 760px) {
  .sidebar .side-note {
    display: none;
  }
}
@media (min-width: 851px) {
  .btn {
    font-size: 13px;
  }
  .text-btn {
    min-height: 40px;
    font-size: 12px;
  }
}
@media (max-width: 850px) {
  .sidebar > .workspace {
    margin-top: 18px;
  }
  .sidebar > .nav button {
    min-height: 48px;
  }
  .workspace-freshness {
    justify-content: space-between;
    margin-top: -4px;
  }
  .workspace-freshness .btn {
    min-height: 44px;
  }
  .adjustment-summary.card {
    padding: 16px;
    margin-bottom: 18px;
  }
  .filters .filter-left {
    flex-basis: 100%;
  }
  .filters .filter-hint {
    flex-basis: 100%;
  }
  .pagination {
    padding: 14px 16px;
    align-items: flex-start;
  }
  .pagination-actions {
    width: 100%;
  }
  .pagination-actions .btn {
    flex: 1;
  }
  .chart-data > summary,
  .chart-data caption,
  .chart-data th,
  .chart-data td {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .skip-link {
    transition: none;
  }
}

.shop-context{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.shop-context span{padding:6px 9px;border-radius:8px;background:#f4f6f8;font-size:12px;color:#455464}.draft-actions{display:flex;justify-content:flex-end;padding:8px 0}.route-stop-editor{list-style:none;padding:0;margin:12px 0}.route-stop-editor li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;margin-top:8px;flex-wrap:wrap}.route-empty{padding:22px;margin:16px 0}.all-date-toggle{display:flex;align-items:center;gap:8px;font-size:13px;min-height:44px}.pending-notice{padding:14px;border-radius:10px;background:#fff5e5;color:#785000}.retailer-toolbar label{font-size:13px}.route-stop-editor .btn{min-height:44px}
