/* Tour Booking List — visual density / column alignment (TOUR-TBL2)
   Summary grid: 10 tracks; product row last cell is structural only (no Job ID). */
.tour-bookings-page {
  --tb-summary-grid:
    6px
    minmax(11rem, 1.55fr)
    3.5rem
    2.1rem
    2.1rem
    2.35rem
    minmax(5.25rem, 5.75rem)
    minmax(6.75rem, 7.5rem)
    minmax(5.5rem, 6.25rem)
    minmax(5.25rem, 6rem);
  --tb-detail-grid:
    6.75rem
    minmax(7rem, 1.2fr)
    3rem
    minmax(6rem, 1fr)
    3.25rem
    minmax(4.25rem, .75fr)
    minmax(4.25rem, .7fr)
    2.75rem
    4.75rem
    minmax(5.5rem, 6.25rem);
}
.tour-bookings-page .legacy-scroll {
  overflow-x: visible;
  overflow-y: auto;
}
.tour-bookings-page .tb-list-shell {
  min-width: 68rem;
  overflow-x: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.tour-bookings-page .tb-list-shell > .tb-body.legacy-scroll {
  flex: 1;
  min-height: 0;
}
.tb-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 6px 10px;
  padding: 6px 8px;
  background: #f7faf7;
  border-bottom: 1px solid #c5d4c0;
}
.tb-filter-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.tb-filter-item.tb-filter-grow { flex: 1 1 12rem; min-width: 10rem; }
.tb-filter-lbl {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: #555;
  letter-spacing: 0.03em;
}
.tb-proto-note {
  margin: 0;
  padding: 4px 10px;
  font-size: 10px;
  background: #fffbea;
  border-bottom: 1px solid #eadfca;
}
.tb-summary-head {
  position: relative;
  background: var(--lg-mint);
  border-bottom: 1px solid #b7cbb6;
}
.tb-summary-meta {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 2px 10px 0;
  min-height: 0;
}
.tb-summary-range {
  position: static;
  max-width: none;
  margin: 0;
  text-align: right;
  font-weight: 600;
  font-size: 10px;
  line-height: 1.25;
  color: #455a64;
  white-space: nowrap;
  pointer-events: none;
}
.tour-bookings-page .legacy-colbar-tb-summary {
  display: grid;
  grid-template-columns: var(--tb-summary-grid);
  gap: 2px 6px;
  padding: 2px 8px 5px;
  align-items: end;
  border-bottom: 0;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}
.legacy-colbar-tb-summary .col-rail-hd {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: stretch;
}
.legacy-colbar-tb-summary .col-status {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
}
.legacy-colbar-tb-summary .col-mm {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  text-align: center;
}
.legacy-colbar-tb-summary .col-pax-title {
  grid-column: 4 / 7;
  grid-row: 1;
  text-align: center;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.1;
  padding-bottom: 1px;
  color: #37474f;
  border-bottom: 1px solid rgba(55, 71, 79, 0.22);
}
.legacy-colbar-tb-summary .col-pa {
  grid-column: 4;
  grid-row: 2;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
}
.legacy-colbar-tb-summary .col-pc {
  grid-column: 5;
  grid-row: 2;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
}
.legacy-colbar-tb-summary .col-pt {
  grid-column: 6;
  grid-row: 2;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
}
.legacy-colbar-tb-summary .col-show {
  grid-column: 7;
  grid-row: 1 / 3;
  align-self: center;
  text-align: center;
  font-size: 10px;
}
.legacy-colbar-tb-summary .col-create {
  grid-column: 8;
  grid-row: 1 / 3;
  align-self: center;
  text-align: center;
  font-size: 10px;
}
.legacy-colbar-tb-summary .col-cancel {
  grid-column: 9;
  grid-row: 1 / 3;
  align-self: center;
  text-align: center;
  font-size: 10px;
}
.legacy-colbar-tb-summary .col-jobid {
  grid-column: 10;
  grid-row: 1 / 3;
  align-self: center;
  text-align: center;
  font-size: 10px;
}
.btn-legacy-open {
  background: #1565c0;
  color: #fff;
}
.tour-bookings-page .tb-col-cancel .btn-legacy-cancel {
  background: #fff;
  color: #b71c1c;
  border-color: #ef9a9a;
  font-weight: 700;
  letter-spacing: 0;
  box-shadow: none;
}
.tour-bookings-page .tb-col-cancel .btn-legacy-cancel:hover,
.tour-bookings-page .tb-col-cancel .btn-legacy-cancel:focus {
  background: #ffebee;
  outline: 2px solid #e57373;
  outline-offset: 1px;
}
.tour-bookings-page .tb-program-hd .tb-col-jobid.tb-col-reserved {
  background: transparent;
  border: 0;
  min-height: 26px;
}
.tb-jobid {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 700;
  font-size: 11px;
  padding: 2px 4px;
  border-radius: 2px;
  background: #fff;
  border: 1px solid #cfd8dc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.tb-jobid.has-jo {
  background: #ffebee;
  border-color: #ef9a9a;
  color: #b71c1c;
}
.tb-jobid.is-empty {
  color: #9e9e9e;
  background: transparent;
  border-style: dashed;
  font-weight: 600;
}
.tjo-card {
  background: #fff;
  border-bottom: 2px solid #e0e0e0;
}
.tjo-hd-legacy {
  display: grid;
  grid-template-columns: minmax(8.75rem, 11.25rem) minmax(9.5rem, 13rem) minmax(0, 1fr) auto auto;
  gap: 0;
  border-bottom: 1px solid #bbb;
  align-items: stretch;
  min-height: 0;
}
.tjo-seg-membership {
  display: flex;
  flex-direction: column;
  gap: 1px;
  justify-content: center;
  background: #f5f5f5;
  border-left: 1px solid #ddd;
  padding: 2px 5px;
}
.tjo-seg { padding: 2px 6px; min-height: 0; }
.tjo-seg-yellow {
  background: #ffe082;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  padding: 2px 6px;
  min-width: 0;
}
.tjo-seg-cyan {
  background: var(--lg-cyan);
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  padding: 2px 6px;
}
.tjo-seg-blue {
  background: var(--lg-blue);
  color: #fff;
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 2px 6px;
}
.tjo-seg-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  gap: 3px;
  background: #fff;
  padding: 2px 4px;
}
.tjo-act-ico {
  box-sizing: border-box;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  cursor: pointer;
  line-height: 1;
  flex: 0 0 auto;
}
.tjo-act-ico .btn-ico,
.tjo-act-ico .ui-icon-host,
.tjo-act-ico .ui-icon,
.tjo-act-ico svg {
  pointer-events: none;
}
.tjo-act-ico .btn-ico,
.tjo-act-ico .ui-icon-host {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}
.tjo-act-ico .ui-icon {
  width: 18px;
  height: 18px;
}
.tjo-act-ico:hover {
  background: #eceff1;
}
.tjo-act-ico:active {
  background: #cfd8dc;
  transform: translateY(1px);
}
.tjo-act-ico:focus {
  outline: none;
}
.tjo-act-ico:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 1px;
}
.tjo-act-ico:disabled,
.tjo-act-ico.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}
.tjo-act-merge,
.tjo-act-split {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  line-height: 1.2;
  min-height: 22px;
  white-space: nowrap;
  cursor: pointer;
}
.tjo-act-merge:focus-visible,
.tjo-act-split:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 1px;
}
.tjo-date {
  font-weight: 600;
  font-size: 10px;
  line-height: 1.15;
  color: #5d4e37;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjo-yellow-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 6px;
  min-width: 0;
}
.tjo-idline {
  margin-top: 0;
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 3px;
  align-items: baseline;
  line-height: 1.15;
  flex-shrink: 0;
}
.tjo-idline .lbl {
  display: inline;
  font-size: 8px;
  font-weight: 700;
  opacity: .75;
  letter-spacing: .03em;
  line-height: 1.1;
}
.tjo-seg-cyan .lbl {
  display: block;
  font-size: 8px;
  font-weight: 700;
  opacity: .75;
  letter-spacing: .03em;
  line-height: 1.1;
}
.tjo-jobid { font-size: 12px; line-height: 1.15; font-weight: 800; }
.tjo-pax-aci {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 2px;
  margin-top: 0;
  flex-shrink: 0;
}
.tjo-aci {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  min-width: 0;
  padding: 0 3px;
  background: #fff;
  border: 1px solid #bbb;
  font-weight: 700;
  font-size: 10px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.tjo-aci abbr {
  text-decoration: none;
  font-size: 8px;
  opacity: .75;
  font-weight: 800;
}
.tjo-collapse-btn {
  margin-top: 0;
  border: 0;
  background: rgba(0, 0, 0, .08);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  padding: 0 5px;
  min-height: 16px;
  cursor: pointer;
  border-radius: 2px;
  white-space: nowrap;
  flex-shrink: 0;
}
.tjo-assign { min-width: 0; line-height: 1.1; }
.tjo-assign + .tjo-assign { margin-top: 1px; }
.tjo-assign-value {
  display: block;
  font-weight: 700;
  font-size: 11px;
  color: #212121;
  line-height: 1.15;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.tjo-assign-value.is-empty {
  color: #78909c;
  font-weight: 600;
}
.tjo-act-van {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  border: 1px solid #64b5f6;
  background: #e3f2fd;
  color: #0d47a1;
}
.tjo-act-van .btn-ico,
.tjo-act-van .ui-icon-host {
  width: 20px;
  height: 20px;
}
.tjo-act-van .ui-icon {
  width: 20px;
  height: 20px;
}
.tjo-act-van:hover,
.tjo-act-van:focus-visible {
  background: #bbdefb;
  border-color: #1976d2;
}
.tjo-act-van:active {
  background: #90caf9;
}
.tjo-act-van:focus {
  outline: none;
}
.tjo-act-van:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 1px;
}
.tjo-van-modal { font-size: 13px; }
.tjo-van-lead { margin: 0 0 10px; color: #546e7a; }
.tjo-van-context {
  display: grid;
  gap: 6px 12px;
  margin: 0 0 12px;
  padding: 8px 10px;
  background: #f5f7fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.tjo-van-context > div {
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr);
  gap: 4px 10px;
  align-items: baseline;
}
.tjo-van-context dt {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
  color: #78909c;
  text-transform: uppercase;
}
.tjo-van-context dd {
  margin: 0;
  font-weight: 700;
  color: #212121;
  overflow-wrap: anywhere;
}
.tjo-van-placeholder {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
}
.tjo-tour-name {
  font-size: 12px;
  text-transform: uppercase;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.tjo-product-stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  min-width: 0;
}
.tjo-tour-name.is-multi,
.tjo-tour-name.is-single.tjo-prod-id {
  font-size: 10px;
  line-height: 1.2;
  padding: 2px 5px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-weight: 800;
}
.tjo-product-stack .tjo-tour-name.is-multi:last-child {
  border-bottom-width: 1px;
}
.tjo-prodcode.tjo-prod-id {
  display: inline-block;
  max-width: 100%;
  padding: 0 4px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjo-pick-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 280px;
  overflow: auto;
  margin-top: 8px;
}
.tjo-pick-row {
  display: grid;
  grid-template-columns: auto 7.5rem minmax(0, 1fr) 4.5rem;
  gap: 6px 8px;
  align-items: center;
  padding: 4px 6px;
  border: 1px solid #e0e0e0;
  background: #fff;
  font-size: 12px;
}
.tjo-pick-guest {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tjo-pick-jo.has-jo { color: #b71c1c; font-weight: 700; }
.tjo-pick-jo.is-empty { color: #9e9e9e; }
.tjo-pick-jo-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}
.tjo-pick-jo-btn { justify-content: flex-start; }
.tjo-create-context {
  font-size: 13px;
  margin-top: 4px;
}
.tb-jobid {
  font-size: 11px;
}
.tjo-card[data-collapsed="1"] .tjo-body { display: none; }
.tjo-pax-boxes { display: inline-flex; gap: 3px; }
.tjo-pax-boxes span {
  min-width: 1.4rem;
  padding: 1px 4px;
  background: #fff;
  border: 1px solid #bbb;
  text-align: center;
  font-weight: 700;
}
/* TJO-G2 — active booking-row grid (12 main-row cells incl. gear) */
.tour-job-orders-page {
  --tjo-detail-grid: 16px 3.2rem minmax(5.5rem, 1fr) 2.5rem 3.2rem 3.5rem minmax(5.5rem, 1fr) 6.5rem 4.25rem minmax(3.25rem, .55fr) 4.5rem auto;
}
.tour-job-orders-page .legacy-colbar-tjo-detail,
.tour-job-orders-page .tjo-line {
  display: grid;
  grid-template-columns: var(--tjo-detail-grid);
  gap: 4px 6px;
  align-items: center;
  padding: 2px 8px;
  min-height: 0;
}
.tour-job-orders-page .legacy-colbar-tjo-detail {
  background: #e8f0e4;
  border-bottom: 1px solid #c5d4c0;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #455a64;
  white-space: nowrap;
  padding-top: 3px;
  padding-bottom: 3px;
}
.tour-job-orders-page .legacy-colbar-tjo-detail .tjo-col-acts {
  text-align: right;
}
.tour-job-orders-page .tjo-line {
  border-bottom: none;
  font-size: 11px;
}
.tour-job-orders-page .tjo-booking-item {
  border-bottom: 1px solid #e0e0e0;
}
.tour-job-orders-page .tjo-booking-item:last-child {
  border-bottom: 0;
}
.tour-job-orders-page .tjo-room {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
  color: #37474f;
}
.tour-job-orders-page .tjo-room.is-empty,
.tour-job-orders-page .tjo-prodcode.is-empty {
  min-height: 0;
}
.tour-job-orders-page .tjo-prodcode {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tour-job-orders-page .tjo-remark-sub {
  padding: 0 8px 2px 38px;
  font-size: 10px;
  line-height: 1.35;
}
.tour-job-orders-page .tjo-remark-sub .tjo-bk-remark,
.tour-job-orders-page .tjo-remark-sub .tjo-op-remark {
  display: block;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: break-word;
}
.tour-job-orders-page .tjo-booking-item:has(+ .tjo-booking-item) .tjo-remark-sub:last-child {
  padding-bottom: 3px;
}
@media (max-width: 900px), (html.force-mobile) {
  .tour-job-orders-page .legacy-colbar-tjo-detail { display: none; }
  .tjo-hd-legacy {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "yellow yellow"
      "cyan cyan"
      "blue blue"
      "membership icons";
  }
  .tjo-seg-yellow {
    grid-area: yellow;
    padding: 3px 6px;
    row-gap: 2px;
  }
  .tjo-seg-cyan { grid-area: cyan; padding: 3px 6px; }
  .tjo-seg-blue { grid-area: blue; padding: 3px 6px; }
  .tjo-seg-membership {
    grid-area: membership;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3px;
    padding: 3px 6px;
  }
  .tjo-seg-icons { grid-area: icons; padding: 3px 5px; gap: 4px; }
  .tjo-act-ico {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
  }
  .tjo-act-ico .btn-ico,
  .tjo-act-ico .ui-icon-host,
  .tjo-act-ico .ui-icon {
    width: 22px;
    height: 22px;
  }
  .tjo-act-van {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  .tjo-act-van .btn-ico,
  .tjo-act-van .ui-icon-host,
  .tjo-act-van .ui-icon {
    width: 24px;
    height: 24px;
  }
  .tjo-act-merge,
  .tjo-act-split {
    min-height: 36px;
    padding: 6px 12px;
  }
  .tour-job-orders-page .tjo-room,
  .tour-job-orders-page .tjo-prodcode {
    font-size: 10px;
  }
  .tour-job-orders-page .tjo-remark-sub {
    padding-left: 8px;
  }
}
.tjo-time { font-weight: 700; color: #1565c0; font-variant-numeric: tabular-nums; }
.tjo-time-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  min-width: 0;
}
.tjo-pu-btn {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 700;
  color: #1565c0;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  text-align: left;
  border-bottom: 1px dashed transparent;
}
.tjo-pu-btn:hover,
.tjo-pu-btn:focus {
  border-bottom-color: #1565c0;
  outline: none;
}
.tjo-pu-btn.has-hist { color: #0d47a1; }
.tjo-pu-inline-wrap {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  max-width: 100%;
}
.tjo-pu-inline-wrap.is-editing .tjo-pu-hist-clock,
.tjo-pu-inline-wrap.is-editing .tjo-pu-btn {
  display: none !important;
}
.tjo-pu-inline-input {
  box-sizing: border-box;
  width: 4.4rem;
  min-width: 4.2rem;
  max-width: 100%;
  min-height: 22px;
  height: 22px;
  padding: 0 2px;
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}
/* Hide browser-native time/calendar picker glyph only on Tour JO inline PU editor.
   Do NOT remove .tjo-pu-hist-clock (custom orange Pickup History control). */
.tjo-pu-inline-input::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
  appearance: none;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}
.tjo-pu-inline-input::-webkit-clear-button {
  display: none;
}
.tjo-pu-inline-input.is-invalid {
  border-color: #c62828;
  box-shadow: 0 0 0 1px #ef9a9a;
}
.tjo-pu-hist-clock {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  width: 18px;
  height: 18px;
  min-width: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ef6c00;
  cursor: pointer;
  border-radius: 50%;
  flex: 0 0 auto;
}
.tjo-pu-hist-clock:hover,
.tjo-pu-hist-clock:focus {
  background: #fff3e0;
  outline: none;
}
.tjo-pu-hist-clock-ico {
  width: 14px;
  height: 14px;
  display: block;
}
.tjo-op-rmk-inline {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
  width: 100%;
}
.tjo-op-rmk-inline .tjo-inline-rmk {
  flex: 1 1 auto;
  min-width: 0;
}
.tjo-pu-send-msg {
  flex: 0 0 auto;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .02em;
  color: #e65100;
  background: #fff8e1;
  border: 1px solid #ffe082;
  border-radius: 2px;
  padding: 2px 5px;
  line-height: 1.3;
  white-space: nowrap;
  max-width: 46%;
  overflow: hidden;
  text-overflow: ellipsis;
  align-self: center;
}
@media (max-width: 900px), (html.force-mobile) {
  .tjo-op-rmk-inline.has-send {
    flex-wrap: wrap;
  }
  .tjo-op-rmk-inline.has-send .tjo-pu-send-msg {
    max-width: 100%;
  }
  .tjo-op-rmk-inline.has-send .tjo-inline-rmk {
    flex: 1 1 100%;
  }
}
.tjo-pu-hist-modal { display: flex; flex-direction: column; gap: 8px; }
.tjo-pu-hist-note { margin: 0; font-size: 11px; }
.tjo-pu-hist-table-wrap {
  max-height: 260px;
  overflow: auto;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
}
.tjo-pu-hist-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.tjo-pu-hist-table th,
.tjo-pu-hist-table td {
  padding: 5px 8px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: top;
}
.tjo-pu-hist-table th {
  background: #f5f7fa;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #546e7a;
  position: sticky;
  top: 0;
}
.tjo-put-badge {
  display: inline-block;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #e65100;
  background: #fff3e0;
  border: 1px solid #ffcc80;
  border-radius: 2px;
  padding: 0 3px;
  line-height: 1.4;
  white-space: nowrap;
}
.tjo-put-gen-btn {
  font-size: 9px;
  font-weight: 700;
  padding: 1px 5px;
  white-space: nowrap;
  color: #e65100;
  border-color: #ffcc80;
  background: #fff8e1;
}
.tjo-loc {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjo-loc strong { text-transform: uppercase; font-size: 11px; }
.tjo-names,
.tjo-agent {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
  line-height: 1.25;
}
.tjo-bk { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tjo-st { color: #2e7d32; font-weight: 700; font-size: 10px; white-space: nowrap; }
.tjo-row-acts { display: inline-flex; gap: 2px; }
.tjo-note {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  background: #fffde7;
  border-top: 1px solid #ffe082;
  font-size: 10px;
  min-height: 20px;
}
.tjo-note-lbl { flex-shrink: 0; font-weight: 800; letter-spacing: .04em; }
.tjo-note-face {
  flex: 1;
  min-width: 0;
  text-align: left;
  border: 1px dashed transparent;
  background: transparent;
  padding: 1px 4px;
  font: inherit;
  color: inherit;
  cursor: text;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tjo-note.is-empty .tjo-note-face { color: #888; }
.tjo-note-face:hover,
.tjo-note-face:focus {
  border-color: #c9a227;
  background: #fff;
  outline: none;
}
.tjo-note-edit {
  flex: 1;
  min-width: 0;
  font-size: 11px;
  min-height: 28px;
  resize: vertical;
}
.tjo-notes-legacy {
  padding: 6px 8px;
  background: #fffde7;
  border-top: 1px solid #ffe082;
}
.tjo-notes-legacy .control { width: 100%; font-size: 11px; }

/* Tour Job Orders — customer review refinement */
.tjo-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px 12px;
  padding: 6px 8px;
  background: #f7faf7;
  border-bottom: 1px solid #c5d4c0;
}
.tjo-filter-hint { font-size: 10px; flex: 1 1 12rem; }
.tjo-hd-refined {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px 10px;
  padding: 6px 8px;
  background: linear-gradient(180deg, #fff8e1 0%, #ffe082 100%);
  border-bottom: 1px solid #c9a227;
}
.tjo-hd-main { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; min-width: 0; flex: 1 1 auto; }
.tjo-hd-idblock { display: flex; flex-direction: column; gap: 1px; }
.tjo-jobid-lg { font-size: 16px; font-weight: 800; color: #1a1a1a; }
.tjo-date-inline { font-size: 10px; font-weight: 600; color: #555; }
.tjo-hd-pax { display: inline-flex; gap: 4px; }
.tjo-hd-products { min-width: 8rem; max-width: 22rem; }
.tjo-hd-guides { display: flex; flex-wrap: wrap; gap: 4px; }
.tjo-guide-chip {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  background: #e0f7fa;
  border: 1px solid #80deea;
  border-radius: 2px;
}
.tjo-guide-chip.is-empty { color: #888; background: #f5f5f5; border-color: #ccc; }
.tjo-prod-count { display: block; font-size: 9px; font-weight: 700; opacity: .85; margin-bottom: 2px; }
.tjo-hd-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.tjo-transport-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  padding: 4px 8px;
  font-size: 10px;
  border-bottom: 1px solid #ddd;
}
.tjo-transport-bar.is-pending { background: #fff8e1; color: #5d4037; }
.tjo-transport-bar.is-generated { background: #e8f5e9; color: #1b5e20; }
.tjo-transport-bar.is-reconcile { background: #fff3e0; color: #e65100; }
.tjo-transport-lbl { font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.tjo-transport-hint { font-size: 10px; margin-left: auto; }
.tjo-reconcile-btn {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
}
.tjo-transport-assign {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.tjo-transport-field {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 6px 10px;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
}
.tjo-transport-field span { color: #546e7a; font-size: 10px; text-transform: uppercase; }

/* TJO-G5C — Transport workbench popup */
.tjo-transport-workbench { display: flex; flex-direction: column; gap: 12px; }
.tjo-transport-wb-hd {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
}
.tjo-transport-wb-status { font-size: 13px; letter-spacing: .02em; }
.tjo-transport-wb-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  font-size: 12px;
}
.tjo-transport-wb-meta .lbl {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  color: #607d8b;
  margin-right: 2px;
}
.tjo-transport-section { display: flex; flex-direction: column; gap: 6px; }
.tjo-transport-section.is-deferred {
  opacity: .72;
  padding: 6px 8px;
  background: #fafafa;
  border: 1px dashed #cfd8dc;
  border-radius: 2px;
}
.tjo-transport-sec-title {
  margin: 0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #37474f;
}
.tjo-transport-table-wrap { overflow-x: auto; border: 1px solid #e0e0e0; border-radius: 2px; }
.tjo-transport-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.tjo-transport-table th,
.tjo-transport-table td {
  padding: 4px 8px;
  border-bottom: 1px solid #eee;
  text-align: left;
  vertical-align: top;
}
.tjo-transport-table th {
  background: #f5f7fa;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #546e7a;
}
.tjo-transport-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  gap: 6px 10px;
  margin-bottom: 8px;
}
.tjo-transport-kpis .lbl {
  display: block;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  color: #607d8b;
}
.tjo-transport-kpis strong { font-size: 12px; }
.tjo-transport-ops.is-empty {
  padding: 12px;
  background: #fff8e1;
  border: 1px solid #ffe082;
  border-radius: 2px;
}
.tjo-transport-empty-msg { margin: 0 0 4px; font-size: 12px; }
.tjo-transport-ft-spacer { flex: 1 1 auto; min-width: 8px; }
#ui-modal.open:has(.tjo-transport-workbench) #ui-modal-ft {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
/* Dormant — TJO-G2+ refined row (Room, Product Code, remarks). Requires .tjo-lines.is-refined-future markup. */
.tjo-lines.is-refined-future {
  --tjo-detail-grid: 6.5rem minmax(6rem, 1fr) 2.8rem 4.2rem minmax(5rem, .9fr) minmax(5rem, .9fr) minmax(6rem, 1fr) 5.5rem minmax(3.5rem, .6fr) 3rem 5.5rem;
}
.tjo-lines.is-refined-future .tjo-line {
  padding: 3px 8px;
}
.tjo-prodcode { color: #1565c0; font-weight: 700; white-space: nowrap; }
.tjo-bk-remark { color: #1565c0; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tjo-op-remark { color: #e65100; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tjo-pu-changed { font-weight: 700; color: #1565c0; font-variant-numeric: tabular-nums; }
.tjo-pu-from { color: #888; font-weight: 500; text-decoration: line-through; font-size: 10px; }
.tjo-pu-flag { display: block; font-size: 9px; color: #c62828; font-weight: 700; }
.tjo-move-btn { white-space: nowrap; font-size: 10px; padding: 2px 6px; }
.tjo-jo-remark {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 4px 8px;
  background: #ffebee;
  border-top: 1px solid #ef9a9a;
  font-size: 11px;
}
.tjo-jo-remark-lbl { flex-shrink: 0; font-weight: 800; color: #b71c1c; font-size: 10px; letter-spacing: .03em; }
.tjo-jo-remark-face { color: #b71c1c; }
.tjo-remark-legend { margin: 0; padding: 2px 8px 4px; font-size: 9px; background: #fafafa; border-top: 1px solid #eee; }
.tjo-warn-inline { color: #e65100; font-weight: 700; font-size: 10px; }
.tjo-warn-inline.is-open { color: #c62828; }
.tjo-warn-reconcile, .tjo-warn-open { font-size: 11px; color: #e65100; margin: 8px 0 0; padding: 6px 8px; background: #fff3e0; border: 1px solid #ffcc80; border-radius: 2px; }
.tjo-move-modal .tjo-move-actions { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.tjo-move-preview { margin-top: 8px; font-size: 12px; line-height: 1.4; }
.tjo-jo-pick {
  grid-template-columns: auto 4.5rem 5.5rem minmax(5rem, auto) minmax(0, 1fr);
}
.tjo-prod-pick {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.tjo-pick-prod-main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 6px;
  min-width: 0;
}
.tjo-pick-prod-name {
  font-size: 12px;
}
.tjo-pick-code {
  font-size: 10px;
  color: #607d8b;
}
.tjo-pick-src {
  font-size: 10px;
  color: #78909c;
}
.tjo-pick-bkcount {
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #455a64;
}
.tjo-merge-search {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 8px;
  padding: 5px 8px;
  font-size: 12px;
  border: 1px solid #cfd8dc;
  border-radius: 2px;
}
.tjo-merge-empty {
  margin: 12px 0 4px;
  font-size: 12px;
}
.tjo-pick-date { font-size: 11px; color: #546e7a; }
.tjo-pick-pax { font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tjo-pick-prod { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.tjo-split-dest { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.tjo-split-opt { display: flex; align-items: center; gap: 6px; font-size: 12px; cursor: pointer; }
.tjo-split-mixed { margin: 4px 0 0; font-size: 11px; }
.tjo-move-opt { justify-content: flex-start; text-align: left; }
.tjo-move-context { margin: 6px 0; font-size: 12px; }
.tjo-template-group { margin-bottom: 10px; }
.tjo-template-group strong { display: block; margin-bottom: 4px; font-size: 11px; }
.tjo-template-pick { margin: 0 4px 4px 0; }
.tjo-template-modal .tjo-van-lead { margin-bottom: 10px; }
.tjo-template-actions { display: flex; flex-direction: column; gap: 4px; }
.tjo-template-opt {
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
  line-height: 1.35;
  max-width: 100%;
}

/* TJO-G5C — compact inline JOB RMK */
.tour-job-orders-page .tjo-jo-remark {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px 8px;
  padding: 3px 8px;
  background: #ffebee;
  border-top: 1px solid #ef9a9a;
  font-size: 11px;
  min-height: 0;
}
.tour-job-orders-page .tjo-jo-remark-hd { display: none; }
.tour-job-orders-page .tjo-jo-remark-lbl {
  flex-shrink: 0;
  font-weight: 800;
  color: #b71c1c;
  font-size: 10px;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}
.tour-job-orders-page .tjo-template-btn {
  font-size: 10px;
  padding: 1px 6px;
  white-space: nowrap;
}
.tour-job-orders-page .tjo-template-none {
  font-size: 9px;
  font-weight: 600;
  white-space: nowrap;
}
.tour-job-orders-page .tjo-jo-remark-face { display: none; }
.tour-job-orders-page .tjo-jo-remark-edit {
  width: 100%;
  min-width: 0;
  font-size: 11px;
  line-height: 1.35;
  min-height: 0;
  max-height: none;
  resize: none;
  overflow-y: hidden;
  box-sizing: border-box;
  border: 1px solid #ef9a9a;
  background: #ffebee;
  color: #b71c1c;
  padding: 3px 6px;
  field-sizing: content;
}
.tour-job-orders-page .tjo-jo-remark.is-empty .tjo-jo-remark-edit {
  color: #888;
  border-style: dashed;
  background: #ffebee;
}
.tour-job-orders-page .tjo-jo-remark.is-long .tjo-jo-remark-edit {
  min-height: 0;
}
.tour-job-orders-page .tjo-jo-remark-edit:focus {
  outline: none;
  border-color: #c62828;
  background: #fff5f5;
  box-shadow: 0 0 0 1px rgba(198, 40, 40, .2);
}
@media (max-width: 900px), (html.force-mobile) {
  .tour-job-orders-page .tjo-jo-remark {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .tjo-transport-wb-meta { gap: 4px 10px; }
  #ui-modal.open:has(.tjo-transport-workbench) #ui-modal-ft {
    flex-direction: column;
    align-items: stretch;
  }
  .tjo-transport-ft-spacer { display: none; }
}

@media (min-width: 901px) {
  .tour-job-orders-page .tjo-seg { padding: 2px 6px; }
  .tour-job-orders-page .tjo-seg-yellow,
  .tour-job-orders-page .tjo-seg-cyan,
  .tour-job-orders-page .tjo-seg-blue {
    padding: 2px 6px;
  }
  .tour-job-orders-page .tjo-seg-icons .btn {
    min-height: 20px;
    padding: 0 3px;
  }
  .tour-job-orders-page .tjo-line {
    padding-top: 1px;
    padding-bottom: 1px;
  }
  .tour-job-orders-page .legacy-chrome-hd { padding: 4px 10px; font-size: 13px; }
  .tour-job-orders-page .legacy-chrome-bar { padding: 3px 8px; }
}

/* TJO-G6 — Change Pickup / PUT notice */
.tjo-pu-modal { display: flex; flex-direction: column; gap: 10px; }
.tjo-pu-context {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 6px 12px;
  margin: 0;
  font-size: 12px;
}
.tjo-pu-context dt {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  color: #607d8b;
  margin: 0;
}
.tjo-pu-context dd { margin: 0; }
.tjo-pu-field {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 6px 10px;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
}
.tjo-pu-field em { font-weight: 500; color: #78909c; font-style: normal; font-size: 10px; }
.tjo-pu-hist-block {
  border-top: 1px solid #e0e0e0;
  padding-top: 8px;
}
.tjo-pu-hist-title {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #37474f;
}
.tjo-pu-hist-list { display: flex; flex-direction: column; gap: 6px; max-height: 180px; overflow: auto; }
.tjo-pu-hist-item {
  padding: 6px 8px;
  background: #f5f7fa;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  font-size: 11px;
}
.tjo-pu-hist-meta { color: #607d8b; font-size: 10px; margin-top: 2px; }
.tjo-pu-hist-reason { margin-top: 2px; color: #455a64; }
.tjo-pu-hist-empty { margin: 0; font-size: 11px; }
.tjo-put-preview-note { margin: 0 0 8px; font-size: 11px; }
.tjo-put-doc {
  border: 1px solid #cfd8dc;
  border-radius: 2px;
  background: #fff;
  padding: 12px 14px;
}
.tjo-put-doc-hd {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eceff1;
  margin-bottom: 10px;
  font-size: 13px;
}
.tjo-put-doc-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 8px 14px;
  margin: 0;
  font-size: 12px;
}
.tjo-put-doc-fields dt {
  margin: 0;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  color: #607d8b;
}
.tjo-put-doc-fields dd { margin: 0; }
.tjo-put-pu { font-size: 16px; font-weight: 800; color: #1565c0; }
.tjo-put-placeholder {
  margin: 12px 0 0;
  padding: 8px;
  background: #fafafa;
  border: 1px dashed #cfd8dc;
  font-size: 11px;
}
.tjo-put-export-hd,
.tjo-put-export-row {
  display: grid;
  grid-template-columns: 1.5rem 7rem minmax(0, 1.4fr) 3.2rem 3.5rem 4.5rem;
  gap: 6px 8px;
  align-items: center;
  font-size: 11px;
}
.tjo-put-export-hd {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  color: #607d8b;
  padding: 0 0 4px;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 4px;
}
.tjo-put-export-row {
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f0;
}
.tjo-put-export-list { max-height: 280px; overflow: auto; }
@media (max-width: 900px), (html.force-mobile) {
  .tjo-pu-field { grid-template-columns: 1fr; }
  .tjo-put-export-hd,
  .tjo-put-export-row {
    grid-template-columns: 1.5rem minmax(0, 1fr);
  }
  .tjo-put-export-hd span:nth-child(n+3),
  .tjo-put-export-row span:nth-child(n+3) {
    display: none;
  }
}

/* TJO-G6C — Booking/OP remarks 50/50 + Transport Guide */
.tjo-bk-remarks-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 8px;
  padding: 2px 8px 4px;
  border-top: 1px solid #eee;
  background: #fafafa;
}
.tjo-bk-rmk-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 6px;
  align-items: start;
  min-width: 0;
  margin: 0;
  font-size: 10px;
}
.tjo-bk-rmk-field .lbl {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding-top: 4px;
  white-space: nowrap;
}
.tjo-bk-rmk-field.is-booking .lbl { color: #1565c0; }
.tjo-bk-rmk-field.is-op .lbl { color: #e65100; }
.tjo-inline-rmk {
  width: 100%;
  min-width: 0;
  min-height: 0;
  max-height: none;
  resize: none;
  overflow-y: hidden;
  font-size: 11px;
  line-height: 1.35;
  padding: 2px 5px;
  box-sizing: border-box;
  border: 1px solid #cfd8dc;
  background: #fff;
  field-sizing: content;
}
.tjo-bk-rmk-field.is-booking .tjo-inline-rmk {
  border-color: #90caf9;
  color: #0d47a1;
}
.tjo-bk-rmk-field.is-op .tjo-inline-rmk {
  border-color: #ffcc80;
  color: #e65100;
}
.tjo-inline-rmk:focus {
  outline: none;
  box-shadow: 0 0 0 1px rgba(25, 118, 210, .2);
}
.tjo-guide-assign {
  padding: 8px;
  background: #f3f8fc;
  border: 1px solid #bbdefb;
  border-radius: 2px;
  gap: 6px;
}
.tjo-guide-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 24px;
  align-items: center;
}
.tjo-guide-chip {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 1px 2px 1px 7px;
  font-size: 11px;
  font-weight: 700;
  color: #0d47a1;
  background: #e3f2fd;
  border: 1px solid #90caf9;
  border-radius: 2px;
  max-width: 100%;
}
.tjo-guide-chip-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tjo-guide-chip-x {
  border: 0;
  background: transparent;
  color: #1565c0;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 2px 6px;
  border-radius: 2px;
}
.tjo-guide-chip-x:hover {
  background: rgba(21, 101, 192, 0.12);
  color: #0d47a1;
}
.tjo-guide-ms {
  position: relative;
  max-width: 28rem;
  width: 100%;
}
.tjo-guide-search {
  width: 100%;
}
.tjo-guide-dd {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px);
  z-index: 5;
  max-height: 11.5rem; /* ~8 options */
  overflow-y: auto;
  background: #fff;
  border: 1px solid #90caf9;
  border-radius: 2px;
  box-shadow: 0 4px 12px rgba(15, 27, 45, 0.12);
}
.tjo-guide-dd-opt {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: #fff;
  padding: 7px 10px;
  font-size: 12px;
  cursor: pointer;
  border-bottom: 1px solid #eef2f6;
}
.tjo-guide-dd-opt:hover,
.tjo-guide-dd-opt:focus {
  background: #e3f2fd;
  outline: none;
}
.tjo-guide-dd-empty {
  padding: 8px 10px;
  font-size: 12px;
}
.tjo-guide-saved {
  font-size: 11px;
  color: #2e7d32;
  font-weight: 700;
}
.tjo-transport-deferred-btn {
  opacity: 0.55;
  font-size: 11px;
}
.tjo-transport-ops.is-empty {
  display: none;
}
.tjo-xfer-sync-fail {
  margin: 6px 0 8px;
  padding: 8px 10px;
  background: #fff3e0;
  border: 1px solid #ffb74d;
  color: #e65100;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}
.tjo-warn-reconcile.tjo-xfer-sync-fail {
  margin: 8px 12px 10px;
}
@media (max-width: 900px), (html.force-mobile) {
  .tjo-bk-remarks-row { grid-template-columns: 1fr; }
  .tjo-bk-rmk-field { grid-template-columns: 1fr; }
  .tjo-guide-ms { max-width: none; }
}

/* ——— 2026-08-29 MOBILE4 — Tour Booking List scan-first ——— */
.tour-bookings-page .tjo-m-summary { display: none; }

@media (max-width: 900px) {
  .tour-bookings-page .tb-list-shell {
    min-width: 0;
    overflow-x: hidden;
  }
  .tour-bookings-page .tb-summary-head .legacy-colbar-tb-summary {
    display: none;
  }
  .tour-bookings-page .tb-summary-meta {
    padding: 6px 8px;
    font-size: 12px;
  }
  .tour-bookings-page .tb-date-hd {
    padding: 8px 10px;
    font-size: 13px;
    position: sticky;
    top: 0;
    z-index: 2;
  }
  .tour-bookings-page .tb-program {
    margin: 0 0 8px;
    border: 1px solid #c5d4c0;
    border-radius: 2px;
    background: #fff;
    overflow: hidden;
  }
  .tour-bookings-page .tb-program-hd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    padding: 8px 10px;
  }
  .tour-bookings-page .tb-program-hd .tb-rail {
    width: 6px;
    align-self: stretch;
    flex: 0 0 6px;
    margin: -8px 0 -8px -10px;
  }
  .tour-bookings-page .tb-program-hd .tb-product {
    flex: 1 1 calc(100% - 20px);
    font-size: 14px;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
  }
  .tour-bookings-page .tb-program-hd .tb-mm,
  .tour-bookings-page .tb-program-hd .tb-pa,
  .tour-bookings-page .tb-program-hd .tb-pc,
  .tour-bookings-page .tb-program-hd .tb-pt {
    display: inline !important;
    font-size: 11px;
    font-weight: 700;
    color: #455a64;
  }
  .tour-bookings-page .tb-program-hd .tb-mm::before { content: "Min/Max "; font-weight: 600; color: #78909c; }
  .tour-bookings-page .tb-program-hd .tb-pa::before { content: "A "; font-weight: 600; color: #78909c; }
  .tour-bookings-page .tb-program-hd .tb-pc::before { content: "C "; font-weight: 600; color: #78909c; }
  .tour-bookings-page .tb-program-hd .tb-pt::before { content: "T "; font-weight: 600; color: #78909c; }
  .tour-bookings-page .tb-program-hd .tb-col-show,
  .tour-bookings-page .tb-program-hd .tb-col-create,
  .tour-bookings-page .tb-program-hd .tb-col-cancel {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
  }
  .tour-bookings-page .tb-program-hd .tb-col-jobid {
    display: none !important;
  }
  .tour-bookings-page .tb-program-hd .btn-legacy {
    min-height: 40px;
    padding: 8px 10px;
    font-size: 11px;
  }
  .tour-bookings-page .tb-body.legacy-scroll {
    padding: 0 8px 8px;
  }
}

html.force-mobile .tour-bookings-page .tb-list-shell {
  min-width: 0;
  overflow-x: hidden;
}
html.force-mobile .tour-bookings-page .tb-summary-head .legacy-colbar-tb-summary {
  display: none;
}
html.force-mobile .tour-bookings-page .tb-program-hd .tb-col-show,
html.force-mobile .tour-bookings-page .tb-program-hd .tb-col-create,
html.force-mobile .tour-bookings-page .tb-program-hd .tb-col-cancel {
  display: inline-flex !important;
}
html.force-mobile .tour-bookings-page .tb-program-hd .tb-col-jobid {
  display: none !important;
}

/* ——— 2026-08-29 MOBILE4 — Tour Job Orders summary-first ——— */
.tour-job-orders-page .tjo-m-summary { display: none; }

@media (max-width: 900px) {
  .tour-job-orders-page .tjo-list {
    padding: 0 8px 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .tour-job-orders-page .tjo-card {
    border: 1px solid #b0bec5;
    border-radius: 2px;
    background: #fff;
    border-bottom-width: 1px;
    overflow: hidden;
  }
  .tour-job-orders-page .tjo-card.is-focused {
    outline: 2px solid #1565c0;
    outline-offset: -2px;
  }
  .tour-job-orders-page .tjo-hd-legacy,
  .tour-job-orders-page .tjo-list > .tjo-card > .tjo-body {
    display: none !important;
  }
  .tour-job-orders-page .tjo-m-summary {
    display: block;
    padding: 8px 10px 10px;
  }
  .tour-job-orders-page .tjo-m-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
    min-width: 0;
  }
  .tour-job-orders-page .tjo-m-row-top {
    justify-content: space-between;
    margin-bottom: 2px;
  }
  .tour-job-orders-page .tjo-m-idline {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
  }
  .tour-job-orders-page .tjo-m-idline .tjo-jobid,
  .tour-job-orders-page .tjo-m-idline .tjo-m-jobid {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 16px;
    font-weight: 700;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    text-shadow: none;
    letter-spacing: 0;
    line-height: 1.2;
  }
  .tour-job-orders-page .tjo-m-aci {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #455a64;
    text-decoration: none;
  }
  .tour-job-orders-page .tjo-m-aci-l {
    font-size: 10px;
    font-weight: 800;
    color: #78909c;
    text-decoration: none;
    border: 0;
    margin-right: 1px;
  }
  .tour-job-orders-page .tjo-m-aci abbr {
    text-decoration: none !important;
    border-bottom: 0 !important;
    cursor: default;
    color: inherit;
  }
  .tour-job-orders-page .tjo-m-xfer.is-none {
    background: transparent;
    color: #90a4ae;
    border: 0;
    padding: 0;
    font-weight: 600;
    font-size: 10px;
    letter-spacing: 0;
  }
  .tour-job-orders-page .tjo-list > .tjo-card > .tjo-hd-legacy {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    pointer-events: none !important;
  }
  .tour-job-orders-page .tjo-m-idline .lbl {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    color: #546e7a;
  }
  .tour-job-orders-page .tjo-m-date {
    font-size: 12px;
    font-weight: 700;
    color: #37474f;
  }
  .tour-job-orders-page .tjo-m-row-stats {
    font-size: 12px;
    color: #455a64;
    margin-bottom: 4px;
  }
  .tour-job-orders-page .tjo-m-pu .lbl {
    font-size: 10px;
    font-weight: 800;
    color: #1565c0;
    margin-right: 2px;
  }
  .tour-job-orders-page .tjo-m-pu {
    font-weight: 800;
    color: #1565c0;
    font-variant-numeric: tabular-nums;
  }
  .tour-job-orders-page .tjo-m-xfer {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    padding: 2px 6px;
    border-radius: 2px;
    background: #eceff1;
    color: #546e7a;
  }
  .tour-job-orders-page .tjo-m-xfer.is-ok {
    background: #e8f5e9;
    color: #2e7d32;
  }
  .tour-job-orders-page .tjo-m-xfer.is-fail {
    background: #ffebee;
    color: #c62828;
  }
  .tour-job-orders-page .tjo-m-row-prod {
    margin-bottom: 2px;
  }
  .tour-job-orders-page .tjo-m-prod-stack {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    width: 100%;
  }
  .tour-job-orders-page .tjo-m-prod {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    max-width: 100%;
  }
  .tour-job-orders-page .tjo-m-prod-more {
    font-size: 11px;
    font-weight: 700;
    color: #607d8b;
  }
  .tour-job-orders-page .tjo-m-row-guide {
    font-size: 12px;
    margin-bottom: 6px;
    gap: 6px 12px;
  }
  .tour-job-orders-page .tjo-m-guide .lbl {
    font-size: 10px;
    font-weight: 800;
    color: #607d8b;
    margin-right: 4px;
  }
  .tour-job-orders-page .tjo-m-guide .is-empty { color: #90a4ae; }
  .tour-job-orders-page .tjo-m-rmk {
    flex: 1 1 8rem;
    min-width: 0;
    font-size: 11px;
    color: #c62828;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .tour-job-orders-page .tjo-m-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
  }
  .tour-job-orders-page .tjo-m-detail {
    min-height: 40px;
    padding: 8px 12px;
    font-weight: 800;
    background: #e3f2fd;
    border-color: #90caf9;
  }
  .tour-job-orders-page .tjo-m-actions .tjo-act-merge,
  .tour-job-orders-page .tjo-m-actions .tjo-act-split {
    min-height: 36px;
    padding: 6px 10px;
  }
  .tour-job-orders-page .tjo-m-actions .tjo-act-van {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  .tour-job-orders-page .tjo-m-actions .tjo-act-print {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
  }
  .tour-job-orders-page .legacy-footer-right-wide {
    flex-wrap: wrap;
    gap: 6px;
  }
  .tour-job-orders-page .legacy-footer .btn-legacy {
    min-height: 40px;
  }
}

html.force-mobile .tour-job-orders-page .tjo-hd-legacy,
html.force-mobile .tour-job-orders-page .tjo-list > .tjo-card > .tjo-body {
  display: none !important;
}
html.force-mobile .tour-job-orders-page .tjo-list > .tjo-card > .tjo-hd-legacy {
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}
html.force-mobile .tour-job-orders-page .tjo-m-summary {
  display: block;
  padding: 8px 10px 10px;
}
html.force-mobile .tour-job-orders-page .tjo-m-xfer.is-none {
  background: transparent;
  color: #90a4ae;
  padding: 0;
  font-weight: 600;
}

/* Drawer Job Detail — compact booking list + expand */
#ui-drawer-bd .tjo-m-detail-root {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
#ui-drawer-bd .tjo-m-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  font-size: 11px;
  color: #546e7a;
  padding: 0 2px 6px;
  border-bottom: 1px solid #eceff1;
}
#ui-drawer-bd .tjo-m-detail-root .tjo-body {
  display: block !important;
  padding: 0;
}
#ui-drawer-bd .tjo-mdb-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#ui-drawer-bd .tjo-mdb {
  border-bottom: 1px solid #cfd8dc;
  padding: 8px 2px 10px;
  background: #fff;
}
#ui-drawer-bd .tjo-mdb:last-child {
  border-bottom: 0;
}
#ui-drawer-bd .tjo-mdb-r1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  margin-bottom: 2px;
}
#ui-drawer-bd .tjo-mdb-pu {
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 800;
  color: #1565c0;
  font-variant-numeric: tabular-nums;
  min-width: 3.2rem;
}
#ui-drawer-bd .tjo-mdb-hotel {
  flex: 1 1 10rem;
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
#ui-drawer-bd .tjo-mdb-guest {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 2px;
  overflow-wrap: anywhere;
}
#ui-drawer-bd .tjo-mdb-r3,
#ui-drawer-bd .tjo-mdb-r4 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  font-size: 12px;
  color: #455a64;
  margin-bottom: 2px;
}
#ui-drawer-bd .tjo-mdb-pax {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
#ui-drawer-bd .tjo-mdb-voucher,
#ui-drawer-bd .tjo-mdb-prod {
  font-weight: 700;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}
#ui-drawer-bd .tjo-mdb-agent {
  flex: 1 1 6rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
#ui-drawer-bd .tjo-mdb-st {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
  color: #2e7d32;
  margin-left: auto;
}
#ui-drawer-bd .tjo-mdb-rmk-prev {
  font-size: 11px;
  color: #546e7a;
  line-height: 1.3;
  margin: 2px 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#ui-drawer-bd .tjo-mdb-rmk-prev .lbl {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .03em;
  color: #78909c;
  margin-right: 4px;
}
#ui-drawer-bd .tjo-mdb-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
}
#ui-drawer-bd .tjo-mdb-toggle {
  min-height: 36px;
  font-weight: 700;
  background: #e3f2fd;
  border-color: #90caf9;
}
#ui-drawer-bd .tjo-mdb-acts .btn,
#ui-drawer-bd .tjo-mdb-exp-acts .btn {
  min-height: 36px;
}
#ui-drawer-bd .tjo-mdb[data-expanded="1"] .tjo-mdb-sum .tjo-mdb-rmk-prev {
  display: none;
}
#ui-drawer-bd .tjo-mdb-exp {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #cfd8dc;
}
#ui-drawer-bd .tjo-mdb-exp[hidden] {
  display: none !important;
}
#ui-drawer-bd .tjo-mdb-exp-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px 8px;
  margin-bottom: 8px;
}
#ui-drawer-bd .tjo-mdb-exp-field {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 4px 8px;
  align-items: start;
  font-size: 12px;
}
#ui-drawer-bd .tjo-mdb-exp-field .lbl {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
  color: #607d8b;
  text-transform: uppercase;
  padding-top: 2px;
}
#ui-drawer-bd .tjo-mdb-exp-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
#ui-drawer-bd .tjo-mdb-exp .tjo-bk-remarks-row {
  grid-template-columns: 1fr;
  padding: 6px 0 0;
  border-top: 0;
  background: transparent;
}
#ui-drawer-bd .tjo-m-detail-root .tjo-jo-remark {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #cfd8dc;
}

/* ——— 2026-08-29 TOOLS-DENSITY1 — collapsible Tour tools footer ——— */
.tb-tools-summary,
.tjo-tools-summary {
  display: none;
}
.tb-tools-collapse {
  display: none;
}
.tb-tools-panel,
.tjo-tools-panel {
  display: contents;
}

@media (max-width: 900px) {
  .tour-bookings-page .tb-tools-footer,
  .tour-job-orders-page .tjo-tools-footer {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0;
    padding: 0;
  }
  .tour-bookings-page .tb-tools-summary,
  .tour-job-orders-page .tjo-tools-summary {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #c5c0b0;
    background: #e8e4d8;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    color: #37474f;
    text-align: left;
    cursor: pointer;
    appearance: none;
  }
  .tour-bookings-page .tb-tools-summary:focus,
  .tour-job-orders-page .tjo-tools-summary:focus {
    outline: 2px solid #1565c0;
    outline-offset: -2px;
  }
  .tb-tools-summary-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    color: #607d8b;
  }
  .tb-tools-summary-sep { color: #90a4ae; }
  .tb-tools-summary-sel,
  .tb-tools-summary-page {
    font-weight: 800;
    color: #263238;
  }
  .tb-tools-chevron {
    margin-left: auto;
    font-size: 12px;
    color: #546e7a;
  }
  .tour-bookings-page .tb-tools-panel,
  .tour-job-orders-page .tjo-tools-panel {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 8px 10px 10px;
    width: 100%;
  }
  .tour-bookings-page .tb-tools-footer.is-expanded .tb-tools-panel,
  .tour-job-orders-page .tjo-tools-footer.is-expanded .tjo-tools-panel {
    display: flex;
  }
  .tour-bookings-page .tb-tools-footer:not(.is-expanded) .tb-tools-panel,
  .tour-job-orders-page .tjo-tools-footer:not(.is-expanded) .tjo-tools-panel {
    display: none !important;
  }
  .tour-bookings-page .tb-tools-panel .legacy-footer-left,
  .tour-bookings-page .tb-tools-panel .legacy-footer-right,
  .tour-job-orders-page .tjo-tools-panel .legacy-footer-left,
  .tour-job-orders-page .tjo-tools-panel .legacy-footer-right {
    margin-left: 0;
    width: 100%;
  }
  .tour-bookings-page .tb-tools-panel .btn-legacy,
  .tour-job-orders-page .tjo-tools-panel .btn-legacy {
    min-height: 40px;
    justify-content: center;
    width: 100%;
    white-space: normal;
  }
  .tour-bookings-page .tb-tools-panel .legacy-pager {
    width: 100%;
    justify-content: space-between;
  }
  .tour-bookings-page .tb-tools-collapse,
  .tour-job-orders-page .tb-tools-collapse {
    display: inline-flex;
    align-self: flex-end;
    min-height: 36px;
  }

  /* Booking density — Tour Bookings four-row summary */
  .tour-bookings-page .tb-program {
    margin-bottom: 6px;
  }
  .tour-bookings-page .tb-program-hd {
    padding-top: 6px;
    padding-bottom: 6px;
  }
  /* Details mode: keep Product row compact so more Booking summaries fit */
  .tour-bookings-page.is-details .tb-program {
    margin-bottom: 4px;
  }
  .tour-bookings-page.is-details .tb-program-hd {
    padding: 4px 8px;
    gap: 4px 6px;
  }
  .tour-bookings-page.is-details .tb-program-hd .tb-mm,
  .tour-bookings-page.is-details .tb-program-hd .tb-pa,
  .tour-bookings-page.is-details .tb-program-hd .tb-pc,
  .tour-bookings-page.is-details .tb-program-hd .tb-pt {
    display: none !important;
  }
  .tour-bookings-page.is-details .tb-program-hd .tb-product {
    flex: 1 1 100%;
    font-size: 12px;
    -webkit-line-clamp: 1;
  }
  .tour-bookings-page.is-details .tb-program-hd .btn-legacy {
    min-height: 32px;
    padding: 4px 8px;
    font-size: 10px;
  }
  .tour-bookings-page.is-details .tb-date-hd {
    padding: 4px 8px;
    font-size: 12px;
  }
  .tour-bookings-page .tb-detail-row {
    display: block !important;
    grid-template-columns: none !important;
    padding: 6px 8px 7px 10px;
    gap: 0;
  }
  .tour-bookings-page .tb-d-cols {
    display: none !important;
  }
  .tour-bookings-page .tb-m-sum {
    display: flex !important;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .tour-bookings-page .tb-m-r {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    min-width: 0;
  }
  .tour-bookings-page .tb-m-r1 {
    justify-content: space-between;
    gap: 4px 8px;
  }
  .tour-bookings-page .tb-m-r1 .tb-bk {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px;
    font-weight: 800;
    color: #1b5e20;
    overflow-wrap: anywhere;
    white-space: normal;
    text-overflow: unset;
  }
  .tour-bookings-page .tb-m-r1 .tb-lang,
  .tour-bookings-page .tb-m-r1 .tb-st {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    color: #455a64;
  }
  .tour-bookings-page .tb-m-r1 .tb-jo {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    padding: 1px 5px;
    text-align: center;
    max-width: 5.5rem;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  .tour-bookings-page .tb-m-r1 .tb-jo::before,
  .tour-bookings-page .tb-detail-row .tb-jo::before {
    content: none !important;
    display: none !important;
  }
  .tour-bookings-page .tb-m-r2 .tb-pax {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #37474f;
  }
  .tour-bookings-page .tb-m-r2 .tb-guest {
    flex: 1 1 8rem;
    min-width: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: anywhere;
  }
  .tour-bookings-page .tb-m-r3 .tb-time {
    flex: 0 0 auto;
    min-width: 3rem;
    font-size: 13px;
    font-weight: 800;
    color: #1565c0;
    font-variant-numeric: tabular-nums;
  }
  .tour-bookings-page .tb-m-r3 .tb-hotel {
    flex: 1 1 10rem;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: anywhere;
  }
  .tour-bookings-page .tb-m-r4 .tb-prodcode {
    flex: 0 1 auto;
    max-width: 55%;
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  .tour-bookings-page .tb-m-r4 .tb-prodcode.is-empty {
    color: #90a4ae;
    font-weight: 600;
  }
  .tour-bookings-page .tb-m-r4 .tb-agent {
    flex: 1 1 5rem;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    text-align: right;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: anywhere;
  }

  /* Job Detail drawer booking summaries — slight vertical tighten */
  #ui-drawer-bd .tjo-mdb {
    padding: 6px 2px 8px;
  }
  #ui-drawer-bd .tjo-mdb-acts {
    margin-top: 4px;
    gap: 4px;
  }
  #ui-drawer-bd .tjo-mdb-toggle {
    min-height: 34px;
    padding: 6px 10px;
  }
}

html.force-mobile .tour-bookings-page .tb-tools-summary,
html.force-mobile .tour-job-orders-page .tjo-tools-summary {
  display: flex;
}
html.force-mobile .tour-bookings-page .tb-tools-panel,
html.force-mobile .tour-job-orders-page .tjo-tools-panel {
  display: none;
}
html.force-mobile .tour-bookings-page .tb-tools-footer.is-expanded .tb-tools-panel,
html.force-mobile .tour-job-orders-page .tjo-tools-footer.is-expanded .tjo-tools-panel {
  display: flex;
}
html.force-mobile .tour-bookings-page .tb-tools-collapse,
html.force-mobile .tour-job-orders-page .tb-tools-collapse {
  display: inline-flex;
}
html.force-mobile .tour-bookings-page .tb-d-cols {
  display: none !important;
}
html.force-mobile .tour-bookings-page .tb-m-sum {
  display: flex !important;
  flex-direction: column;
  gap: 2px;
}
html.force-mobile .tour-bookings-page .tb-detail-row {
  display: block !important;
}
html.force-mobile .tour-bookings-page .tb-detail-row .tb-jo::before {
  content: none !important;
  display: none !important;
}

@media (min-width: 901px) {
  .tour-bookings-page .tb-tools-summary,
  .tour-job-orders-page .tjo-tools-summary,
  .tour-bookings-page .tb-tools-collapse,
  .tour-job-orders-page .tb-tools-collapse {
    display: none !important;
  }
  .tour-bookings-page .tb-tools-panel,
  .tour-job-orders-page .tjo-tools-panel {
    display: contents !important;
  }
  .tour-bookings-page .tb-m-sum {
    display: none !important;
  }
  .tour-bookings-page .tb-d-cols {
    display: contents !important;
  }
}


