/* index_mobile bTNtI → bTNtV → bTNuK / bTOPX source declarations.
   These dimensions are source constraints, not measured browser equivalence. */
.mobile-page .mobile-routing-cell {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.mobile-page .mobile-routing-list {
  display: flex;
  flex-direction: column;
  min-width: 360px;
  min-height: 20px;
  border: 2px solid #8a8a8a;
}
.mobile-page .mobile-routing-process-list {
  margin: 0 5px;
  border-radius: 5px;
  background: #ebf3ff;
}
.mobile-page .mobile-routing-operation-list,
.mobile-page .mobile-routing-qc-list,
.mobile-page .mobile-routing-tool-list {
  align-self: flex-end;
  width: calc(100% - 45px);
  margin: 5px 5px 0 40px;
  background: #d5e5fb;
  max-width: 1000px;
}
.mobile-page .mobile-routing-qc-list,
.mobile-page .mobile-routing-tool-list {
  max-width: 950px;
  min-height: 28px;
}
.mobile-page .mobile-routing-cell + .mobile-routing-cell {
  border-top: 2px solid #8a8a8a;
}
.mobile-page .mobile-routing-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 28px;
  padding-bottom: 4px;
}
.mobile-page .mobile-routing-field {
  flex: 1 0 var(--mobile-field-width);
  min-width: var(--mobile-field-width);
  width: var(--mobile-field-width);
  height: auto;
  min-height: 28px;
  margin: 5px 5px 0;
  padding-top: 0;
}
.mobile-page .mobile-routing-fixed {
  flex: 0 0 var(--mobile-field-width);
}
.mobile-page .mobile-routing-bounded {
  max-width: var(--mobile-field-max);
}
.mobile-page .mobile-routing-field > input,
.mobile-page .mobile-routing-field > select {
  min-height: 28px;
  height: 28px;
}
.mobile-page .mobile-routing-toggle,
.mobile-page .mobile-routing-create,
.mobile-page .mobile-routing-tool-action,
.mobile-page .mobile-routing-unsupported,
.mobile-page .mobile-routing-detail {
  min-height: 28px;
  margin: 5px 5px 4px;
  flex-shrink: 0;
}
.mobile-page .mobile-routing-toggle {
  margin-bottom: 5px;
  padding-left: 0;
  padding-right: 0;
  background: var(--primary);
}
.mobile-page .mobile-routing-toggle[aria-expanded="true"] {
  background: var(--alert);
}
.mobile-page .mobile-routing-process-toggle {
  width: 100px;
  min-width: 100px;
}
.mobile-page
  .mobile-routing-process-toggle[data-mobile-routing-empty="true"][aria-expanded="false"] {
  border: 3px solid var(--primary);
  color: var(--primary);
  background: #fff;
}
.mobile-page .mobile-routing-operation-toggle {
  min-width: 85px;
  width: 85px;
}
.mobile-page .mobile-routing-qc-toggle {
  min-width: 120px;
}
.mobile-page .mobile-routing-tool-toggle,
.mobile-page .mobile-routing-detail,
.mobile-page .mobile-routing-cart {
  min-width: 60px;
}
.mobile-page .mobile-routing-value-label {
  min-height: 24px;
  margin: 8px 0 0 5px;
}
.mobile-page .mobile-routing-average {
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  margin: 5px -5px 0 0;
  padding: 0;
}
.mobile-page .mobile-routing-document-slot:empty {
  display: none;
}
.mobile-page .mobile-routing-document {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  width: 28px;
  min-height: 20px;
  height: 20px;
  margin: 5px 10px 0 -35px;
  padding: 0;
}
.mobile-page .mobile-routing-on-time {
  display: inline-flex;
  align-items: center;
  flex: 0 0 40px;
  min-width: 40px;
  margin: 8px 0 0 -50px;
}
.mobile-page .mobile-routing-on-time > input {
  width: 14px;
  min-height: 14px;
  height: 14px;
  margin: 0 3px 0 0;
}
.mobile-page .mobile-routing-on-time > .mobile-routing-clock {
  position: static;
  font-size: 16px;
}
.mobile-page .mobile-routing-on-time:has(.mobile-field-review:not([hidden])) {
  flex-wrap: wrap;
}
.mobile-page .mobile-routing-detail-slot {
  display: inline-flex;
}
.mobile-page a.mobile-routing-detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--primary);
  border-radius: 4px;
  text-decoration: none;
  padding: 0 5px;
}
.mobile-page .mobile-routing-catalog {
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 0;
}
.mobile-page .mobile-routing-delete {
  min-width: 30px;
  width: 30px;
  height: 28px;
  min-height: 28px;
  color: #fff;
  background: var(--destructive);
  border-radius: 8px;
  padding: 0;
}
.mobile-page .mobile-routing-add {
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mobile-page .mobile-routing-add .round-add {
  min-width: 32px;
  min-height: 32px;
  width: 32px;
  height: 32px;
  color: var(--alert);
  background: transparent;
  margin: 0 0 10px 5px;
  padding: 0;
}
.mobile-page .mobile-routing-create-status,
.mobile-page .mobile-routing-tool-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 5px 10px;
  font-size: 12px;
}
.mobile-page .mobile-routing-create-status button,
.mobile-page .mobile-routing-tool-status button {
  min-height: 28px;
}
.mobile-page .mobile-routing-type-notice {
  padding: 4px 6px;
  font-size: 12px;
}
.mobile-page .mobile-routing-unsupported {
  cursor: not-allowed;
}

/* Reviewed routing cleanup owns one scrollable mobile dialog. */
.modal.mobile-routing-removal {
  width: min(720px, calc(100vw - 20px));
  flex-shrink: 1;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.mobile-routing-removal ul {
  padding-left: 22px;
}
.mobile-routing-removal label {
  display: grid;
  gap: 8px;
  margin: 14px 0;
}
.mobile-routing-removal input {
  width: 100%;
  box-sizing: border-box;
}
.mobile-routing-removal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
