/* -------------------------------------------------------------------------
   v44 production port: compact three-zone workbench
   ------------------------------------------------------------------------- */

:root {
  --mw-list-zone: #f6f6f9;
  --mw-context-zone: #fbfbfc;
  --mw-globe-zone: #f1f2f6;
  --mw-plum: #744e59;
  --mw-brass: #664909;
  --mw-brass-wash: #f4ecd9;
  --mw-violet-wash-solid: #ece5f7;
  --mw-violet-selected: #e0d5f2;
  --mw-sweet-wash: #ece7ee;
  --mw-sweet-selected: #e2d9e6;
}

/* -------------------------------------------------------------------------
   v51 production port: stable globe, temporary trip annotations
   ------------------------------------------------------------------------- */

.mw-main {
  position: relative;
}

.mw-globe-routes {
  position: absolute;
  z-index: 8;
  right: 14px;
  bottom: 14px;
  left: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(42, 36, 25, .24);
  background: rgba(253, 251, 246, .93);
  box-shadow: 0 14px 34px rgba(42, 36, 25, .13);
  backdrop-filter: blur(10px);
}

.mw-globe-routes[hidden] {
  display: none;
}

.mw-globe-routes button {
  display: grid;
  min-width: 0;
  min-height: 72px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 9px;
  align-content: center;
  padding: 9px 12px;
  border: 0;
  border-right: 1px solid var(--mw-rule);
  background: transparent;
  color: var(--mw-ink);
  text-align: left;
  cursor: pointer;
}

.mw-globe-routes button:last-child {
  border-right: 0;
}

.mw-globe-routes button:hover,
.mw-globe-routes button:focus-visible,
.mw-globe-routes button[aria-current="true"] {
  background: var(--mw-violet-wash-solid);
}

.mw-globe-routes button:focus-visible {
  outline: 2px solid var(--mw-violet-deep);
  outline-offset: -3px;
}

.mw-globe-routes strong {
  overflow: hidden;
  font: 500 17px/1.05 var(--mw-serif);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-globe-routes button > span {
  display: grid;
  justify-items: end;
  color: var(--mw-ink);
  font: 600 9.5px/1.2 var(--mw-mono);
}

.mw-globe-routes .mw-fare-basis,
.mw-globe-routes .mw-fare-taxes {
  font-size: 8.5px;
  font-weight: 400;
}

.mw-globe-routes small {
  grid-column: 1 / -1;
  color: var(--mw-muted);
  font: 10px/1.25 var(--mw-sans);
}

.mw-amelia-brief {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 9px;
  padding: 9px 0 10px;
  border-top: 1px solid var(--mw-ink);
  border-bottom: 1px solid var(--mw-rule);
}

.mw-amelia-brief > div {
  display: flex;
  gap: 7px;
  align-items: center;
}

.mw-amelia-brief > div > span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid rgba(101, 66, 179, .45);
  border-radius: 50%;
  color: var(--mw-violet-deep);
  font: 500 12px var(--mw-serif);
}

.mw-amelia-brief strong {
  font-size: 11px;
}

.mw-amelia-brief p {
  margin: 0;
  color: var(--mw-muted);
  font-size: 11px;
  line-height: 1.42;
}

.mw-plan-trust {
  margin: 9px 0 0;
  color: var(--mw-muted);
  font-size: 10.5px;
  line-height: 1.35;
}

.mw-shell {
  grid-template-rows: 56px minmax(0, 1fr);
}

.mw-header {
  grid-template-columns: 220px minmax(0, 1fr) auto;
  gap: 0;
  padding: 0 24px;
  background: var(--mw-paper);
  backdrop-filter: none;
}

.mw-brand {
  min-height: 44px;
  padding-right: 24px;
  font-size: 19px;
}

.mw-nav {
  gap: 22px;
  padding-left: 24px;
}

.mw-nav button {
  /* WCAG 2.5.8 minimum: a one-word tab ("You") is narrower than 24px at 13px. */
  min-width: 24px;
  padding: 0;
  font-size: 13px;
}

.mw-nav button::after {
  right: 0;
  left: 0;
}

.mw-account {
  min-height: 44px;
  padding-left: 24px;
}

.mw-main {
  grid-template-columns: 430px minmax(0, 1fr);
  overflow: hidden;
}

.mw-content {
  overflow: auto;
  background: var(--mw-list-zone);
}

.mw-globe {
  background: var(--mw-globe-zone);
}

.mw-globe-caption {
  top: 14px;
  left: 16px;
  max-width: min(270px, 64%);
  padding: 7px 9px;
  background: rgba(252, 252, 254, .88);
  backdrop-filter: blur(8px);
}

.mw-globe-caption strong {
  font-size: 22px;
}

.mw-globe-caption span {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.35;
}

.mw-inspector {
  min-width: 0;
  overflow: hidden;
  border-left: 1px solid var(--mw-rule);
  background: var(--mw-context-zone);
}

.mw-inspector[hidden] {
  display: none;
}

.mw-inspector-scroll,
.mw-plan-amelia {
  height: 100%;
  box-sizing: border-box;
  padding: 15px 16px 14px;
  overflow: auto;
}

.mw-inspector-empty {
  display: grid;
  height: 100%;
  place-items: center;
  padding: 28px;
  box-sizing: border-box;
  color: var(--mw-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.mw-inspector-close {
  display: none;
}

.mw-inspector-label {
  margin: 0 0 4px;
  color: var(--mw-muted);
  font-size: 11px;
}

.mw-inspector h2 {
  margin: 0;
  font: 400 28px/.98 var(--mw-serif);
  letter-spacing: -.025em;
}

.mw-inspector-route {
  margin: 4px 0 9px;
  color: var(--mw-muted);
  font: 11px/1.3 var(--mw-mono);
}

.mw-inspector-airport-note {
  margin: 0 0 9px;
  padding: 7px 8px;
  border: 1px solid color-mix(in srgb, var(--mw-amber, #b7791f) 36%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--mw-amber, #b7791f) 9%, transparent);
  color: var(--mw-ink);
  font-size: 10.5px;
  line-height: 1.38;
}

.mw-inspector-fare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  align-items: start;
  padding: 7px 0;
  border-top: 1px solid var(--mw-rule);
  border-bottom: 1px solid var(--mw-rule);
}

.mw-inspector-fare .mw-fare-line,
.mw-inspector-fare .mw-fare-basis {
  grid-column: 1;
}

.mw-inspector-fare .mw-fare-line {
  font: 600 12px/1.3 var(--mw-mono);
}

.mw-inspector-signal {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  font-size: 11.5px;
  font-weight: 650;
}

.mw-signal-gold { color: var(--mw-brass); }
.mw-signal-outlier { color: var(--mw-violet-deep); }
.mw-signal-sweet { color: var(--mw-plum); }
.mw-signal-worth { color: var(--mw-muted); }
.mw-signal-verified { color: var(--trust-ok-deep, #315f4a); }
.mw-signal-overcap,
.mw-signal-ideas { color: var(--error, #b4453a); }

.mw-inspector-warning,
.mw-inspector-confirmed,
.mw-inspector-freshness {
  margin: 7px 0 0;
  padding: 7px 8px;
  border: 1px solid var(--mw-rule);
  font-size: 10.5px;
  line-height: 1.4;
}

.mw-inspector-warning {
  border-color: color-mix(in srgb, var(--error, #b4453a) 34%, transparent);
  background: color-mix(in srgb, var(--error, #b4453a) 8%, transparent);
  color: var(--error, #b4453a);
}

.mw-inspector-confirmed {
  border-color: var(--trust-ok-bd, rgba(49, 95, 74, .28));
  background: var(--trust-ok-bg, rgba(49, 95, 74, .08));
  color: var(--trust-ok-deep, #315f4a);
}

.mw-inspector-freshness {
  color: var(--mw-muted);
}

.mw-itinerary {
  display: grid;
  gap: 7px;
  padding: 8px 0;
}

.mw-itin-leg {
  padding: 7px 8px;
  border: 1px solid var(--mw-rule);
  background: rgba(255, 250, 241, .48);
}

.mw-itin-leg-head,
.mw-itin-path {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.mw-itin-leg-head {
  color: var(--mw-muted);
  font-size: 10.5px;
}

.mw-itin-leg-head strong {
  color: var(--mw-ink);
  font-weight: 600;
}

.mw-itin-path {
  align-items: baseline;
  margin-top: 3px;
}

.mw-itin-path b {
  min-width: 0;
  overflow: hidden;
  font: 600 11px/1.25 var(--mw-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-itin-path span,
.mw-itin-leg p,
.mw-itin-leg-fare {
  color: var(--mw-muted);
  font-size: 10.5px;
}

.mw-itin-path span {
  flex: 0 0 auto;
}

.mw-itin-leg p {
  margin: 4px 0 0;
  line-height: 1.3;
}

.mw-itin-leg-fare {
  display: block;
  margin-top: 3px;
  font-family: var(--mw-mono);
}

.mw-trip-facts {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0;
  border-top: 1px solid var(--mw-rule);
}

.mw-trip-facts > div {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid var(--mw-rule);
}

.mw-trip-facts dt {
  color: var(--mw-muted);
  font-size: 10.5px;
}

.mw-trip-facts dd {
  margin: 0;
  font-size: 11px;
  font-weight: 550;
  line-height: 1.35;
}

.mw-inspector-trust {
  margin: 8px 0;
  color: var(--mw-muted);
  font-size: 10.5px;
  line-height: 1.4;
}

.mw-inspector-actions {
  display: grid;
  gap: 6px;
}

.mw-inspector .mw-button {
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  font-size: 11px;
}

.mw-plan-amelia {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mw-plan-amelia > p:not(.mw-inspector-label):not(.mw-inspector-trust) {
  margin: 9px 0 12px;
  color: var(--mw-muted);
  font-size: 12px;
  line-height: 1.45;
}

.mw-amelia-orbit {
  position: relative;
  width: 34px;
  height: 34px;
  margin-bottom: 15px;
  border: 1px solid rgba(101, 66, 179, .38);
  border-radius: 50%;
}

.mw-amelia-orbit::before,
.mw-amelia-orbit span {
  position: absolute;
  content: "";
  border-radius: 50%;
}

.mw-amelia-orbit::before {
  inset: 8px;
  background: var(--mw-violet);
}

.mw-amelia-orbit span {
  top: 1px;
  right: 2px;
  width: 6px;
  height: 6px;
  background: var(--mw-brass);
}

.mw-shell[data-view="explore"] .mw-content,
.mw-shell[data-view="plan"] .mw-content {
  overflow: hidden;
}

.mw-explore,
.mw-plan-view {
  display: grid;
  height: 100%;
  min-height: 0;
  grid-template-rows: 48px minmax(0, 1fr);
}

.mw-explore > .mw-pilot-note,
.mw-plan-view > .mw-pilot-note {
  display: none;
}

.mw-opening-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  height: 48px;
  min-height: 0;
  box-sizing: border-box;
  align-items: center;
  padding: 5px 12px;
}

.mw-opening-compact > div {
  min-width: 0;
}

.mw-opening-compact h1 {
  overflow: hidden;
  font-size: 22px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-opening-compact > div > p,
.mw-opening-compact > p:not(.mw-kicker) {
  overflow: hidden;
  margin: 2px 0 0;
  font-size: 10.5px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-sweep-stamp {
  max-width: 150px !important;
  text-align: right;
}

.mw-sweep-stamp span {
  display: block;
}

.mw-explore > .mw-section {
  display: grid;
  min-height: 0;
  grid-template-rows: 34px 32px minmax(0, 1fr) auto;
  padding: 8px 12px 10px;
  overflow: hidden;
}

.mw-explore .mw-mode,
.mw-explore .mw-filters {
  margin: 0;
}

.mw-explore .mw-mode {
  justify-self: start;
}

.mw-explore .mw-filters {
  align-self: end;
  border-right: 0;
  border-left: 0;
}

.mw-explore .mw-mode button,
.mw-explore .mw-filters button {
  min-height: 30px;
  padding: 6px 9px;
  font-size: 10.5px;
}

.mw-explore .mw-ledger {
  min-height: 0;
  overflow: auto;
  border-top: 1px solid var(--mw-ink);
}

.mw-explore .mw-row {
  min-height: 65px;
  box-sizing: border-box;
  grid-template-columns: 23px minmax(0, 1fr) minmax(122px, .78fr);
  gap: 8px;
  padding: 6px 8px;
  transition: background-color 130ms ease, box-shadow 130ms ease;
}

.mw-explore .mw-row[data-signal="outlier"] { background: var(--mw-violet-wash-solid); }
.mw-explore .mw-row[data-signal="gold"] { background: var(--mw-brass-wash); }
.mw-explore .mw-row[data-signal="sweet"] { background: var(--mw-sweet-wash); }
.mw-explore .mw-row[data-signal="worth"] { background: rgba(255, 250, 241, .30); }
.mw-explore .mw-row[data-signal="outlier"][aria-current="true"] { background: var(--mw-violet-selected); }
.mw-explore .mw-row[data-signal="gold"][aria-current="true"] { background: #e6d5b3; }
.mw-explore .mw-row[data-signal="sweet"][aria-current="true"] { background: var(--mw-sweet-selected); }

.mw-explore .mw-row:hover,
.mw-explore .mw-row:focus-visible {
  box-shadow: inset 2px 0 var(--mw-ink);
}

.mw-explore .mw-row[aria-current="true"] {
  box-shadow: inset 3px 0 var(--mw-violet-deep);
}

.mw-explore .mw-row[data-signal="gold"][aria-current="true"] {
  box-shadow: inset 3px 0 var(--mw-brass);
}

.mw-explore .mw-row[data-signal="sweet"][aria-current="true"] {
  box-shadow: inset 3px 0 var(--mw-plum);
}

.mw-state-sweet {
  color: var(--mw-plum);
}

.mw-explore .mw-row-number {
  font-size: 9.5px;
}

.mw-explore .mw-row strong {
  font-size: 17px;
}

.mw-explore .mw-row small {
  margin-top: 2px;
  font-size: 10.5px;
  line-height: 1.2;
}

.mw-explore .mw-row-read {
  font-size: 10.5px;
}

.mw-explore .mw-row-read b {
  font-size: 10.5px;
  line-height: 1.25;
}

.mw-explore .mw-actions {
  margin-top: 8px;
}

.mw-explore .mw-actions .mw-button {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 10.5px;
}

.mw-plan {
  min-height: 0;
  padding: 10px 12px;
  overflow: auto;
}

.mw-plan .mw-form {
  gap: 8px;
}

.mw-plan .mw-field {
  gap: 4px;
}

.mw-plan .mw-field > span {
  font-size: 10.5px;
}

.mw-plan .mw-field input,
.mw-plan .mw-field select,
.mw-plan .mw-field textarea {
  min-height: 34px;
  padding: 7px 9px;
  font-size: 11.5px;
}

.mw-plan .mw-field textarea {
  min-height: 64px;
  height: 64px;
}

.mw-plan .mw-form-grid {
  gap: 7px 8px;
}

.mw-plan .mw-pay button {
  min-height: 32px;
  padding: 6px 8px;
  font-size: 10.5px;
}

.mw-plan .mw-actions {
  gap: 6px;
  margin-top: 1px;
}

.mw-plan .mw-button {
  min-height: 34px;
  padding: 7px 9px;
  font-size: 10.5px;
}

.mw-plan .mw-feedback {
  min-height: 14px;
  margin: 0;
  font-size: 10.5px;
}

.mw-plan .mw-field-note {
  margin: 0;
  color: var(--mw-plum);
  font-size: 10.5px;
  line-height: 1.35;
}

.mw-plan .mw-candidate-section {
  margin-top: 10px;
  padding-top: 10px;
}

.mw-plan .mw-candidate-section h2 {
  font-size: 21px;
}

.mw-plan .mw-candidate {
  padding: 7px 0;
}

.mw-plan .mw-candidate p,
.mw-plan .mw-candidate .mw-data {
  font-size: 10.5px;
}

.mw-active .mw-globe .tp.open {
  z-index: 12;
  top: 12px;
  left: 12px;
  width: min(384px, calc(100% - 24px));
  max-width: none;
  max-height: calc(100% - 24px);
}

.mw-active .mw-globe .tp.open + .mw-globe-caption,
.mw-active .mw-globe:has(.tp.open) .mw-globe-caption {
  opacity: 0;
}

.mw-opening:not(.mw-opening-compact) {
  padding: 22px 24px 17px;
}

.mw-opening:not(.mw-opening-compact) h1 {
  font-size: clamp(38px, 4vw, 56px);
}

.mw-section {
  padding: 18px 24px;
}

.mw-section h2,
.mw-section h3 {
  font-size: clamp(25px, 2.3vw, 34px);
}

.mw-amelia-read {
  margin: 16px 24px 0;
}

.mw-row {
  min-height: 62px;
}

.mw-pilot-note {
  padding: 14px 24px;
}

@media (max-width: 1100px) and (min-width: 701px) {
  .mw-header {
    grid-template-columns: 180px minmax(0, 1fr) auto;
    padding-inline: 18px;
  }

  .mw-nav {
    gap: 15px;
    padding-left: 18px;
  }

  .mw-explore .mw-row {
    grid-template-columns: 20px minmax(0, 1fr) 112px;
  }
}

@media (max-width: 700px) {
  .mw-shell {
    grid-template-rows: 86px minmax(0, 1fr);
  }

  .mw-header {
    display: grid;
    height: 86px;
    min-height: 86px;
    grid-template-columns: 1fr auto;
    grid-template-rows: 43px 43px;
    padding: env(safe-area-inset-top) 12px 0;
  }

  .mw-brand {
    grid-column: 1;
    grid-row: 1;
    padding: 0;
    font-size: 17px;
  }

  .mw-account {
    grid-column: 2;
    grid-row: 1;
    padding: 0;
  }

  .mw-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: space-between;
    gap: 0;
    padding: 0;
    overflow: visible;
  }

  .mw-nav button {
    flex: 1 1 auto;
    min-width: 44px;
    padding: 0 4px;
    font-size: 12px;
    line-height: 1.15;
  }

  .mw-nav button:is([data-mw-view="for-you"], [data-mw-view="explore"], [data-mw-view="balances"]) {
    flex-shrink: 0;
  }

  .mw-nav button::after {
    right: 4px;
    left: 4px;
  }

  .mw-main,
  .mw-shell[data-view="explore"] .mw-main,
  .mw-shell[data-view="plan"] .mw-main {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
  }

  .mw-content {
    flex: 0 0 auto;
    order: 1;
    overflow: visible !important;
    border-right: 0;
  }

  .mw-globe {
    flex: 0 0 260px;
    order: 2;
    min-height: 260px;
    border-top: 1px solid var(--mw-rule);
  }

  .mw-inspector {
    flex: 0 0 auto;
    order: 3;
    border-top: 1px solid var(--mw-rule);
    border-left: 0;
  }

  .mw-shell[data-view="explore"] .mw-inspector {
    display: none;
  }

  .mw-shell[data-view="explore"][data-detail-open="true"] .mw-inspector {
    position: fixed;
    z-index: 90;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    height: min(58dvh, 490px);
    border-top: 1px solid var(--mw-ink);
    background: var(--mw-raised);
    box-shadow: 0 -18px 44px rgba(42, 36, 25, .18);
  }

  .mw-inspector-scroll,
  .mw-plan-amelia {
    height: auto;
    max-height: 100%;
    padding: 13px 16px calc(15px + env(safe-area-inset-bottom));
  }

  .mw-inspector-close {
    display: block;
    float: right;
    min-height: 32px;
    border: 0;
    background: transparent;
    color: var(--mw-muted);
    cursor: pointer;
    font: 600 11px var(--mw-sans);
  }

  .mw-opening-compact {
    height: 48px;
    padding-inline: 12px;
  }

  .mw-opening-compact h1 {
    font-size: 20px;
  }

  .mw-opening-compact > div > p {
    max-width: 220px;
  }

  .mw-sweep-stamp {
    max-width: 112px !important;
    font-size: 9.5px !important;
  }

  .mw-explore > .mw-section {
    grid-template-rows: 34px 32px auto auto;
    padding-inline: 10px;
  }

  .mw-explore .mw-row {
    min-height: 64px;
    grid-template-columns: 19px minmax(0, 1fr) 108px;
    gap: 7px;
    padding-inline: 6px;
  }

  .mw-explore .mw-ledger:not(.is-expanded) > .mw-row:nth-child(4) {
    display: grid;
  }

  .mw-explore .mw-ledger:not(.is-expanded) > .mw-row:nth-child(n+5) {
    display: none;
  }

  .mw-explore .mw-row strong {
    font-size: 16px;
  }

  .mw-explore .mw-row small:nth-of-type(2) {
    display: none;
  }

  .mw-explore .mw-actions {
    display: none;
  }

  .mw-plan {
    padding: 10px 12px;
  }

  .mw-plan .mw-form-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mw-plan .mw-actions {
    grid-template-columns: 1fr 1fr;
  }

  .mw-plan .mw-actions .mw-button:last-child {
    display: none;
  }

  .mw-plan-amelia {
    min-height: 260px;
  }

  .mw-active .mw-globe .tp.open {
    position: fixed;
    z-index: 100;
    top: calc(94px + env(safe-area-inset-top));
    right: 8px;
    bottom: 8px;
    left: 8px;
    width: auto;
    max-height: none;
  }

  .mw-opening:not(.mw-opening-compact) {
    padding: 16px 18px 13px;
  }

  .mw-opening:not(.mw-opening-compact) h1 {
    font-size: 34px;
  }

  .mw-section {
    padding: 14px 18px;
  }

  .mw-pilot-note {
    padding-inline: 18px;
  }
}

/* The final v51 spatial contract: one stable globe and a temporary annotation. */
@keyframes mw-detail-slide {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes mw-detail-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 900px) {
  .mw-shell[data-view="explore"] .mw-main {
    grid-template-columns: clamp(380px, 33.333vw, 480px) minmax(0, 1fr);
  }

  .mw-shell[data-view="plan"] .mw-main {
    grid-template-columns: clamp(360px, 33.333vw, 480px) minmax(0, 1fr);
  }

  .mw-shell[data-view="explore"] .mw-inspector,
  .mw-shell[data-view="plan"] .mw-inspector {
    position: absolute;
    z-index: 30;
    top: 0;
    right: 0;
    bottom: 0;
    width: clamp(360px, 30vw, 440px);
    border-left: 1px solid var(--mw-ink);
    background: rgba(253, 251, 246, .97);
    box-shadow: -18px 0 44px rgba(42, 36, 25, .16);
    backdrop-filter: blur(12px);
    animation: mw-detail-slide 180ms cubic-bezier(.2, .75, .3, 1) both;
  }

  .mw-shell[data-view="plan"] .mw-inspector {
    width: clamp(350px, 29vw, 430px);
  }

  .mw-inspector-close {
    display: block;
    position: sticky;
    z-index: 2;
    top: -7px;
    float: right;
    min-width: 44px;
    min-height: 44px;
    margin: -7px -7px 2px 8px;
    border: 0;
    background: rgba(253, 251, 246, .96);
    color: var(--mw-muted);
    cursor: pointer;
    font: 600 11px var(--mw-sans);
  }
}

@media (max-width: 899px) {
  .mw-main,
  .mw-shell[data-view="explore"] .mw-main,
  .mw-shell[data-view="plan"] .mw-main {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
  }

  .mw-content {
    flex: 0 0 auto;
    order: 1;
    overflow: visible !important;
    border-right: 0;
  }

  .mw-globe {
    flex: 0 0 340px;
    order: 2;
    min-height: 340px;
    border-top: 1px solid var(--mw-rule);
  }

  .mw-shell[data-view="explore"] .mw-inspector,
  .mw-shell[data-view="plan"] .mw-inspector {
    display: none;
    border-left: 0;
  }

  .mw-shell[data-view="explore"][data-detail-open="true"] .mw-inspector,
  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-inspector {
    position: fixed;
    z-index: 120;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: auto;
    height: min(52dvh, 460px);
    max-height: 56dvh;
    border-top: 1px solid var(--mw-ink);
    border-left: 0;
    background: var(--mw-raised);
    box-shadow: 0 -18px 44px rgba(42, 36, 25, .20);
    animation: mw-detail-rise 180ms cubic-bezier(.2, .75, .3, 1) both;
  }

  .mw-detail-open .mw-main {
    overflow: hidden;
  }

  .mw-inspector-scroll {
    height: 100%;
    max-height: 100%;
    overscroll-behavior: contain;
  }

  .mw-inspector-close {
    display: block;
    position: sticky;
    z-index: 2;
    top: -7px;
    float: right;
    min-width: 44px;
    min-height: 44px;
    margin: -7px -7px 2px 8px;
    border: 0;
    background: rgba(253, 251, 246, .97);
    color: var(--mw-muted);
    cursor: pointer;
    font: 600 11px var(--mw-sans);
  }
}

@media (max-width: 700px) {
  .mw-shell[data-view="plan"] .mw-globe {
    flex-basis: 280px;
    min-height: 280px;
  }

  .mw-shell[data-view="explore"] .mw-globe {
    flex-basis: 260px;
    min-height: 260px;
  }

  .mw-shell[data-view="explore"][data-detail-open="true"] .mw-inspector,
  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-inspector {
    height: min(46dvh, 390px);
    max-height: 52dvh;
  }

  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-inspector {
    height: min(45dvh, 380px);
    max-height: 50dvh;
  }

  .mw-globe-routes {
    right: 8px;
    bottom: 8px;
    left: 8px;
    grid-template-columns: repeat(3, minmax(118px, 1fr));
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .mw-globe-routes button {
    min-height: 68px;
    padding: 8px 9px;
    scroll-snap-align: start;
  }

  .mw-globe-routes strong {
    font-size: 15px;
  }

  .mw-amelia-brief {
    grid-template-columns: 76px minmax(0, 1fr);
    margin-bottom: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mw-shell[data-detail-open="true"] .mw-inspector {
    animation-duration: 1ms;
  }
}

/* -------------------------------------------------------------------------
   v365: Amelia is a persistent desk agent, not a floating AI widget.
   One route-mark launcher opens the existing conversation in a roomy drawer.
   ------------------------------------------------------------------------- */

.mw-header {
  grid-template-columns: 220px minmax(0, 1fr) auto auto;
}

.mw-ask-amelia {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  margin-left: 18px;
  padding: 0 16px;
  border: 0;
  border-left: 1px solid var(--mw-rule);
  background: transparent;
  color: var(--mw-ink);
  cursor: pointer;
  font: 600 12.5px/1 var(--mw-sans);
  white-space: nowrap;
}

.mw-ask-amelia:hover,
.mw-ask-amelia:focus-visible,
.mw-ask-amelia[aria-expanded="true"] {
  background: var(--mw-violet-wash-solid);
}

.mw-ask-amelia:focus-visible {
  outline: 2px solid var(--mw-violet-deep);
  outline-offset: -2px;
}

.mw-account {
  padding-left: 16px;
}

.mw-amelia-route {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 15px;
  flex: 0 0 25px;
}

.mw-amelia-route > span {
  position: absolute;
  top: 4px;
  right: 4px;
  left: 4px;
  height: 8px;
  border-top: 1.5px solid var(--mw-violet-deep);
  border-radius: 50% 50% 0 0;
  transform: rotate(-7deg);
  transform-origin: center;
}

.mw-amelia-route::before,
.mw-amelia-route::after {
  position: absolute;
  z-index: 1;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  content: "";
}

.mw-amelia-route::before {
  bottom: 1px;
  left: 0;
  box-sizing: border-box;
  border: 1.5px solid var(--mw-brass);
  background: var(--mw-paper);
}

.mw-amelia-route::after {
  top: 0;
  right: 0;
  background: var(--mw-violet-deep);
}

.mw-amelia-composer {
  margin-bottom: 10px;
  padding: 11px 12px 10px;
  border-top: 1px solid var(--mw-ink);
  border-right: 1px solid var(--mw-rule);
  border-bottom: 1px solid var(--mw-rule);
  border-left: 2px solid var(--mw-violet-deep);
  background: var(--mw-raised);
  box-shadow: 0 8px 22px rgba(42, 36, 25, .07);
}

.mw-amelia-composer-head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
}

.mw-amelia-composer-head > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 7px;
}

.mw-amelia-composer-head strong {
  color: var(--mw-ink);
  font: 600 12px/1.2 var(--mw-sans);
}

.mw-amelia-composer-head div > span {
  overflow: hidden;
  color: var(--mw-muted);
  font: 12px/1.25 var(--mw-sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-plan .mw-ask-field {
  display: block;
}

.mw-plan .mw-ask-field textarea {
  width: 100%;
  height: 112px;
  min-height: 112px;
  max-height: 170px;
  box-sizing: border-box;
  padding: 12px 13px;
  border: 1px solid rgba(42, 36, 25, .28);
  border-radius: 0;
  background: var(--mw-paper);
  color: var(--mw-ink);
  font: 15px/1.48 var(--mw-sans);
  resize: vertical;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.mw-plan .mw-ask-field textarea::placeholder {
  color: var(--mw-muted);
  font-style: normal;
  opacity: .78;
}

.mw-plan .mw-ask-field textarea:focus {
  outline: 0;
  border-color: var(--mw-violet-deep);
  box-shadow: 0 0 0 2px rgba(101, 66, 179, .13);
}

.mw-amelia-composer-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 9px;
}

.mw-amelia-composer .mw-amelia-brief {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--mw-muted);
  font: 12px/1.42 var(--mw-sans);
}

.mw-amelia-composer .mw-amelia-brief strong {
  color: var(--mw-ink);
  font-weight: 650;
}

.mw-plan .mw-ask-primary {
  min-width: 118px;
  min-height: 44px;
  padding: 9px 14px;
  font-size: 12px;
}

.mw-example-link {
  margin: 4px 0 -2px;
  padding: 5px 0 0;
  border: 0;
  background: transparent;
  color: var(--mw-muted);
  cursor: pointer;
  font: 11.5px/1.35 var(--mw-sans);
  text-align: left;
}

.mw-example-link:hover,
.mw-example-link:focus-visible {
  color: var(--mw-violet-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mw-plan .mw-actions {
  grid-template-columns: minmax(0, 1fr);
}

.mw-plan .mw-actions .mw-button:last-child {
  display: inline-flex;
}

@keyframes mw-amelia-drawer-in {
  from { opacity: 0; transform: translateX(22px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes mw-amelia-sheet-in {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}

.mw-amelia-layer {
  position: fixed;
  z-index: 1750;
  inset: 0;
  pointer-events: none;
}

.mw-amelia-layer[hidden] {
  display: none;
}

.mw-amelia-scrim {
  display: none;
}

.mw-amelia-drawer {
  position: absolute;
  top: 68px;
  right: 12px;
  bottom: 12px;
  width: clamp(440px, 38vw, 540px);
  overflow: hidden;
  border: 1px solid rgba(42, 36, 25, .28);
  background: var(--mw-raised);
  box-shadow: 0 24px 64px rgba(42, 36, 25, .23);
  pointer-events: auto;
  animation: mw-amelia-drawer-in 190ms cubic-bezier(.2, .75, .3, 1) both;
}

.mw-amelia-host {
  width: 100%;
  height: 100%;
}

body.mw-active .mw-amelia-host .tp {
  position: static;
  display: flex;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  border: 0;
  border-radius: 0;
  background: var(--mw-raised);
  box-shadow: none;
  backdrop-filter: none;
  animation: none;
}

body.mw-active .mw-amelia-host .tp-head {
  min-height: 56px;
  padding: 8px 14px;
  background: var(--mw-paper);
}

body.mw-active .mw-amelia-host .tp .tp-title {
  display: block;
  font-size: 19px;
}

body.mw-active .mw-amelia-host .tp .tp-toggle {
  display: none;
}

body.mw-active .mw-amelia-host .tp .tp-new {
  min-height: 44px;
}

body.mw-active .mw-amelia-host .tp .tp-x {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  font-size: 22px;
}

body.mw-active .mw-amelia-host .tp-thread {
  padding: 18px 18px 20px;
  gap: 14px;
}

body.mw-active .mw-amelia-host .tp-composer {
  align-items: end;
  padding: 12px 14px 14px;
  background: var(--mw-paper);
}

body.mw-active .mw-amelia-host .tp-composer #tpInput {
  min-height: 58px;
  max-height: 112px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14.5px;
  line-height: 1.42;
}

body.mw-active .mw-amelia-host .tp-composer .tp-send {
  width: 44px;
  height: 44px;
}

@media (max-width: 1100px) and (min-width: 701px) {
  .mw-header {
    grid-template-columns: 180px minmax(0, 1fr) auto auto;
  }

  .mw-ask-amelia {
    margin-left: 10px;
    padding-inline: 12px;
  }
}

@media (max-width: 899px) {
  .mw-amelia-layer {
    pointer-events: auto;
  }

  .mw-amelia-scrim {
    position: absolute;
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(42, 36, 25, .28);
  }

  .mw-amelia-drawer {
    top: auto;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    left: 8px;
    width: auto;
    height: min(72dvh, 640px);
    border-radius: 16px;
    animation-name: mw-amelia-sheet-in;
  }

  body.mw-active .mw-amelia-host .tp-head {
    position: sticky;
    z-index: 3;
    top: 0;
  }

  body.mw-active .mw-amelia-host .tp-composer {
    position: sticky;
    z-index: 3;
    bottom: 0;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 700px) {
  .mw-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .mw-ask-amelia {
    grid-column: 2;
    grid-row: 1;
    min-height: 43px;
    margin: 0;
    padding: 0 11px;
    border-left: 0;
  }

  .mw-account {
    grid-column: 3;
  }

  .mw-plan .mw-ask-field textarea {
    height: 104px;
    min-height: 104px;
    font-size: 16px;
  }

  .mw-amelia-composer-foot {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .mw-plan .mw-ask-primary {
    width: 100%;
  }

  .mw-plan .mw-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 340px) {
  .mw-ask-amelia {
    width: 44px;
    padding: 0 9px;
  }

  .mw-ask-amelia > span:last-child {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mw-amelia-drawer {
    animation-duration: 1ms;
  }
}

/* -------------------------------------------------------------------------
   v367: Explore is a conversation, not a trip-intake form
   ------------------------------------------------------------------------- */

.mw-amelia-inline {
  display: grid;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border-top: 1px solid var(--mw-rule);
  background: var(--mw-raised);
}

.mw-amelia-inline-host {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

body.mw-active .mw-amelia-inline-host .tp {
  position: static;
  display: flex;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--mw-raised);
  box-shadow: none;
  backdrop-filter: none;
  animation: none;
}

body.mw-active .mw-amelia-inline-host .tp-head {
  order: 0;
  min-height: 44px;
  box-sizing: border-box;
  padding: 7px 13px;
  border-bottom: 1px solid var(--mw-rule);
  background: var(--mw-paper);
}

body.mw-active .mw-amelia-inline-host .tp-title {
  display: block !important;
  font-size: 16px;
}

body.mw-active .mw-amelia-inline-host .tp-toggle,
body.mw-active .mw-amelia-inline-host .tp-x {
  display: none;
}

body.mw-active .mw-amelia-inline-host .tp-new {
  min-height: 34px;
  padding: 6px 2px 6px 10px;
  border: 0;
  border-left: 1px solid var(--mw-rule);
  border-radius: 0;
  color: var(--mw-muted);
  font: 600 10.5px/1.2 var(--mw-sans);
  letter-spacing: 0;
  white-space: nowrap;
}

body.mw-active .mw-amelia-inline-host .tp-asked {
  display: none !important;
}

/* OWNER 2026-08-19: the composer lives at the BOTTOM, under the newest answer — the member reads
   down and replies where the conversation ends, never scrolls back up to a box above the question. */
body.mw-active .mw-amelia-inline-host .tp-composer {
  order: 6;
  align-items: end;
  padding: 12px 13px;
  border-top: 1px solid rgba(101, 66, 179, .36);
  border-bottom: 0;
  background: var(--mw-paper);
}

body.mw-active .mw-amelia-inline-host .tp-composer #tpInput {
  min-height: 72px;
  max-height: 124px;
  padding: 11px 12px;
  border: 1px solid rgba(42, 36, 25, .32);
  border-left: 2px solid var(--mw-violet-deep);
  border-radius: 0;
  background: var(--mw-raised);
  color: var(--mw-ink);
  font: 15px/1.45 var(--mw-sans);
}

body.mw-active .mw-amelia-inline-host .tp-composer #tpInput:focus {
  border-color: var(--mw-violet-deep);
  box-shadow: 0 0 0 2px rgba(101, 66, 179, .12);
}

body.mw-active .mw-amelia-inline-host .tp-composer .tp-send {
  width: 58px;
  height: 42px;
  border-radius: 0;
  background: var(--mw-violet-deep);
  color: #fff;
  font: 650 12px/1 var(--mw-sans);
}

body.mw-active .mw-amelia-inline-host .tp-summary {
  order: 3;
  padding: 8px 13px 0;
  background: var(--mw-raised);
}

body.mw-active .mw-amelia-inline-host .tp-refine {
  order: 4;
  padding: 8px 13px;
  background: var(--mw-raised);
}

body.mw-active .mw-amelia-inline-host .ai-disclosure {
  order: 5;
}

body.mw-active .mw-amelia-inline-host .tp-thread {
  order: 1;
  min-height: 0;
  padding: 15px 14px 22px;
  gap: 14px;
  background: var(--mw-raised);
  overscroll-behavior: contain;
}

body.mw-active .mw-amelia-inline-host .tp-msg.user {
  align-self: flex-end;
  max-width: 92%;
  padding: 9px 11px;
  border-left: 2px solid var(--mw-violet-deep);
  border-radius: 0;
  background: var(--mw-violet-wash-solid);
  color: var(--mw-ink);
  font: 14px/1.45 var(--mw-sans);
}

body.mw-active .mw-amelia-inline-host .tp-bot,
body.mw-active .mw-amelia-inline-host .tp-verdict {
  color: var(--mw-ink);
  font-size: 14px;
  line-height: 1.58;
}

body.mw-active .mw-amelia-inline-host .tp-status {
  color: var(--mw-muted);
  font: 12px/1.4 var(--mw-sans);
  letter-spacing: 0;
}

.mw-amelia-inline-note {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 13px 8px;
  border-top: 1px solid var(--mw-rule);
  background: var(--mw-paper);
  color: var(--mw-muted);
  font: 10.5px/1.35 var(--mw-sans);
}

@media (min-width: 900px) {
  .mw-shell[data-view="plan"] .mw-main {
    grid-template-columns: clamp(430px, 40vw, 560px) minmax(0, 1fr);
  }
}

@media (max-width: 899px) {
  .mw-plan-chat-view {
    height: auto;
    min-height: 0;
  }

  .mw-amelia-inline {
    height: min(70dvh, 620px);
    min-height: 520px;
  }

  body.mw-active .mw-amelia-inline-host .tp-composer #tpInput {
    font-size: 16px;
  }
}

@media (max-width: 560px) {
  .mw-amelia-inline {
    height: min(68dvh, 590px);
    min-height: 500px;
  }

  .mw-amelia-inline-note {
    display: grid;
    gap: 2px;
  }
}

/* -------------------------------------------------------------------------
   v376: retained member origins stay directly reachable without widening the
   NYC pilot. The selector is part of the workspace header, not the hidden
   legacy topbar, and receives an explicit row on small screens.
   ------------------------------------------------------------------------- */

.mw-header {
  grid-template-columns: 220px minmax(145px, 170px) minmax(0, 1fr) auto auto;
}

/* Pilot scope: a member sees the origin STATED, not a one-option switcher. It occupies the same
   grid slot as the owner's <select>, so the header never reflows between the two. */
.mw-origin-fixed {
  margin: 0;
  cursor: default;
}
/* Mirrors .mw-origin select exactly, so the member's fixed label and the owner's switcher read as
   the same control (the container sets 9px uppercase for the eyebrow; both children reset it). */
.mw-origin-fixed strong {
  min-height: 28px;
  display: flex;
  align-items: center;
  color: var(--mw-ink);
  font: 600 12px/1.2 var(--mw-sans);
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mw-origin {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 2px;
  padding: 0 16px;
  border-left: 1px solid var(--mw-rule);
  color: var(--mw-muted);
  font: 600 9px/1 var(--mw-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mw-origin select {
  width: 100%;
  min-width: 0;
  min-height: 28px;
  padding: 2px 24px 2px 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  color: var(--mw-ink);
  cursor: pointer;
  font: 600 12px/1.2 var(--mw-sans);
  letter-spacing: 0;
  text-transform: none;
}

.mw-origin select:focus-visible {
  outline: 2px solid var(--mw-violet-deep);
  outline-offset: 2px;
}

.mw-nav {
  padding-left: 16px;
}

@media (max-width: 1100px) and (min-width: 701px) {
  .mw-header {
    grid-template-columns: 150px minmax(110px, 125px) minmax(0, 1fr) 44px auto;
  }

  .mw-brand {
    padding-right: 14px;
    font-size: 17px;
  }

  .mw-origin {
    padding-inline: 11px;
  }

  .mw-origin span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .mw-nav {
    gap: 10px;
    padding-left: 12px;
  }

  .mw-nav button {
    min-width: 44px;
    font-size: 12px;
    line-height: 1.15;
  }

  .mw-nav button:is([data-mw-view="for-you"], [data-mw-view="explore"], [data-mw-view="balances"]) {
    flex-shrink: 0;
  }

  .mw-ask-amelia {
    width: 44px;
    margin-left: 0;
    padding: 0 9px;
  }

  .mw-ask-amelia > span:last-child {
    display: none;
  }
}

@media (max-width: 700px) {
  .mw-shell {
    grid-template-rows: 128px minmax(0, 1fr);
  }

  .mw-header {
    box-sizing: border-box;
    height: 128px;
    min-height: 128px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-rows: 44px 39px 44px;
  }

  .mw-brand {
    grid-column: 1;
    grid-row: 1;
  }

  .mw-ask-amelia {
    grid-column: 2;
    grid-row: 1;
    min-height: 44px;
  }

  .mw-account {
    grid-column: 3;
    grid-row: 1;
  }

  .mw-origin {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 0;
    border-top: 1px solid var(--mw-rule);
    border-left: 0;
  }

  .mw-origin select {
    min-height: 36px;
  }

  .mw-nav {
    grid-column: 1 / -1;
    grid-row: 3;
    padding-left: 0;
  }
}

/* -------------------------------------------------------------------------
   v368: one Amelia destination, editorial conversation, map-first receipts,
   and a clearer rounded composer
   ------------------------------------------------------------------------- */

.mw-ask-amelia[aria-current="page"] {
  background: var(--mw-violet-wash-solid);
  color: var(--mw-violet-deep);
}

.mw-globe-routes {
  grid-template-columns: repeat(var(--mw-route-count, 3), minmax(150px, 1fr));
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.mw-amelia-inline {
  border-top: 0;
  background: transparent;
}

body.mw-active .mw-amelia-inline-host .tp {
  background: transparent;
}

body.mw-active .mw-amelia-inline-host .tp-head {
  min-height: 36px;
  justify-content: flex-end;
  padding: 4px 14px 0;
  border-bottom: 0;
  background: transparent;
}

body.mw-active .mw-amelia-inline-host .tp-title {
  display: none !important;
}

body.mw-active .mw-amelia-inline-host .tp-new {
  min-height: 30px;
  margin-left: auto;
  padding: 4px 0 4px 10px;
  border: 0;
  border-left: 0;
  background: transparent;
  color: var(--mw-muted);
  font-size: 10.5px;
}

body.mw-active .mw-amelia-inline-host .tp-new:hover,
body.mw-active .mw-amelia-inline-host .tp-new:focus-visible {
  color: var(--mw-violet-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.mw-active .mw-amelia-inline-host .tp-composer {
  gap: 10px;
  align-items: center;
  margin: 5px 14px 13px;
  padding: 7px 8px 7px 15px;
  border: 1px solid rgba(42, 36, 25, .28);
  border-radius: 18px;
  background: rgba(253, 251, 246, .86);
  box-shadow: 0 5px 18px rgba(42, 36, 25, .055);
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

body.mw-active .mw-amelia-inline-host .tp-composer:focus-within {
  border-color: rgba(101, 66, 179, .78);
  background: var(--mw-raised);
  box-shadow: 0 0 0 3px rgba(101, 66, 179, .11), 0 8px 22px rgba(42, 36, 25, .07);
}

body.mw-active .mw-amelia-inline-host .tp-composer #tpInput {
  min-height: 58px;
  max-height: 116px;
  padding: 10px 5px 8px 1px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  font-size: 15px;
  line-height: 1.45;
}

body.mw-active .mw-amelia-inline-host .tp-composer #tpInput:focus {
  outline: 0;
  box-shadow: none;
}

body.mw-active .mw-amelia-inline-host .tp-composer #tpInput:focus-visible {
  outline: 0;
}

body.mw-active .mw-amelia-inline-host .tp-composer .tp-send {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font: 600 20px/1 var(--mw-sans);
}

body.mw-active .mw-amelia-inline-host .tp-summary {
  padding: 9px 15px 0;
  background: transparent;
}

body.mw-active .mw-amelia-inline-host .tp-summary .ts-lbl {
  margin-right: 5px;
  color: var(--mw-muted);
  font-family: var(--mw-sans);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

body.mw-active .mw-amelia-inline-host .tp-refine {
  padding: 7px 15px 9px;
  border-top: 0;
  background: transparent;
}

body.mw-active .mw-amelia-inline-host .tp-thread {
  padding: 17px 16px 24px;
  gap: 17px;
  background: transparent;
}

body.mw-active .mw-amelia-inline-host .tp-msg.user {
  max-width: 80%;
  /* A sent message is also the edit-and-resend control: a 44px target at one line. */
  padding: 12px 11px 12px 16px;
  border: 0;
  border-right: 2px solid var(--mw-violet-deep);
  background: transparent;
  text-align: right;
}

body.mw-active .mw-amelia-inline-host .tp-bot,
body.mw-active .mw-amelia-inline-host .tp-verdict {
  max-width: 68ch;
}

body.mw-active .mw-amelia-inline-host .tp-answer-block-action {
  padding: 8px 0 8px 13px;
  border-left-width: 2px;
  background: transparent;
}

body.mw-active .mw-amelia-inline-host .tp-answer-block-action[data-label] {
  padding-top: 27px;
}

body.mw-active .mw-amelia-inline-host .tp-answer-block-action[data-label]::before {
  top: 8px;
  left: 13px;
}

body.mw-active .mw-amelia-inline-host .tp-stack {
  gap: 0;
  border-top: 1px solid var(--mw-rule);
  border-bottom: 1px solid var(--mw-rule);
}

body.mw-active .mw-amelia-inline-host .tp-stack .ticket {
  border-right: 0;
  border-bottom: 1px solid var(--mw-rule);
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
}

body.mw-active .mw-amelia-inline-host .tp-stack .ticket:last-child {
  border-bottom: 0;
}

body.mw-active .mw-amelia-inline-host .tp-stack-label {
  margin-top: 11px;
  color: var(--mw-ink);
  font-family: var(--mw-sans);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}

@media (min-width: 900px) {
  .mw-shell[data-view="plan"] .mw-inspector {
    top: 14px;
    right: 14px;
    bottom: auto;
    width: clamp(286px, 24vw, 344px);
    max-height: calc(100% - 28px);
    border: 1px solid rgba(42, 36, 25, .34);
    background: rgba(253, 251, 246, .96);
    box-shadow: 0 16px 36px rgba(42, 36, 25, .16);
  }

  .mw-shell[data-view="plan"] .mw-inspector-scroll {
    max-height: calc(100vh - 120px);
    padding: 12px 13px 13px;
  }

  .mw-shell[data-view="plan"] .mw-inspector h2 {
    font-size: 31px;
  }
}

@media (max-width: 899px) {
  .mw-globe-routes {
    grid-template-columns: repeat(var(--mw-route-count, 3), minmax(136px, 1fr));
  }

  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-inspector {
    height: min(31dvh, 264px);
    max-height: 33dvh;
  }

  .mw-shell[data-view="plan"].mw-detail-open .mw-main {
    overflow-y: auto;
  }

  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-globe {
    order: 1;
  }

  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-content {
    order: 2;
  }

  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-globe-routes {
    display: none;
  }

  .mw-shell[data-view="plan"] .mw-inspector-scroll {
    padding: 11px 14px calc(12px + env(safe-area-inset-bottom));
  }
}

/* -------------------------------------------------------------------------
   Compact Amelia conversation receipts. Full itinerary and transfer detail
   remain available from the map inspector.
   ------------------------------------------------------------------------- */

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer {
  gap: 7px;
  margin: 3px 14px 8px;
  padding: 5px 6px 5px 12px;
  border-radius: 15px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer #tpInput {
  min-height: 42px;
  max-height: 78px;
  padding: 7px 4px 6px 1px;
  font-size: 14px;
  line-height: 1.36;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer .tp-send {
  width: 44px;
  height: 44px;
  font-size: 17px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-summary {
  padding: 5px 14px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-refine {
  padding: 4px 14px 6px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-thread {
  gap: 7px;
  padding: 8px 14px 12px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member {
  min-width: 0;
  /* Three 44px starters keep the list within its 160px conversation-space cap. */
  padding: 1px 0 2px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-intro-txt {
  margin: 0 0 6px;
  color: var(--mw-muted);
  font: 11px/1.3 var(--mw-sans);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip {
  height: 54px;
  min-height: 54px;
  padding: 7px 27px 7px 9px;
  border-color: rgba(101, 66, 179, .28);
  background: rgba(101, 66, 179, .055);
  font: 600 11.5px/1.25 var(--mw-sans);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip-label {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip::after {
  right: 9px;
  font-size: 13px;
}

@media (max-width: 700px) {
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chips {
    grid-template-columns: none;
    grid-auto-columns: minmax(218px, 82%);
    grid-auto-flow: column;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
  }

  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip {
    scroll-snap-align: start;
  }
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-bot,
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-verdict {
  font-size: 12.5px;
  line-height: 1.42;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack {
  display: grid;
  gap: 0;
  border: 0;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  grid-template-areas:
    "logo identity price"
    "route route route"
    "meta meta meta"
    "trust trust open";
  gap: 4px 9px;
  min-height: 0;
  margin: 0;
  padding: 8px 10px 7px;
  border: 0;
  border-top: 1px solid rgba(42, 36, 25, .24);
  border-radius: 0;
  background: rgba(253, 251, 246, .48);
  box-shadow: none;
  color: var(--mw-ink);
  transition: background-color 140ms ease, border-color 140ms ease;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket.has-airport-note {
  grid-template-areas:
    "logo identity price"
    "route route route"
    "airport airport airport"
    "meta meta meta"
    "trust trust open";
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket:last-of-type {
  border-bottom: 1px solid rgba(42, 36, 25, .24);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-award {
  background: rgba(101, 66, 179, .035);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-cash {
  background: rgba(176, 138, 62, .035);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket:hover,
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket:focus-visible {
  border-color: rgba(101, 66, 179, .5);
  background: rgba(101, 66, 179, .07);
  outline: 0;
}

.mw-shell[data-view="plan"] .tp-compact-logo {
  grid-area: logo;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  align-self: center;
  border: 1px solid rgba(42, 36, 25, .16);
  border-radius: 7px;
  background: var(--mw-raised);
}

.mw-shell[data-view="plan"] .tp-compact-logo-img {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.mw-shell[data-view="plan"] .tp-compact-identity {
  grid-area: identity;
  min-width: 0;
  align-self: center;
}

.mw-shell[data-view="plan"] .tp-compact-identity b,
.mw-shell[data-view="plan"] .tp-compact-price b {
  display: block;
  overflow: hidden;
  color: var(--mw-ink);
  font: 650 14px/1.25 var(--mw-sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-shell[data-view="plan"] .tp-compact-identity small {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: var(--mw-muted);
  font: 12px/1.25 var(--mw-sans);
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.mw-shell[data-view="plan"] .tp-compact-price {
  grid-area: price;
  align-self: center;
  text-align: right;
  white-space: nowrap;
}

.mw-shell[data-view="plan"] .tp-compact-price b {
  font-family: var(--mw-sans);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

.mw-shell[data-view="plan"] .tp-compact-price small {
  display: block;
  margin-top: 2px;
  color: var(--mw-muted);
  font: 12px/1.25 var(--mw-sans);
  font-variant-numeric: tabular-nums;
}

.mw-shell[data-view="plan"] .tp-compact-route {
  grid-area: route;
  display: flex;
  align-items: baseline;
  gap: 7px;
  min-width: 0;
  padding-top: 2px;
}

.mw-shell[data-view="plan"] .tp-compact-route b {
  font: 650 12px/1.25 var(--mw-sans);
}

.mw-shell[data-view="plan"] .tp-compact-route small {
  overflow: hidden;
  color: var(--mw-muted);
  font: 12px/1.25 var(--mw-sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-shell[data-view="plan"] .tp-compact-meta {
  grid-area: meta;
  overflow: hidden;
  color: var(--mw-ink-soft, var(--mw-muted));
  font: 12px/1.35 var(--mw-sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mw-shell[data-view="plan"] .tp-compact-airport-note {
  grid-area: airport;
  color: var(--mw-amber-deep, #8a5b16);
  font: 600 12px/1.35 var(--mw-sans);
}

.mw-shell[data-view="plan"] .tp-compact-trust {
  grid-area: trust;
  display: flex;
  /* A flex row cannot ellipsize its items, so a long note clipped mid-word ("Observed Thu, Ju").
     The row wraps instead: seats, observation date and coverage stay whole. */
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  color: var(--mw-muted);
  font: 12px/1.35 var(--mw-sans);
}

.mw-shell[data-view="plan"] .tp-compact-trust {
  column-gap: 12px;
}

.mw-shell[data-view="plan"] .tp-compact-covered {
  color: var(--mw-green, #2d8a63);
  font-weight: 650;
}

.mw-shell[data-view="plan"] .tp-compact-open {
  grid-area: open;
  align-self: end;
  color: var(--mw-violet-deep);
  font: 650 12px/1.3 var(--mw-sans);
  white-space: nowrap;
}

.mw-shell[data-view="plan"] .tp-compact-more {
  width: 100%;
  min-height: 44px;
  padding: 0 9px;
  border: 0;
  border-bottom: 1px solid rgba(42, 36, 25, .24);
  background: transparent;
  color: var(--mw-violet-deep);
  font: 650 12px/1.2 var(--mw-sans);
  text-align: left;
  cursor: pointer;
}

.mw-shell[data-view="plan"] .tp-compact-provenance {
  padding-top: 1px;
  color: var(--mw-muted);
  font: 12px/1.4 var(--mw-sans);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-chips {
  gap: 6px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-chip {
  min-height: 44px;
  padding: 0 14px;
  font-size: 12px;
}

@media (max-width: 560px) {
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket {
    grid-template-columns: 26px minmax(0, 1fr) auto;
    gap: 4px 7px;
    padding-inline: 8px;
  }

  .mw-shell[data-view="plan"] .tp-compact-meta,
  .mw-shell[data-view="plan"] .tp-compact-trust {
    white-space: normal;
  }

  .mw-shell[data-view="plan"] .tp-compact-open {
    align-self: start;
  }
}

/* -------------------------------------------------------------------------
   Softer editorial geometry for Amelia. The page keeps one strong structure;
   only interactive and transient layers curve.
   ------------------------------------------------------------------------- */

.mw-shell[data-view="plan"] {
  --mw-soft-sm: 10px;
  --mw-soft-md: 14px;
  --mw-soft-lg: 20px;
  --mw-plan-tray-clearance: 104px;
}

.mw-shell[data-view="plan"] .mw-ask-amelia {
  min-height: 44px;
  margin: 6px 6px 6px 12px;
  padding: 0 14px;
  border-left: 0;
  border-radius: 999px;
}

/* The tablet header gives Ask Amelia a 44px column; side margins would push it over Account. */
@media (max-width: 1100px) and (min-width: 701px) {
  .mw-shell[data-view="plan"] .mw-ask-amelia {
    margin-right: 0;
    margin-left: 0;
  }
}

.mw-shell[data-view="plan"] .mw-opening-compact {
  border-bottom-color: rgba(42, 36, 25, .14);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer {
  border-radius: 20px;
  box-shadow:
    0 8px 24px rgba(42, 36, 25, .065),
    inset 0 1px 0 rgba(255, 255, 255, .7);
}

/* Amelia's filter controls are 44px targets; the stale-data note sits at the member floor. */
body.mw-active .mw-amelia-inline-host .tp-refine .rf-sel select,
body.mw-active .mw-amelia-inline-host .tp-refine .rf-flex {
  min-height: 44px;
}

body.mw-active .mw-amelia-inline-host .tp-stale {
  font: 600 12px/1.4 var(--mw-sans);
}

@media (max-width: 700px), (max-height: 500px) {
  /* Open Filters on a phone (or a phone on its side) must not push the text box off screen or
     squeeze the conversation: the panel shows about three rows and scrolls inside itself. */
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-refine:not(.rf-collapsed) {
    max-height: 132px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

@media (max-width: 700px) and (max-height: 700px), (max-height: 500px) {
  /* Short screens: two rows, so the text box stays whole above the open panel. */
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-refine:not(.rf-collapsed) {
    max-height: 88px;
  }
}

@media (max-width: 420px) {
  /* Narrow phones give the query the width; the label stays for screen readers. */
  body.mw-active .mw-amelia-inline-host .tp-summary .ts-lbl {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* The search line: the query truncates; Filters and Save stay whole, as 44px targets, at every width.
   (Inline, the line's ellipsis clipped both buttons off phones.) */
body.mw-active .mw-amelia-inline-host .tp-summary:not([hidden]) {
  display: flex;
  align-items: center;
  gap: 2px;
}

body.mw-active .mw-amelia-inline-host .tp-summary .ts-q {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.mw-active .mw-amelia-inline-host .tp-summary :is(.ts-filters, .ts-save) {
  display: inline-flex;
  flex: none;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 0 8px;
  font-size: 12px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-summary:not(:empty) {
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack {
  gap: 6px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket,
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket:last-of-type {
  border: 1px solid rgba(42, 36, 25, .16);
  border-radius: 3px var(--mw-soft-md) var(--mw-soft-md) 3px;
  box-shadow: 0 3px 10px rgba(42, 36, 25, .035);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-award {
  background: rgba(246, 241, 231, .88);
  border-color: rgba(101, 66, 179, .2);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-cash {
  background: rgba(253, 251, 246, .76);
  border-color: rgba(176, 138, 62, .22);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-chip {
  border-radius: var(--mw-soft-sm);
}

.mw-shell[data-view="plan"] .mw-globe-caption {
  border: 0;
  border-left: 2px solid rgba(101, 66, 179, .52);
  border-radius: 0 var(--mw-soft-md) var(--mw-soft-md) 0;
  background: rgba(252, 252, 254, .86);
  box-shadow: 0 7px 20px rgba(42, 36, 25, .07);
}

.mw-shell[data-view="plan"] .mw-globe-routes {
  border-radius: var(--mw-soft-md);
  box-shadow: 0 12px 30px rgba(42, 36, 25, .11);
}

.mw-shell[data-view="plan"] .mw-globe-routes button:first-child {
  border-radius: calc(var(--mw-soft-md) - 1px) 0 0 calc(var(--mw-soft-md) - 1px);
}

.mw-shell[data-view="plan"] .mw-globe-routes button:last-child {
  border-radius: 0 calc(var(--mw-soft-md) - 1px) calc(var(--mw-soft-md) - 1px) 0;
}

.mw-shell[data-view="plan"] .mw-inspector .mw-button {
  border-radius: var(--mw-soft-sm);
}

@media (min-width: 900px) {
  .mw-shell[data-view="plan"] .mw-main {
    margin: 8px 10px 10px;
    border: 1px solid rgba(42, 36, 25, .16);
    border-radius: 22px;
    background: var(--mw-paper);
    box-shadow: 0 12px 34px rgba(42, 36, 25, .055);
  }

  .mw-shell[data-view="plan"] .mw-inspector {
    bottom: var(--mw-plan-tray-clearance);
    max-height: none;
    border-radius: var(--mw-soft-lg);
  }
}

@media (max-width: 899px) {
  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-inspector {
    right: 8px;
    bottom: 8px;
    left: 8px;
    width: auto;
    border: 1px solid rgba(42, 36, 25, .22);
    border-radius: var(--mw-soft-lg);
  }
}

@media (max-width: 560px) {
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-msg.user {
    display: block;
    flex: 0 0 auto;
    max-width: 88%;
    max-height: 54px;
    overflow: hidden;
  }

  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-answer-block-decision .tp-flow-group {
    font-size: 12px;
    line-height: 1.38;
  }

  /* At 12px the dates, cabin and trust notes no longer fit one line on a phone: they wrap, and
     "View route + details" takes its own row instead of squeezing them. */
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket {
    grid-template-areas:
      "logo identity price"
      "route route route"
      "meta meta meta"
      "trust trust trust"
      "open open open";
  }

  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket.has-airport-note {
    grid-template-areas:
      "logo identity price"
      "route route route"
      "airport airport airport"
      "meta meta meta"
      "trust trust trust"
      "open open open";
  }
}

/* -------------------------------------------------------------------------
   v412: evidence-first editorial geometry.
   The travel record supplies the visual character; controls use rules and
   alignment instead of generic pills, card stacks, and decorative elevation.
   ------------------------------------------------------------------------- */

.mw-origin {
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.mw-ask-amelia,
.mw-ask-amelia:hover,
.mw-ask-amelia:focus-visible,
.mw-ask-amelia[aria-current="page"],
.mw-ask-amelia[aria-expanded="true"],
.mw-shell[data-view="plan"] .mw-ask-amelia {
  border-radius: 0;
  background: transparent;
}

.mw-ask-amelia:hover,
.mw-ask-amelia:focus-visible,
.mw-ask-amelia[aria-current="page"],
.mw-ask-amelia[aria-expanded="true"] {
  box-shadow: inset 0 -2px 0 var(--mw-violet-deep);
}

.mw-shell[data-view="plan"] {
  --mw-plan-tray-clearance: 104px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer,
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within {
  margin: 3px 14px 8px;
  padding: 5px 0;
  border: 0;
  border-bottom: 1px solid rgba(42, 36, 25, .42);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within {
  border-bottom-color: var(--mw-violet-deep);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer #tpInput {
  border-radius: 0;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer .tp-send {
  width: 46px;
  height: 44px;
  border-left: 1px solid rgba(255, 255, 255, .34);
  border-radius: 0;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chips {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow: visible;
  margin: 0;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip {
  width: 100%;
  height: auto;
  min-height: 44px;
  padding: 3px 28px 3px 0;
  border: 0;
  border-top: 1px solid rgba(42, 36, 25, .2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip:last-child {
  border-bottom: 1px solid rgba(42, 36, 25, .2);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip-label {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack {
  gap: 0;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket,
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket:last-of-type {
  border: 0;
  border-top: 1px solid rgba(42, 36, 25, .24);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket:last-of-type {
  border-bottom: 1px solid rgba(42, 36, 25, .24);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-chip {
  border-radius: 0;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mw-shell[data-view="plan"] .mw-globe-caption,
.mw-shell[data-view="plan"] .mw-globe-routes,
.mw-shell[data-view="plan"] .mw-globe-routes button:first-child,
.mw-shell[data-view="plan"] .mw-globe-routes button:last-child,
.mw-shell[data-view="plan"] .mw-inspector,
.mw-shell[data-view="plan"] .mw-inspector .mw-button {
  border-radius: 0;
  box-shadow: none;
}

.mw-amelia-inline-note {
  display: block;
  font-size: 11px;
}

/* The inline footer owns this page's concise disclosure. The production
   planner's generic copy remains present for drawer and legacy placements. */
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .ai-disclosure {
  display: none;
}

@media (min-width: 900px) {
  .mw-shell[data-view="plan"] .mw-main {
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(42, 36, 25, .16);
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 700px) {
  .mw-explore,
  .mw-plan-view {
    grid-template-rows: auto minmax(0, 1fr);
  }

  .mw-opening-compact {
    height: auto;
    min-height: 72px;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .mw-sweep-stamp {
    display: flex;
    max-width: none !important;
    gap: 6px;
    text-align: left;
  }

  .mw-sweep-stamp span {
    display: inline;
  }

  .mw-plan-chat-view {
    grid-template-rows: auto auto;
  }

  .mw-plan-chat-view .mw-amelia-inline {
    height: min(50dvh, 430px);
    min-height: 390px;
  }

  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chips {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    grid-auto-columns: auto;
    overflow: visible;
    scroll-snap-type: none;
  }
}

/* Verdict first (owner 2026-08-19): the answer + what to do stay in view; history, details and the
   request receipt fold behind one quiet disclosure so a reply is readable at a glance. */
body.mw-active .mw-amelia-inline-host .tp-more {
  margin-top: 6px;
  border-top: 1px solid var(--mw-rule);
}

body.mw-active .mw-amelia-inline-host .tp-more > summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 0 8px;
  color: var(--mw-muted);
  font: 600 11px/1.3 var(--mw-sans);
}

body.mw-active .mw-amelia-inline-host .tp-more > summary::-webkit-details-marker { display: none; }

body.mw-active .mw-amelia-inline-host .tp-more > summary::before {
  content: "+";
  display: inline-block;
  width: 14px;
  color: var(--mw-violet-deep);
}

body.mw-active .mw-amelia-inline-host .tp-more > .tp-answer-block { margin-top: 12px; }

/* Owner-judged 2026-08-19 ("square, AI-like, not fluid"): inside the workspace Amelia reads as PROSE.
   No section labels, no boxed left rules, no tinted "What to do" panel - paragraphs a person would
   write, the first sentence bold, the source stamp a quiet small line, "More" a plain text link.
   The classes stay (tests, a11y, the fold) - only their chrome goes. */
body.mw-active .mw-amelia-inline-host .tp-answer-block[data-label] { padding-top: 0; }
body.mw-active .mw-amelia-inline-host .tp-answer-block[data-label]::before { display: none; }
body.mw-active .mw-amelia-inline-host .tp-answer-block-decision,
body.mw-active .mw-amelia-inline-host .tp-answer-block-caution,
body.mw-active .mw-amelia-inline-host .tp-answer-block-action,
body.mw-active .mw-amelia-inline-host .tp-answer-block-alternative,
body.mw-active .mw-amelia-inline-host .tp-answer-block-evidence,
body.mw-active .mw-amelia-inline-host .tp-answer-block-context,
body.mw-active .mw-amelia-inline-host .tp-answer-block-proof {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--mw-ink);
}
body.mw-active .mw-amelia-inline-host .tp-answer-block + .tp-answer-block { margin-top: 12px; }
body.mw-active .mw-amelia-inline-host .tp-answer-block-decision .tp-flow-group,
body.mw-active .mw-amelia-inline-host .tp-answer-block-action .tp-flow-group,
body.mw-active .mw-amelia-inline-host .tp-answer-block-caution .tp-flow-group {
  font: 400 15px/1.6 var(--mw-sans);
  color: var(--mw-ink);
}
body.mw-active .mw-amelia-inline-host .tp-answer-block-decision strong { color: var(--mw-ink); font-weight: 650; }
body.mw-active .mw-amelia-inline-host .tp-answer-block-action[data-label]::before { display: none; }
body.mw-active .mw-amelia-inline-host .tp-answer-block-proof .tp-flow-group,
body.mw-active .mw-amelia-inline-host .tp-answer-block-context .tp-flow-group {
  font: 400 12.5px/1.55 var(--mw-sans);
  color: var(--mw-muted);
}
body.mw-active .mw-amelia-inline-host .tp-more { border-top: 0; margin-top: 4px; }
body.mw-active .mw-amelia-inline-host .tp-more > summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  color: var(--mw-violet-deep);
  font: 500 13px/1.4 var(--mw-sans);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.mw-active .mw-amelia-inline-host .tp-more > summary::before { content: none; }
body.mw-active .mw-amelia-inline-host .tp-more[open] > summary::before { content: none; }

/* TYPE PASS (owner 2026-08-19: "look at the font - I could see six months ago this is built from AI").
   Inside the member workspace, monospace and uppercase letter-spacing are reserved for tabular
   numbers. Every label, eyebrow, status line and note a person reads is sentence-case sans. The
   legacy planner / ticket / route-panel / fare-modal / wizard components adopted into the workspace
   still shipped DM Mono + UPPERCASE eyebrows (the "KLM / FLYING BLUE" look); this is the one place
   that retires them for members. Admin surfaces are untouched. */
body.mw-active .mw-shell[data-view] .tp-compact-identity small,
body.mw-active .tp-compact-identity small {
  font: 12px/1.25 var(--mw-sans);
  letter-spacing: 0;
  text-transform: none;
}
body.mw-active .mw-shell[data-view] .tp-compact-price b,
body.mw-active .tp-compact-price b {
  font-family: var(--mw-sans);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
body.mw-active .tp-status,
body.mw-active .tp-window-note,
body.mw-active .tp-stack-label,
body.mw-active .tp-asked-lbl,
body.mw-active .tp-summary .ts-lbl,
body.mw-active .rf-sel > span,
body.mw-active .ts-filters,
body.mw-active .ts-save,
body.mw-active .tp-how summary,
body.mw-active .ticket .outlier-note,
body.mw-active .ticket .outlier-tag,
body.mw-active .ticket .new-tag,
body.mw-active .rpr-new,
body.mw-active .lst-new,
body.mw-active .rp-results-count,
body.mw-active .rpr-cabin,
body.mw-active .rpr-price .u,
body.mw-active .rpr-cue,
body.mw-active .fd-barlbl,
body.mw-active .fd-itin-eb,
body.mw-active .fd-why-eb,
body.mw-active .tk-sec h3,
body.mw-active .wz-step,
body.mw-active .wz-grp,
body.mw-active .deal-rail-head,
body.mw-active .pref-h,
body.mw-active .sv-badge,
body.mw-active .wl-fare,
body.mw-active .tp-toggle button,
body.mw-active .mlist-meta {
  font-family: var(--mw-sans);
  letter-spacing: 0;
  text-transform: none;
}
/* The smallest of those were sized for uppercase tracking; sentence case needs a readable floor. */
body.mw-active .tp-stack-label,
body.mw-active .tp-asked-lbl,
body.mw-active .rpr-cabin,
body.mw-active .rpr-price .u,
body.mw-active .rpr-cue,
body.mw-active .fd-itin-eb,
body.mw-active .fd-why-eb,
body.mw-active .tp-how summary {
  font-size: 12px;
}
/* Retire the mono token itself inside the member workspace: prices and codes render in the same
   humanist sans with tabular figures (what premium travel products do); no console typeface anywhere
   a member reads. The eyebrow over the origin reads as a word, not a tracked label. */
body.mw-active { --mw-mono: var(--mw-sans); }
body.mw-active .mw-shell, body.mw-active .tp, body.mw-active .mw-inspector { font-variant-numeric: tabular-nums; }
body.mw-active .mw-origin > span, body.mw-active .mw-origin { letter-spacing: 0; text-transform: none; }

/* The relaxed-match banner duplicates what Amelia now says in her first sentence (and the hard-constraint
   lead): one voice, not a box repeating it. */
body.mw-active .tp-relaxed { display: none; }

/* Amelia uses the ordinary member shell. Keep this in place of the retired
   floating-panel rules so a later desktop override cannot restore the glass. */
.mw-shell[data-view="plan"] {
  --mw-list-zone: #fff;
  --mw-context-zone: #fff;
  --mw-plan-tray-clearance: 180px;
}

.mw-shell[data-view="plan"] .mw-content {
  background: #fff;
}

.mw-shell[data-view="plan"] .mw-plan-chat-view {
  grid-template-rows: auto minmax(0, 1fr);
  background: #fff;
}

.mw-shell[data-view="plan"] .mw-opening-compact {
  grid-template-columns: minmax(0, 1fr);
  height: auto;
  padding: 20px 24px 16px;
  background: #fff;
}

.mw-shell[data-view="plan"] .mw-opening-compact h1 {
  overflow: visible;
  font: 600 28px/1.15 var(--mw-sans);
  letter-spacing: -.025em;
  white-space: normal;
}

.mw-shell[data-view="plan"] .mw-opening-compact > div > p {
  margin-top: 8px;
  overflow: visible;
  color: var(--mw-muted);
  font: 400 14px/1.45 var(--mw-sans);
  white-space: normal;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-head {
  padding-inline: 24px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-new {
  min-height: 44px;
  font-size: 12px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-thread {
  padding: 12px 24px 20px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-intro-txt,
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip {
  font: 400 13px/1.4 var(--mw-sans);
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-msg.user {
  max-height: none;
  overflow: visible;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer,
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within {
  margin-inline: 24px;
}

body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer #tpInput {
  font-size: 16px;
}

.mw-shell[data-view="plan"] .mw-amelia-inline-note {
  display: grid;
  gap: 5px;
  padding: 8px 24px 12px;
  font: 400 12px/1.4 var(--mw-sans);
  background: #fff;
}

.mw-shell[data-view="plan"] .mw-composer-help {
  font-size: 12px;
}

.mw-shell[data-view="plan"] .mw-globe-routes {
  grid-template-columns: repeat(var(--mw-route-count, 3), minmax(170px, 1fr));
  background: var(--mw-paper);
  backdrop-filter: none;
}

.mw-shell[data-view="plan"] .mw-globe-routes button {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  padding: 12px;
}

.mw-shell[data-view="plan"] .mw-globe-routes strong {
  overflow: visible;
  font: 500 17px/1.25 var(--mw-sans);
  overflow-wrap: anywhere;
  white-space: normal;
}

.mw-shell[data-view="plan"] .mw-globe-routes button > span {
  justify-items: start;
  font: 500 13px/1.4 var(--mw-sans);
}

.mw-shell[data-view="plan"] .mw-globe-routes .mw-fare-taxes,
.mw-shell[data-view="plan"] .mw-globe-routes .mw-fare-basis,
.mw-shell[data-view="plan"] .mw-globe-routes small {
  font-size: 12px;
  line-height: 1.35;
}

@media (min-width: 900px) {
  .mw-shell[data-view="plan"] .mw-main {
    grid-template-columns: minmax(400px, 42%) minmax(0, 1fr);
  }
  .mw-shell[data-view="plan"] .mw-globe {
    background: var(--mw-globe-zone);
  }
  .mw-shell[data-view="plan"] .mw-content {
    overflow: hidden;
    border-right: 1px solid var(--mw-rule);
  }
  .mw-shell[data-view="plan"] .mw-globe-routes {
    bottom: 34px;
  }
  .mw-shell[data-view="plan"] .mw-inspector {
    background: var(--mw-paper);
  }
}

@media (max-width: 899px) {
  .mw-shell[data-view="plan"] .mw-globe {
    flex-basis: auto;
    min-height: 280px;
    padding-top: 280px;
    padding-bottom: 40px;
  }
  .mw-shell[data-view="plan"] .mw-globe .atlas-stage {
    height: 280px !important;
    bottom: auto !important;
  }
  .mw-shell[data-view="plan"] .mw-globe-routes {
    position: relative;
    inset: auto;
    grid-template-columns: minmax(0, 1fr);
    margin: 0 12px 16px;
    overflow: visible;
  }
  .mw-shell[data-view="plan"][data-detail-open="true"] .mw-globe-routes:not([hidden]) {
    display: grid;
    visibility: hidden;
  }
  .mw-shell[data-view="plan"] .mw-globe-routes button {
    grid-template-columns: minmax(0, 1fr) auto;
    border-right: 0;
    border-bottom: 1px solid var(--mw-rule);
    gap: 5px 12px;
  }
  .mw-shell[data-view="plan"] .mw-globe-routes button:last-child {
    border-bottom: 0;
  }
  .mw-shell[data-view="plan"] .mw-globe-routes button > span {
    justify-items: end;
  }
  .mw-shell[data-view="plan"] .mw-opening-compact {
    padding: 16px 18px 12px;
  }
  .mw-shell[data-view="plan"] .mw-opening-compact h1 {
    font-size: 26px;
  }
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-thread {
    padding: 10px 18px 16px;
  }
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-head {
    padding-inline: 18px;
  }
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer,
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within {
    margin-inline: 18px;
  }
  .mw-shell[data-view="plan"] .mw-amelia-inline-note {
    padding-inline: 18px;
  }
}

@media (max-height: 500px) {
  /* A phone on its side: the conversation needs the height. The heading repeats the current tab,
     so it stays for screen readers only. The AI notice stays. */
  .mw-shell[data-view="plan"] .mw-plan-chat-view {
    grid-template-rows: minmax(0, 1fr);
  }
  .mw-shell[data-view="plan"] .mw-plan-chat-view > .mw-opening-compact {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

@media (max-height: 500px) and (pointer: coarse) {
  /* On a short touch screen the Enter/Shift+Enter hint gives way to the conversation. A zoomed
     desktop window, where the keyboard hint matters, keeps it. */
  .mw-shell[data-view="plan"] .mw-composer-help {
    display: none;
  }
}

@media (max-height: 500px) and (min-width: 480px) and (max-width: 899px) and (orientation: landscape) and (pointer: coarse) {
  /* A phone on its side, 480 to 899px wide, scrolls as one page under the header. The chat's 390 to
     520px minimum is taller than the screen, so before the first question the text box started
     below the fold, under the suggestions and empty space. Until the first question the chat fills
     the space under the header, so the suggestions and the text box show together, and the "New
     conversation" row (which does nothing in an empty chat) gives way. The 200px floor keeps the
     text box whole down to about 256px tall, a phone browser with its toolbar showing. Once there
     is an answer the chat keeps its full height and the row returns, so the answer has its room;
     the member scrolls down to the text box, as on main. */
  .mw-shell {
    --mw-short-header: 56px;
  }

  .mw-shell[data-view="plan"] .mw-plan-chat-view > .mw-amelia-inline:has(#tpThread > [data-amelia-empty-state="true"]:only-child) {
    height: max(calc(100dvh - var(--mw-short-header)), 200px);
    min-height: 0;
  }

  .mw-shell[data-view="plan"] .mw-plan-chat-view > .mw-amelia-inline:has(#tpThread > [data-amelia-empty-state="true"]:only-child) .tp-head {
    display: none;
  }
}

@media (max-height: 500px) and (max-width: 700px) and (min-width: 480px) and (orientation: landscape) and (pointer: coarse) {
  /* A small phone on its side: the three-row phone header (128px) took a third of the screen. The
     origin moves up beside the brand, as on tablets, so the header is two rows and keeps every
     control. */
  .mw-shell {
    --mw-short-header: 88px;
    grid-template-rows: 88px minmax(0, 1fr);
  }

  .mw-header {
    height: 88px;
    min-height: 88px;
    grid-template-columns: auto minmax(110px, 140px) minmax(0, 1fr) auto auto;
    grid-template-rows: 44px 44px;
  }

  .mw-brand {
    grid-column: 1;
    grid-row: 1;
    padding-right: 12px;
  }

  .mw-origin {
    grid-column: 2;
    grid-row: 1;
    padding: 0 11px;
    border-top: 0;
    border-left: 1px solid var(--mw-rule);
  }

  .mw-origin > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .mw-origin select {
    min-height: 44px;
  }

  .mw-ask-amelia {
    grid-column: 4;
    grid-row: 1;
  }

  .mw-account {
    grid-column: 5;
    grid-row: 1;
  }

  .mw-nav {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (min-width: 900px) and (max-height: 600px) {
  /* Beside the globe the chat has a fixed height and the page does not scroll, so on a short window
     the open Filters panel pushed the text box out of the chat, where nothing could scroll it back
     (1024x520: 17 of 56.5px showed). While the panel is open the "New conversation" row gives way;
     it returns when the panel closes. */
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp:has(#tsFilters[aria-expanded="true"]) .tp-head {
    display: none;
  }
}

/* WORLD v2's warm earth globe (owner-approved 2026-08-19) is SUPERSEDED by the B8 final ruling
   (2026-08-24: ONE system - white ground, quiet gray land, violet the only accent; no parallel
   aesthetics). The per-surface override now mirrors the atlas ladder, a half-step deeper so the
   sphere still reads as an object against the workspace panels. */
body.mw-active .mw-globe {
  --globe-ocean: #eef0f4;
  --globe-border: rgba(22, 21, 26, .28);
  --globe-land: #ddc9c8, #d3bcba, #e2d3d1, #c9b1b0, #d8c2bf, #c2a8a7, #dfd0cd, #cfb8b6;
}

/* A new turn fades into the conversation without moving its reading position. */
@keyframes mw-turn-in { from { opacity: 0; } to { opacity: 1; } }   /* opacity only: geometry settles instantly (scroll anchoring depends on it) */
body.mw-active .mw-amelia-inline-host .tp-thread > .tp-bot,
body.mw-active .mw-amelia-inline-host .tp-thread > .tp-msg.user,
body.mw-active .mw-amelia-inline-host .tp-thread > .tp-stack { animation: mw-turn-in 380ms cubic-bezier(.2,.7,.2,1) both; }
/* The conversation view enters by opacity alone, for the same reason: it re-renders in place (the account refresh
   after a balance save), and the shared 5px slide moved every control in it mid-measure (Undo read 43.99px against
   its 44px floor under the transform). Its targets stay whole pixels. */
@keyframes mw-enter-still { from { opacity: .45; } to { opacity: 1; } }
body.mw-active .mw-view.mw-plan-chat-view { animation-name: mw-enter-still; }

/* The stage's feed line joins the member sans at the 12px floor (legacy: 10.5-11px system font). */
body.mw-active .mw-shell .jk-proof {
  font: 500 12px/1.45 var(--mw-sans);
}

/* Keep the feed evidence under the map, clear of the route choices. */
@media (min-width: 900px) {
  body.mw-active .mw-shell[data-view="plan"] .jk-proof,
  body.mw-active .mw-shell[data-view="plan"] .mw-globe-proof {
    left: 14px;
    right: 14px;
    max-width: none;
  }
}

/* The folded cash comparison line reads like the 'more options' link it sits beside. */
body.mw-active .tp-cash-fold {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--mw-violet-deep);
  font: 500 13px/1.4 var(--mw-sans);
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

/* The caption crossfades when the world answers. */
@keyframes mw-caption-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.mw-globe-caption.mw-caption-in { animation: mw-caption-in 460ms cubic-bezier(.2,.7,.2,1) both; }

/* ── Blackout history ────────────────────────────────────────────────────────
   A refused sweep is a real state, not a fallback, so it gets designed like one.
   Deliberately NOT card-shaped: cards are the vocabulary of bookable rows, and
   nothing here is bookable. A quiet ledger reads as a record, which is what it is. */
.mw-history {
  margin-top: 22px;
  border-top: 1px solid var(--mw-rule, rgba(0, 0, 0, 0.1));
  padding-top: 18px;
}
.mw-history-head {
  margin: 0 0 12px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--mw-ink-soft, #5c5c66);
}
.mw-history-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.mw-history-row {
  display: grid;
  gap: 3px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--mw-rule-faint, rgba(0, 0, 0, 0.055));
}
.mw-history-row:last-child { border-bottom: 0; padding-bottom: 0; }
.mw-history-place {
  font-weight: 600;
  font-size: 1.02rem;
  color: var(--mw-ink, #16151a);
}
.mw-history-fact {
  font-size: 0.94rem;
  line-height: 1.5;
  color: var(--mw-ink, #16151a);
}
/* The evidence line is quieter than the figure but never hidden: it is what makes
   the figure an observation rather than a claim. */
.mw-history-eviden {
  font-size: 0.82rem;
  color: var(--mw-ink-soft, #5c5c66);
}
@media (max-width: 520px) {
  .mw-history-fact { font-size: 0.9rem; }
}

/* ===================================================================================================
   BOARD PREVIEW — owner-only fare ledger (v469)
   The second iteration deliberately removes generic dashboard furniture: no pill soup, floating
   cards, glass, glow, or decorative shadow. The production Outlier renderer and truth paths remain.
   Every selector is still URL + admin gated by the root attribute in member-workspace-v44.js.
   =================================================================================================== */
.mw-shell[data-board-preview="true"][data-view="explore"] {
  --mw-list-zone: #ffffff;
  --mw-context-zone: #ffffff;
  --mw-globe-zone: #f5f2ed;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-main {
  grid-template-columns: minmax(460px, 520px) minmax(0, 1fr);
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-content {
  border-right: 1px solid #b9b7b2;
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-globe {
  background: #f5f2ed;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-globe-caption {
  top: 22px;
  left: 24px;
  max-width: min(290px, 68%);
  padding: 10px 0 0;
  border: 0;
  border-top: 2px solid #16151a;
  border-radius: 0;
  background: #f5f2ed;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-globe-caption strong {
  font-size: 20px;
  letter-spacing: -.01em;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-globe-caption span {
  font-size: 13px;
  line-height: 1.4;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-explore {
  grid-template-rows: auto minmax(0, 1fr);
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-opening-compact {
  display: block;
  height: auto;
  min-height: 0;
  padding: 24px 28px 18px;
  border-bottom: 1px solid #16151a;
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-opening-compact h1 {
  overflow: visible;
  font-size: 28px;
  font-weight: 650;
  line-height: 1.16;
  letter-spacing: -.012em;
  text-overflow: clip;
  white-space: normal;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-opening-compact > div > p {
  overflow: visible;
  margin-top: 7px;
  color: #5c5c66;
  font-size: 14px;
  line-height: 1.4;
  text-overflow: clip;
  white-space: normal;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-sweep-stamp {
  max-width: none !important;
  margin-top: 7px;
  color: #6e6e78;
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-sweep-stamp span {
  display: inline;
  margin-left: 6px;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-explore > .mw-section {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  padding: 0 28px 18px;
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode,
.mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  gap: 0;
  align-items: stretch;
  flex-wrap: nowrap;
  border: 0;
  border-bottom: 1px solid #d7d4cf;
  background: transparent;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode::before,
.mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters::before {
  width: 64px;
  flex: 0 0 64px;
  align-self: center;
  color: #6e6e78;
  font: 600 12px/1 var(--mw-sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode::before {
  content: "Fare";
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters::before {
  content: "Signal";
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode button,
.mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters button {
  min-height: 44px;
  padding: 10px 9px 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #5c5c66;
  font: 600 13px/1.25 var(--mw-sans);
  box-shadow: none;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode button[aria-pressed="true"],
.mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters button[aria-pressed="true"] {
  border-bottom-color: #5b3ba6;
  background: transparent;
  color: #16151a;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode button:focus-visible,
.mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters button:focus-visible,
.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row:focus-visible {
  outline: 2px solid #5b3ba6;
  outline-offset: 2px;
  box-shadow: none;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  overflow: auto;
  border: 0;
  scrollbar-gutter: stable;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger-head {
  position: sticky;
  z-index: 1;
  top: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) minmax(112px, .6fr) 92px;
  gap: 8px;
  align-items: end;
  padding: 13px 6px 8px;
  border-bottom: 1px solid #16151a;
  background: #ffffff;
  color: #6e6e78;
  font: 600 12px/1.2 var(--mw-sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger-head span:nth-child(n+3) {
  text-align: right;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row {
  min-height: 76px;
  grid-template-columns: 24px minmax(0, 1fr) minmax(112px, .6fr) 92px;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 12px 6px;
  border: 0;
  border-bottom: 1px solid #dedbd5;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  transition: background-color 120ms ease;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row[data-signal="outlier"] {
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row[data-signal="sweet"] {
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row[data-signal="gold"] {
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row[data-signal="worth"] {
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row:hover,
.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row[aria-current="true"] {
  background: #f3f0eb;
  box-shadow: none;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row[aria-current="true"] {
  border-left: 3px solid #5b3ba6;
  padding-left: 3px;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row:focus-visible {
  outline-offset: -2px;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-number {
  align-self: center;
  padding-top: 0;
  color: #6e6e78;
  font: 500 12px/1 var(--mw-sans);
  font-variant-numeric: tabular-nums;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row strong {
  overflow: visible;
  color: #16151a;
  font-family: var(--mw-sans);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.006em;
  white-space: normal;
  overflow-wrap: anywhere;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row small {
  margin-top: 3px;
  color: #5c5c66;
  font-size: 12px;
  line-height: 1.4;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read {
  display: contents;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read b {
  align-self: center;
  margin: 0;
  color: #16151a;
  font: 700 16px/1.3 var(--mw-sans);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read .mw-fare-taxes {
  margin-top: 2px;
  color: #5c5c66;
  font: 400 13px/1.35 var(--mw-sans);
  font-variant-numeric: tabular-nums;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read .mw-fare-basis {
  margin-top: 1px;
  color: #6e6e78;
  font: 400 12px/1.3 var(--mw-sans);
  letter-spacing: 0;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read > span {
  align-self: center;
  font: 600 13px/1.3 var(--mw-sans);
  text-align: right;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-state-signal {
  color: #5b3ba6;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-state-sweet {
  color: #c2455f;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-state-gold {
  color: #664909;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-actions {
  margin: 0;
  padding-top: 12px;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-actions .mw-button {
  min-height: 44px;
  padding: 7px 0 6px;
  border: 0;
  border-bottom: 1px solid #16151a;
  border-radius: 0;
  background: transparent;
  color: #16151a;
  font-size: 13px;
  box-shadow: none;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-inspector {
  border-left: 1px solid #16151a;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.mw-shell[data-board-preview="true"][data-view="explore"] .mw-inspector-close {
  border-radius: 0;
  background: #ffffff;
}

@media (max-width: 899px) {
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-main {
    display: flex;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-explore {
    height: auto;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-opening-compact {
    padding: 18px 20px 12px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-explore > .mw-section {
    padding: 0 20px 18px;
  }
}

@media (max-width: 700px) {
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-opening-compact {
    padding: 16px 16px 11px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-opening-compact h1 {
    font-size: 26px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-opening-compact > div > p {
    max-width: none;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-sweep-stamp {
    max-width: none !important;
    font-size: 12px !important;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-explore > .mw-section {
    padding: 0 12px 14px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode::before,
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters::before {
    display: none;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-mode button,
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-filters button {
    flex: 1 1 auto;
    min-width: 44px;
    padding-right: 5px;
    padding-left: 5px;
    white-space: normal;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger-head {
    grid-template-columns: 22px minmax(0, 1fr) 124px;
    gap: 8px;
    padding: 11px 6px 7px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger-head span:nth-child(4) {
    display: none;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row {
    min-height: 76px;
    grid-template-columns: 22px minmax(0, 1fr) 124px;
    gap: 8px;
    padding: 12px 6px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row[aria-current="true"] {
    padding-left: 3px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    align-self: center;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read b,
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read > span {
    align-self: flex-end;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row-read > span {
    margin-top: 6px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger:not(.is-expanded) > .mw-row:nth-child(5) {
    display: grid;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger:not(.is-expanded) > .mw-row:nth-child(n+6) {
    display: none;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-mobile-more {
    font-size: 13px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row small {
    font-size: 12px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-globe-caption {
    top: 14px;
    left: 16px;
    max-width: 230px;
    padding-top: 8px;
  }

  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-inspector {
    border-top: 1px solid #16151a;
    border-left: 0;
  }
}

/* Small phones: the fare needs about 106px, so a 112px column leaves the trip room for long
   city names such as Providenciales. */
@media (max-width: 360px) {
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-ledger-head,
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-row {
    grid-template-columns: 22px minmax(0, 1fr) 112px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mw-shell[data-board-preview="true"][data-view="explore"] .mw-inspector {
    animation-duration: 1ms;
  }
}
/* END BOARD PREVIEW */

/* YOU PREVIEW — the existing account and coverage paths, inside the owner URL gate. */
.mw-shell[data-board-preview="true"][data-view="balances"] .mw-main {
  grid-template-columns: minmax(460px, 520px) minmax(0, 1fr);
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-content {
  border-right: 1px solid #b9b7b2;
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you {
  background: #ffffff;
  color: #16151a;
  font: 400 16px/1.5 "Figtree", sans-serif;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-opening-compact {
  display: block;
  height: auto;
  padding: 28px 28px 24px;
  border-bottom: 1px solid #16151a;
  background: #ffffff;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-opening-compact h1 {
  overflow: visible;
  margin: 0;
  font: 700 40px/1.1 "Figtree", sans-serif;
  letter-spacing: -.02em;
  white-space: normal;
  text-overflow: clip;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-opening-compact > div > p {
  overflow: visible;
  max-width: none;
  margin: 8px 0 0;
  color: #5c5c66;
  font-size: 16px;
  line-height: 1.5;
  white-space: normal;
  text-overflow: clip;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-section {
  padding: 20px 28px 24px;
  border-bottom: 1px solid #dedbd5;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-section h2 {
  margin: 0;
  font: 700 20px/1.3 "Figtree", sans-serif;
  letter-spacing: -.01em;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-section p {
  margin: 12px 0;
  color: #5c5c66;
  font-size: 16px;
  line-height: 1.5;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 16px;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you-link {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid #5b3ba6;
  border-radius: 0;
  background: transparent;
  color: #5b3ba6;
  font: 600 16px/1.5 "Figtree", sans-serif;
  text-align: left;
  box-shadow: none;
  cursor: pointer;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-balance-list {
  margin-top: 20px;
  border-top: 1px solid #16151a;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-balance {
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid #dedbd5;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-balance span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 16px;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-balance strong {
  font: 700 20px/1.3 "Figtree", sans-serif;
  font-variant-numeric: tabular-nums;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you-links {
  margin-top: 16px;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you-links button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 76px;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid #dedbd5;
  border-radius: 0;
  background: transparent;
  color: #16151a;
  font: 400 16px/1.5 "Figtree", sans-serif;
  text-align: left;
  box-shadow: none;
  cursor: pointer;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you-links strong {
  display: block;
  font-weight: 600;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you-links button > span > span {
  display: block;
  color: #5c5c66;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you button:hover {
  color: #5b3ba6;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you button:focus-visible {
  outline: 2px solid #5b3ba6;
  outline-offset: 3px;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-you-places {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
  font-weight: 600;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-globe {
  background: #f5f2ed;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-globe-caption {
  top: 22px;
  left: 24px;
  max-width: min(290px, 68%);
  padding: 10px 0 0;
  border: 0;
  border-top: 2px solid #16151a;
  border-radius: 0;
  background: #f5f2ed;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-globe-caption strong {
  font: 700 20px/1.3 "Figtree", sans-serif;
}

.mw-shell[data-board-preview="true"][data-view="balances"] .mw-globe-caption span {
  font: 400 14px/1.5 "Figtree", sans-serif;
}

@media (max-width: 899px) {
  .mw-shell[data-board-preview="true"][data-view="balances"] .mw-main {
    display: flex;
  }
}

@media (max-width: 700px) {
  .mw-shell[data-board-preview="true"][data-view="balances"] .mw-opening-compact {
    padding: 24px 20px;
  }

  .mw-shell[data-board-preview="true"][data-view="balances"] .mw-section {
    padding: 20px;
  }
}
/* END YOU PREVIEW */

/* Ordinary member landing: fares first, with the existing ruled list and globe.
   Deliberately not gated by the Board/You owner-preview query. */
.mw-explore .mw-opening-compact > .mw-sweep-stamp {
  white-space: normal;
  text-overflow: clip;
}

.mw-for-you { animation: none; }

.mw-shell[data-view="for-you"] .mw-main {
  grid-template-columns: minmax(420px, 42%) minmax(0, 1fr);
}

.mw-shell[data-view="for-you"] .mw-content {
  background: var(--mw-paper);
}

.mw-for-you .mw-opening-compact {
  display: block;
  height: auto;
  padding: 24px 24px 16px;
  border-bottom: 0;
}

.mw-for-you .mw-opening h1 {
  margin: 6px 0 8px;
  font: 650 30px/1.12 var(--mw-sans);
  letter-spacing: -.025em;
  white-space: normal;
  overflow: visible;
}

.mw-for-you .mw-opening p,
.mw-for-you .mw-section p {
  font: 400 14px/1.5 var(--mw-sans);
  white-space: normal;
  overflow: visible;
}

.mw-for-you .mw-opening .mw-kicker {
  font-size: 12px;
  font-weight: 600;
}

.mw-for-you .mw-section {
  padding: 20px 24px;
}

.mw-for-you .mw-landing-fares {
  padding-top: 0;
}

.mw-for-you .mw-section h2,
.mw-for-you .mw-section h3 {
  margin: 0 0 10px;
  font: 600 20px/1.25 var(--mw-sans);
  letter-spacing: -.015em;
}

.mw-for-you .mw-section-head {
  margin-bottom: 12px;
}

.mw-for-you .mw-empty {
  padding: 12px 0;
  border: 0;
}

.mw-for-you .mw-ledger {
  overflow: visible;
  max-height: none;
}

.mw-for-you .mw-row {
  gap: 8px 12px;
  padding: 16px 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.mw-for-you .mw-landing-fare {
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
}

.mw-for-you .mw-row strong {
  font: 600 19px/1.2 var(--mw-sans);
  white-space: normal;
}

.mw-for-you .mw-row small,
.mw-for-you .mw-row-read,
.mw-for-you .mw-row-read b,
.mw-for-you .mw-row-read span {
  font: 400 13px/1.4 var(--mw-sans);
  white-space: normal;
  overflow: visible;
}

.mw-for-you .mw-row-read b {
  font-size: 17px;
  font-weight: 600;
}

.mw-for-you .mw-row .mw-fare-taxes,
.mw-for-you .mw-row .mw-fare-basis {
  display: block;
  font-size: 12px;
}

.mw-for-you .mw-row .mw-landing-signal {
  margin-top: 7px;
  font-size: 12px;
}

.mw-for-you .mw-landing-signal[data-signal="outlier"] { color: var(--mw-violet-deep); }
.mw-for-you .mw-landing-signal[data-signal="gold"] { color: var(--mw-brass); }

.mw-for-you .mw-row .mw-landing-observed {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 12px;
  font-size: 12px;
}

.mw-for-you .mw-landing-observed span { color: var(--mw-violet-deep); }
.mw-for-you .mw-actions { margin-top: 16px; gap: 10px; }
.mw-for-you .mw-button { min-height: 44px; font: 600 13px/1.3 var(--mw-sans); }
.mw-for-you .mw-feed-clock { margin: 14px 0 0; font-size: 12px; }
.mw-for-you .mw-watch-setup { margin: 0 0 10px; }
.mw-for-you .mw-filters { margin-top: 16px; }
.mw-for-you .mw-row:hover { background: var(--mw-surface); }
/* The focus ring sits OUTSIDE the fare row (the row has no side padding, so an inset ring drew over its text
   and cut the right column). 4px + 2px fits the 18px (390) and 24px (1280) gutters; nothing clips it. */
.mw-for-you .mw-row:focus-visible { outline: 2px solid var(--mw-violet); outline-offset: 4px; }

@media (max-width: 700px) {
  .mw-for-you .mw-opening-compact { padding: 20px 18px 14px; }
  .mw-for-you .mw-section { padding: 18px; }
  .mw-for-you .mw-landing-fares { padding-top: 0; }
  .mw-for-you .mw-opening h1 { font-size: 28px; }
  .mw-for-you .mw-landing-fare { grid-template-columns: minmax(0, 1fr) 128px; }
  .mw-for-you .mw-landing-fares .mw-row { display: grid; }
}

/* Ordinary fare-to-balance journey: the same white, ruled reading surface as
   For you and Amelia. Board/You owner previews keep their separate gates. */
.mw-shell:not([data-board-preview]) .mw-explore {
  grid-template-rows: auto minmax(0, 1fr);
}

.mw-shell:not([data-board-preview]):is([data-view="explore"], [data-view="balances"]) .mw-content {
  background: var(--mw-paper);
}

.mw-shell:not([data-board-preview]) :is(.mw-explore, .mw-balances) .mw-opening-compact {
  display: block;
  height: auto;
  padding: 20px 24px 16px;
}

.mw-shell:not([data-board-preview]) :is(.mw-explore, .mw-balances) .mw-opening h1 {
  margin: 0 0 8px;
  font: 600 28px/1.15 var(--mw-sans);
  letter-spacing: -.025em;
  overflow: visible;
  white-space: normal;
}

.mw-shell:not([data-board-preview]) :is(.mw-explore, .mw-balances) .mw-opening p {
  font: 400 14px/1.4 var(--mw-sans);
  overflow: visible;
  white-space: normal;
}

.mw-shell:not([data-board-preview]) .mw-explore .mw-sweep-stamp {
  max-width: none !important;
  margin-top: 10px;
  text-align: left;
  font-size: 12px !important;
}

.mw-shell:not([data-board-preview]) .mw-explore > .mw-section {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  padding: 0 24px 16px;
}

.mw-shell:not([data-board-preview]) .mw-explore :is(.mw-mode, .mw-filters) button {
  min-height: 44px;
  font: 500 12px/1.3 var(--mw-sans);
  padding: 8px;
}

.mw-shell:not([data-board-preview]) .mw-explore .mw-row {
  grid-template-columns: 20px minmax(0, 1fr) minmax(124px, .75fr);
  padding: 12px 0;
  gap: 8px;
  background: transparent;
}

.mw-shell:not([data-board-preview]) .mw-explore .mw-row:is(:hover, :focus-visible, [aria-current="true"]) {
  background: var(--mw-violet-wash-solid);
}

.mw-shell:not([data-board-preview]) .mw-explore .mw-row strong {
  font: 600 18px/1.25 var(--mw-sans);
  white-space: normal;
  overflow: visible;
}

.mw-shell:not([data-board-preview]) .mw-explore .mw-row small,
.mw-shell:not([data-board-preview]) .mw-explore .mw-row-read,
.mw-shell:not([data-board-preview]) .mw-explore .mw-row-read > span {
  font: 400 12px/1.4 var(--mw-sans);
  white-space: normal;
  overflow: visible;
}

.mw-shell:not([data-board-preview]) .mw-explore .mw-row-read b {
  font: 600 16px/1.4 var(--mw-sans);
  white-space: normal;
  overflow: visible;
}

.mw-shell:not([data-board-preview]) .mw-explore .mw-row-number { font-size: 12px; }
.mw-shell:not([data-board-preview]) .mw-explore .mw-row-read :is(.mw-fare-taxes, .mw-fare-basis) { font: 400 12px/1.4 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-explore .mw-button { min-height: 44px; font-size: 13px; }

.mw-shell:not([data-board-preview]) .mw-balances .mw-section { padding: 20px 24px; }
.mw-shell:not([data-board-preview]) .mw-balances .mw-section-head { display: block; }
.mw-shell:not([data-board-preview]) .mw-balances .mw-section h2 { font: 600 22px/1.25 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-balances .mw-section-head > p {
  display: block;
  max-width: none;
  margin-top: 8px;
  text-align: left;
}
.mw-shell:not([data-board-preview]) .mw-balances .mw-section p { font: 400 14px/1.5 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-balances .mw-balance { font: 400 14px/1.4 var(--mw-sans); padding-block: 14px; }
.mw-shell:not([data-board-preview]) .mw-balances .mw-balance strong { font: 600 16px/1.4 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-balances .mw-balance span { font: inherit; }
.mw-shell:not([data-board-preview]) .mw-balances .mw-disclaimer { margin-top: 10px; font-size: 12px !important; }
.mw-shell:not([data-board-preview]) .mw-balances .mw-actions { gap: 10px; }
.mw-shell:not([data-board-preview]) .mw-balances .mw-button { min-height: 44px; font: 600 13px/1.4 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-balances .mw-digest article { grid-template-columns: minmax(0, 1fr); gap: 4px; }
.mw-shell:not([data-board-preview]) .mw-balances .mw-digest time { font: 400 12px/1.4 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-balances .mw-pilot-note { font: 400 12px/1.5 var(--mw-sans); }

.mw-shell:not([data-board-preview])[data-detail-open="true"] .mw-inspector {
  border-radius: 0;
  background: var(--mw-paper);
  backdrop-filter: none;
  box-shadow: none;
}
.mw-shell:not([data-board-preview]) .mw-inspector-scroll { padding: 18px 18px calc(18px + env(safe-area-inset-bottom, 0px)); }
.mw-shell:not([data-board-preview]) .mw-inspector-close { background: var(--mw-paper); font-size: 13px; }
.mw-shell:not([data-board-preview]) .mw-inspector h2 { font: 600 28px/1.15 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-inspector-fare { padding-block: 12px; }
.mw-shell:not([data-board-preview]) .mw-inspector-fare .mw-fare-line { font: 600 18px/1.35 var(--mw-sans); }
.mw-shell:not([data-board-preview]) .mw-inspector :is(.mw-fare-taxes, .mw-fare-basis, .mw-inspector-label, .mw-inspector-route,
  .mw-inspector-signal, .mw-inspector-trust, .mw-inspector-warning, .mw-inspector-confirmed,
  .mw-inspector-freshness, .mw-inspector-airport-note, .mw-itin-leg-head, .mw-itin-path span,
  .mw-itin-leg p, .mw-itin-leg-fare, .mw-trip-facts dt, .mw-trip-facts dd, .mw-disclaimer) {
  font-size: 13px;
  line-height: 1.45;
}
.mw-shell:not([data-board-preview]) .mw-itin-leg { padding: 12px 0; border: 0; border-bottom: 1px solid var(--mw-rule); background: transparent; }
.mw-shell:not([data-board-preview]) .mw-itin-path { flex-wrap: wrap; gap: 4px 8px; }
.mw-shell:not([data-board-preview]) .mw-itin-path b { font: 600 14px/1.4 var(--mw-sans); white-space: normal; overflow: visible; }
.mw-shell:not([data-board-preview]) .mw-trip-facts > div { grid-template-columns: 100px minmax(0, 1fr); padding-block: 10px; }
.mw-shell:not([data-board-preview]) .mw-inspector .mw-button { min-height: 44px; font: 600 13px/1.4 var(--mw-sans); }

/* Board presentation: the same member floor for trip detail, in every Board section, as the
   classic rules above give every classic section. Type properties only: the Board keeps its own
   detail surface. (Disclaimers are left to the base rule, which pins them with !important.) */
.mw-shell[data-board-preview="true"] .mw-inspector-close { font-size: 13px; }
.mw-shell[data-board-preview="true"] .mw-inspector h2 { font: 650 28px/1.15 var(--mw-sans); }
.mw-shell[data-board-preview="true"] .mw-inspector-fare .mw-fare-line:not(.mw-fare-taxes) {
  font: 700 18px/1.35 var(--mw-sans);
  font-variant-numeric: tabular-nums;
}
.mw-shell[data-board-preview="true"] .mw-inspector :is(.mw-fare-taxes, .mw-fare-basis, .mw-inspector-label, .mw-inspector-route,
  .mw-inspector-signal, .mw-inspector-trust, .mw-inspector-warning, .mw-inspector-confirmed,
  .mw-inspector-freshness, .mw-inspector-airport-note, .mw-itin-leg-head, .mw-itin-path span,
  .mw-itin-leg p, .mw-itin-leg-fare, .mw-trip-facts dt, .mw-trip-facts dd) {
  font-size: 13px;
  line-height: 1.45;
}
.mw-shell[data-board-preview="true"] .mw-inspector-fare .mw-fare-taxes { font-weight: 400; }
.mw-shell[data-board-preview="true"] .mw-itin-path { flex-wrap: wrap; gap: 4px 8px; }
.mw-shell[data-board-preview="true"] .mw-itin-path b { font: 600 15px/1.4 var(--mw-sans); white-space: normal; overflow: visible; }
.mw-shell[data-board-preview="true"] .mw-trip-facts > div { grid-template-columns: 112px minmax(0, 1fr); }
.mw-shell[data-board-preview="true"] .mw-inspector .mw-button { min-height: 44px; font: 600 13px/1.4 var(--mw-sans); }

@media (min-width: 900px) {
  .mw-shell:not([data-board-preview]):is([data-view="explore"], [data-view="balances"]) .mw-main {
    grid-template-columns: minmax(400px, 42%) minmax(0, 1fr);
  }
}

@media (max-width: 899px) {
  .mw-shell:not([data-board-preview]) :is(.mw-explore, .mw-balances) .mw-opening-compact { padding: 18px; }
  .mw-shell:not([data-board-preview]) :is(.mw-explore, .mw-balances) .mw-opening h1 { font-size: 26px; }
  .mw-shell:not([data-board-preview]) .mw-explore > .mw-section { padding: 0 12px 12px; }
  .mw-shell:not([data-board-preview]) .mw-explore .mw-row { grid-template-columns: 16px minmax(0, 1fr) 124px; gap: 6px; }
  .mw-shell:not([data-board-preview]) .mw-balances .mw-section { padding: 18px; }
}

/* The Outliers rail ("lead + rail of badged fares", 2026-09-25): the fares that earned the Flight
   Outlier or Gold badge themselves, above the ledger's one lead fare per route. Each entry leads with
   its own trip length and dates, so it never reads as its route's lead fare. */
/* The section gains one row for the rail (mode, rail, signal filters, ledger, actions), and the column
   scrolls as one list instead of squeezing the ledger into a second small scroll box. */
.mw-explore > .mw-section.has-rail,
.mw-shell:not([data-board-preview]) .mw-explore > .mw-section.has-rail {
  grid-template-rows: auto auto auto auto auto;
  overflow-x: hidden;
  overflow-y: auto;
}
.mw-explore > .mw-section.has-rail .mw-ledger { flex: 0 0 auto; min-height: auto; overflow: visible; }
.mw-explore .mw-outlier-rail { min-width: 0; margin: 12px 0 0; }
.mw-explore .mw-outlier-rail .mw-rail-head { margin: 0; color: var(--mw-ink); font: 650 16px/1.3 var(--mw-sans); letter-spacing: 0; }
.mw-explore .mw-outlier-rail .mw-rail-note { margin: 3px 0 8px; color: var(--mw-muted); font-size: 12px; line-height: 1.4; }
.mw-explore .mw-outlier-rail .mw-rail-leads { margin: 14px 0 6px; font-size: 14px; }
.mw-explore .mw-row small.mw-rail-trip { color: var(--mw-ink); font-weight: 650; }
.mw-explore .mw-outlier-rail .mw-row small.mw-rail-facts { display: block; }
.mw-inspector .mw-inspector-rail { margin: 6px 0 0; color: var(--mw-ink); font-size: 13px; line-height: 1.45; }
@media (max-width: 899px) {
  .mw-explore > .mw-section.has-rail,
  .mw-shell:not([data-board-preview]) .mw-explore > .mw-section.has-rail { overflow-y: visible; }
}
/* A rail longer than six fares says "6 of 16" beside its head and ends with a toggle that shows every
   fare (and back). */
.mw-explore .mw-outlier-rail .mw-rail-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.mw-explore .mw-outlier-rail .mw-rail-count { flex: 0 0 auto; color: var(--mw-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.mw-explore .mw-outlier-rail .mw-rail-more { display: block; width: 100%; min-height: 44px; margin: 0; padding: 10px 0 7px;
  border: 0; border-bottom: 1px solid var(--mw-rule); background: transparent; color: var(--mw-violet-deep);
  font: 600 13px/1.3 var(--mw-sans); text-align: left; cursor: pointer; }
.mw-explore .mw-outlier-rail .mw-rail-more:focus-visible { outline: 2px solid var(--mw-violet-deep); outline-offset: -2px; }

/* Lane D, personalization on screen: the member's SAVED balances and what they cover. Every funding line
   is the app's own sentence (adapter.getFunding); the caution sits under any list that shows one. The
   points strip keeps the saved balances one tap from editing. 12px floor, 44px controls. */
.mw-row small.mw-fund {
  display: block;
  margin-top: 6px;
  color: var(--mw-ink);
  font: 400 13px/1.45 var(--mw-sans);
  white-space: normal;
}
.mw-row small.mw-fund[data-fund-state="ok"] { color: var(--mw-green); }
.mw-row small.mw-fund[data-fund-state="short"],
.mw-row small.mw-fund[data-fund-state="unsettled"] { color: var(--mw-muted); }
.mw-fund-mark { margin-right: 5px; font-weight: 700; }
.mw-fund-caution {
  margin: 10px 0 0;
  color: var(--mw-ink);
  font: 600 13px/1.45 var(--mw-sans);
}
.mw-points-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 16px;
  margin: 0 0 14px;
  padding: 10px 0;
  border-top: 1px solid var(--mw-rule);
  border-bottom: 1px solid var(--mw-rule);
}
.mw-points-strip p {
  display: flex;
  flex: 1 1 260px;
  flex-wrap: wrap;
  gap: 2px 14px;
  min-width: 0;
  margin: 0;
  color: var(--mw-muted);
  font: 400 13px/1.45 var(--mw-sans);
}
.mw-points-strip.is-empty p { display: block; color: var(--mw-ink); }
.mw-points-label { flex-basis: 100%; color: var(--mw-muted); font-size: 12px; }
.mw-points-item { white-space: nowrap; }
.mw-points-item span { color: var(--mw-ink); font-weight: 500; font-variant-numeric: tabular-nums; }
.mw-points-edit,
.mw-funded-more {
  min-height: 44px;
  padding: 10px 2px;
  border: 0;
  background: transparent;
  color: var(--mw-violet-deep);
  font: 600 13px/1.3 var(--mw-sans);
  cursor: pointer;
}
.mw-funded-more {
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--mw-rule);
  text-align: left;
}
.mw-points-edit:focus-visible,
.mw-funded-more:focus-visible { outline: 2px solid var(--mw-violet-deep); outline-offset: -2px; }
.mw-points-strip .mw-button { margin: 0; }
/* The funded list on Balances (and the Board's You) is the For you fare row, so it reads the same. */
.mw-funded.mw-ledger { overflow: visible; max-height: none; margin-top: 4px; }
.mw-funded .mw-row {
  gap: 8px 12px;
  padding: 16px 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.mw-funded .mw-landing-fare { grid-template-columns: minmax(0, 1fr) minmax(120px, auto); }
.mw-funded .mw-row strong { font: 600 19px/1.2 var(--mw-sans); white-space: normal; }
.mw-funded .mw-row small,
.mw-funded .mw-row-read,
.mw-funded .mw-row-read b,
.mw-funded .mw-row-read span { font: 400 13px/1.4 var(--mw-sans); white-space: normal; overflow: visible; }
.mw-funded .mw-row-read b { font-size: 17px; font-weight: 600; }
.mw-funded .mw-row .mw-fare-taxes,
.mw-funded .mw-row .mw-fare-basis { display: block; font-size: 12px; }
.mw-funded .mw-row .mw-landing-signal { margin-top: 7px; font-size: 12px; }
.mw-funded .mw-landing-signal[data-signal="outlier"] { color: var(--mw-violet-deep); }
.mw-funded .mw-row .mw-landing-observed {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 12px;
  font-size: 12px;
}
.mw-funded .mw-landing-observed span { color: var(--mw-violet-deep); }
.mw-funded .mw-row:hover { background: var(--mw-surface); }
.mw-funded .mw-row:focus-visible { outline: 2px solid var(--mw-violet); outline-offset: 4px; }
.mw-funded .mw-row small.mw-fund { font-size: 13px; }
.mw-funded .mw-row small.mw-fund[data-fund-state="ok"] { color: var(--mw-green); }
@media (max-width: 700px) {
  .mw-funded .mw-landing-fare { display: grid; grid-template-columns: minmax(0, 1fr) 128px; }
}

/* A two-program fare on Amelia's compact receipt: its price is leg by leg ("22,000 Qantas Points out ·
   16,000 Alaska miles back"), on its own full-width row under the head, so it wraps inside the card at 390px
   and never widens the price column (which squeezed the funding line to ~110px at desktop). The price
   column keeps only the taxes. Each leg stays whole; the row breaks between legs. */
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket.has-legs {
  grid-template-areas:
    "logo identity price"
    "legs legs legs"
    "route route route"
    "meta meta meta"
    "trust trust open";
}
body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket.has-legs.has-airport-note {
  grid-template-areas:
    "logo identity price"
    "legs legs legs"
    "route route route"
    "airport airport airport"
    "meta meta meta"
    "trust trust open";
}
.mw-shell[data-view="plan"] .tp-compact-legs {
  grid-area: legs;
  min-width: 0;
  color: var(--mw-ink);
  font: 650 14px/1.35 var(--mw-sans);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.mw-shell[data-view="plan"] .tp-compact-legs b { font-weight: 650; white-space: nowrap; }
/* Without per-leg amounts the row is a sentence ("Flying Blue out · Aeroplan back · per-leg amounts not
   recorded"): it wraps inside the card instead of running under its edge. */
.mw-shell[data-view="plan"] .tp-compact-legs b.tp-compact-legs-note { white-space: normal; }
@media (max-width: 560px) {
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket.has-legs {
    grid-template-areas:
      "logo identity price"
      "legs legs legs"
      "route route route"
      "meta meta meta"
      "trust trust trust"
      "open open open";
  }
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-stack .tp-compact-ticket.has-legs.has-airport-note {
    grid-template-areas:
      "logo identity price"
      "legs legs legs"
      "route route route"
      "airport airport airport"
      "meta meta meta"
      "trust trust trust"
      "open open open";
  }
}
/* The per-leg price on a fare row and in the detail sheet: one line per leg. */
.mw-fare-line.mw-fare-leg { display: block; }
/* A saved two-program record's amount column: one leg per line; taxes and a legacy record's note small. */
.mw-row-read b .mw-row-leg { display: block; }
.mw-for-you .mw-row-read b .mw-row-leg { font-size: 15px; font-weight: 600; line-height: 1.3; }
.mw-row-read b .mw-row-leg.is-note,
.mw-for-you .mw-row-read b .mw-row-leg.is-note { font-size: 12px; font-weight: 400; line-height: 1.4; }
/* Round 11: a ticket card in Amelia's thread never widens the thread. The stack's one column is minmax(0, 1fr) and
   every card is capped at its width, so a long chip or funding line wraps inside the card at 390px instead of
   pushing the thread into a sideways scroll. */
.tp-thread > *, .tp-stack > * { min-width: 0; max-width: 100%; }
.tp-stack { min-width: 0; max-width: 100%; grid-template-columns: minmax(0, 1fr); }
.tp-stack > .ticket, .tp-stack > .tp-compact-ticket { box-sizing: border-box; overflow-wrap: anywhere; }
/* Lane D, A (2026-09-29): on a phone the globe leads For you and Balances instead of sitting under the
   last list. The map is a 232px band at the top with its caption under it, never over it; a vertical swipe on the map still scrolls the page, a sideways drag still turns the globe. Outlier keeps its ledger first (four rows above the phone
   fold), and Plan keeps its own layout. */
@media (max-width: 899px) {
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-content { order: 1; }
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe {
    order: 0;
    flex: 0 0 auto;
    min-height: 0;
    border-top: 0;
    border-bottom: 1px solid var(--mw-rule);
  }
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe .atlas-stage {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    overflow: visible;
  }
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe .atlas-stage #map {
    height: 232px !important;
    /* The legacy phone stage (app.html, <=760px) shifts #map up and left for its thin proof band. */
    margin: 0 !important;
    overflow: hidden;
  }
  /* globe.js sets touch-action:none on its canvas; at the top of a phone page that would trap the
     scroll. Vertical pans go to the page, horizontal drags still reach the globe. */
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe #map canvas {
    touch-action: pan-y !important;
  }
  /* The caption reads under the map, never over it: on a phone any box on the sphere hides arcs. */
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe-caption,
  .mw-shell[data-board-preview="true"]:is([data-view="for-you"], [data-view="balances"]) .mw-globe-caption {
    position: static;
    inset: auto;
    max-width: none;
    margin: 0;
    padding: 10px 16px 12px;
    border: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
  }
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe-caption strong,
  .mw-shell[data-board-preview="true"]:is([data-view="for-you"], [data-view="balances"]) .mw-globe-caption strong {
    font-size: 15px;
    line-height: 1.25;
  }
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe-caption span,
  .mw-shell[data-board-preview="true"]:is([data-view="for-you"], [data-view="balances"]) .mw-globe-caption span {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.35;
  }
  /* A phone on its side: the band shrinks so the page still shows beneath it. */
  @media (max-height: 500px) {
    .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe .atlas-stage #map { height: 150px !important; }
  }
  /* A caption that only restates the page title (For you's default, setGlobeCaption's restatesPage) is
     not drawn on a phone, where the page title follows the map; screen readers keep it. */
  .mw-shell[data-view="for-you"] .mw-globe-caption[data-restates-page] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  /* Both pages state the feed's two clocks in their own feed line, so the sweep line is not repeated
     under the map. For you owes the member a complete fare in the first screen (smoke: "ordinary member
     landing"), so its saved-points strip follows the fares instead of preceding them. The empty strip
     ("Add your points") is the one exception: see "Lane D, first run" below. */
  body.mw-active .mw-shell:is([data-view="for-you"], [data-view="balances"]) .jk-proof { display: none; }
  .mw-for-you .mw-landing-fares { display: flex; flex-direction: column; }
  .mw-for-you .mw-landing-fares > * { order: 3; }
  .mw-for-you .mw-landing-fares > .mw-ledger { order: 0; }
  .mw-for-you .mw-landing-fares > .mw-fund-caution { order: 1; }
  .mw-for-you .mw-landing-fares > .mw-points-strip { order: 2; margin: 14px 0 0; }
}

/* Lane D, B (2026-09-29): the fare reads as one figure and one quiet line, and the signal reads as a
   label, not a link. The miles are the row's headline (17px, 600); taxes and "per traveler" share one
   12px line. The signal is ink text after a dot in its deal-tier colour (Flight Outlier #5b3ba6, Sweet
   spot #c2455f, Gold #d4a017, the globe's own arc colours); "Worth a look" stays plain muted text.
   Fare rows only (.mw-landing-fare) in For you and Balances' funded list, in both presentations, and the
   classic Outlier ledger and rail; the Board's Outlier ledger keeps its own. Trip File rows are untouched. */
:is(.mw-for-you, .mw-funded) .mw-landing-fare .mw-row-read b {
  /* The <b> is the line box for the inline taxes line: the 12px strut, not the headline's. */
  font: 400 12px/1.45 var(--mw-sans);
}
:is(.mw-for-you, .mw-funded) .mw-landing-fare .mw-row-read .mw-fare-line:not(.mw-fare-taxes) {
  display: block;
  color: var(--mw-ink);
  font: 600 17px/1.3 var(--mw-sans);
  font-variant-numeric: tabular-nums;
}
:is(.mw-for-you, .mw-funded) .mw-landing-fare .mw-row-read :is(.mw-fare-taxes, .mw-fare-basis) {
  display: inline;
  color: var(--mw-muted);
  font: 400 12px/1.4 var(--mw-sans);
}
:is(.mw-for-you, .mw-funded) .mw-landing-fare .mw-row-read .mw-fare-basis { white-space: nowrap; }
:is(.mw-for-you, .mw-funded) .mw-landing-fare .mw-landing-signal,
.mw-shell:not([data-board-preview]) .mw-explore .mw-row-read > span:is(.mw-state, .mw-state-signal, .mw-state-gold, .mw-state-sweet) {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 8px;
  color: var(--mw-ink);
  font: 600 12px/1.3 var(--mw-sans);
}
:is(.mw-for-you, .mw-funded) .mw-landing-fare .mw-landing-signal[data-signal="worth"],
.mw-shell:not([data-board-preview]) .mw-explore .mw-row-read > span.mw-state {
  color: var(--mw-muted);
  font-weight: 400;
}
:is(.mw-for-you, .mw-funded) .mw-landing-signal:is([data-signal="outlier"], [data-signal="gold"], [data-signal="sweet"])::before,
.mw-shell:not([data-board-preview]) .mw-explore .mw-row-read > span:is(.mw-state-signal, .mw-state-gold, .mw-state-sweet)::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--fo-signal-dot, #5b3ba6);
}
:is(.mw-for-you, .mw-funded) .mw-landing-signal[data-signal="outlier"],
.mw-shell:not([data-board-preview]) .mw-explore .mw-state-signal { --fo-signal-dot: var(--cat-outlier-line, #5b3ba6); }
:is(.mw-for-you, .mw-funded) .mw-landing-signal[data-signal="sweet"],
.mw-shell:not([data-board-preview]) .mw-explore .mw-state-sweet { --fo-signal-dot: var(--cat-sweet-line, #c2455f); }
:is(.mw-for-you, .mw-funded) .mw-landing-signal[data-signal="gold"],
.mw-shell:not([data-board-preview]) .mw-explore .mw-state-gold { --fo-signal-dot: var(--cat-gold-line, #d4a017); }

/* Lane D, E (2026-09-29): the globe's colour key, quiet and small, in the map's lower left above the
   sweep line on a desktop and under the map on a phone. Swatches read the globe's own tokens. Shown on
   For you and Balances, and on Outlier on a desktop; Plan's map carries its route choices instead. */
.mw-globe-legend {
  position: absolute;
  z-index: 3;
  left: 14px;
  bottom: 70px;
  display: grid;
  gap: 4px;
  max-width: calc(100% - 28px);
  padding: 7px 10px;
  background: rgba(252, 252, 254, .9);
  color: var(--mw-muted);
  font: 400 12px/1.35 var(--mw-sans);
  pointer-events: none;
}
.mw-globe-legend[hidden],
.mw-globe-legend li[hidden] { display: none !important; }
.mw-globe-legend ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mw-globe-legend li { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.mw-legend-swatch { flex: none; width: 14px; height: 3px; border-radius: 2px; background: var(--cat-all-line, #6b6b77); }
.mw-legend-swatch[data-legend="outlier"] { background: var(--cat-outlier-line, #5b3ba6); }
.mw-legend-swatch[data-legend="sweet"] { background: var(--cat-sweet-line, #c2455f); }
.mw-legend-swatch[data-legend="gold"] { background: var(--cat-gold-line, #d4a017); }
.mw-legend-swatch[data-legend="weekend"] { background: var(--cat-weekend-line, #6f978c); }
.mw-legend-swatch[data-legend="one_week"] { background: var(--cat-one_week-line, #8a9b5e); }
.mw-legend-swatch[data-legend="two_weeks"] { background: var(--cat-two_weeks-line, #bd8459); }
.mw-legend-swatch[data-legend="new"] {
  width: 9px;
  height: 9px;
  border: 1.6px solid #e8833a;
  border-radius: 50%;
  background: transparent;
}
.mw-shell[data-view="plan"] .mw-globe-legend,
.mw-shell[data-view="pilot"] .mw-globe-legend,
.mw-shell[data-detail-open="true"] .mw-globe-legend { display: none; }
/* Narrower desktops wrap the sweep line to three lines; the key sits clear of it. */
@media (min-width: 900px) and (max-width: 1180px) {
  .mw-globe-legend { bottom: 84px; }
}
@media (max-width: 899px) {
  .mw-shell[data-view="explore"] .mw-globe-legend { display: none; }
  /* A short phone owes For you's first fare the first screen (a 375x667 phone would lose it). */
  @media (max-height: 760px) {
    .mw-shell[data-view="for-you"] .mw-globe-legend { display: none; }
  }
  .mw-shell:is([data-view="for-you"], [data-view="balances"]) .mw-globe-legend {
    position: static;
    max-width: none;
    padding: 8px 16px 12px;
    background: transparent;
  }
}

/* Lane D, second look #3 (2026-09-29): Amelia on a phone. A touch-only phone has no Enter/Shift+Enter,
   so the keyboard hint gives way there (a mouse, a trackpad or a keyboard-cover tablet keeps it). Up to
   700px the conversation takes more room while the globe still starts inside the first screen. The
   thread's lower edge fades, so a longer answer reads as scrollable instead of cut; the fade is shorter
   than the thread's bottom padding, so the last line and a focused card's ring never sit in it.
   The Plan phone globe is a fixed 280px map (the legacy offset reset), so the whole sphere shows and the
   band keeps one height through a conversation. */
@media (max-width: 899px) and (pointer: coarse) and (not (any-pointer: fine)) {
  .mw-shell[data-view="plan"] .mw-composer-help { display: none; }
}
@media (max-width: 899px) {
  .mw-shell[data-view="plan"] .mw-globe .atlas-stage #map {
    height: 280px !important;
    margin: 0 !important;
  }
}
@media (max-width: 700px) {
  .mw-shell[data-view="plan"] .mw-plan-chat-view .mw-opening-compact p { margin-top: 4px; }
  .mw-plan-chat-view .mw-amelia-inline { height: min(56dvh, 470px); }
  /* The fade (14px) is shorter than the thread's existing 16px bottom padding, so it only ever covers
     padding; scroll padding keeps a focused card's ring above it. */
  body.mw-active .mw-shell[data-view="plan"] .mw-amelia-inline-host .tp-thread {
    scroll-padding-bottom: 28px;
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 14px), transparent);
    mask-image: linear-gradient(to bottom, #000 calc(100% - 14px), transparent);
  }
  /* The caption stays on the map so the band keeps one height (smoke pins it), as a compact corner
     label rather than a card over the sphere. */
  .mw-shell[data-view="plan"] .mw-globe-caption {
    top: 8px;
    left: 10px;
    max-width: min(260px, calc(100% - 20px));
    padding: 4px 8px;
  }
  .mw-shell[data-view="plan"] .mw-globe-caption strong { font-size: 15px; line-height: 1.25; }
  .mw-shell[data-view="plan"] .mw-globe-caption span { margin-top: 2px; font-size: 12px; line-height: 1.35; }
}

/* Lane D, second look #2 (2026-09-29): fare detail. On a desktop the Outlier detail panel sits over the
   globe's right side, so while it is open the map stops at the panel's edge: the globe re-measures and
   the route it draws stays in view instead of running under the panel. The panel's signal is the same
   dot label as the classic fare rows. */
/* From 1200px wide only: narrower desktops leave too small a globe beside the panel. */
@media (min-width: 1200px) {
  .mw-shell[data-view="explore"][data-detail-open="true"] .mw-globe .atlas-stage {
    right: clamp(360px, 30vw, 440px) !important;
  }
  /* The map is a grid item sized by its drawn canvas; let it shrink so globe.js sees the new width. */
  .mw-shell[data-view="explore"][data-detail-open="true"] .mw-globe .atlas-stage #map {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden;
  }
}
.mw-shell:not([data-board-preview]) .mw-inspector .mw-inspector-signal:is(.mw-signal-outlier, .mw-signal-gold, .mw-signal-sweet) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--mw-ink);
  font-weight: 600;
}
.mw-shell:not([data-board-preview]) .mw-inspector .mw-inspector-signal:is(.mw-signal-outlier, .mw-signal-gold, .mw-signal-sweet)::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--fo-signal-dot, #5b3ba6);
}
.mw-inspector .mw-signal-outlier { --fo-signal-dot: var(--cat-outlier-line, #5b3ba6); }
.mw-inspector .mw-signal-sweet { --fo-signal-dot: var(--cat-sweet-line, #c2455f); }
.mw-inspector .mw-signal-gold { --fo-signal-dot: var(--cat-gold-line, #d4a017); }
/* On a phone the Outlier fare sheet covers the lower half; room under the page lets the globe, and the
   route it now draws, scroll up above the sheet (openDetail calls revealPlanGlobe). */
@media (max-width: 899px) {
  .mw-shell[data-view="explore"][data-detail-open="true"] .mw-main { padding-bottom: 60dvh; }
}
/* Outlier's phone band (below its ledger): the whole sphere at a fixed height (the legacy #map offset
   reset), the sweep line read under the map instead of over half of it, and the caption a compact
   corner label, so a fare opened from the ledger shows its route whole above the sheet. */
@media (max-width: 899px) {
  .mw-shell:not([data-board-preview])[data-view="explore"] .mw-globe {
    flex: 0 0 auto;
    min-height: 0;
  }
  .mw-shell:not([data-board-preview])[data-view="explore"] .mw-globe .atlas-stage {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    overflow: visible;
  }
  .mw-shell:not([data-board-preview])[data-view="explore"] .mw-globe .atlas-stage #map {
    height: 240px !important;
    margin: 0 !important;
    overflow: hidden;
  }
  body.mw-active .mw-shell:not([data-board-preview])[data-view="explore"] .jk-proof {
    position: static;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 2px 16px 12px;
    line-height: 1.4;
    border: 0;
    background: transparent;
    color: var(--mw-muted);
  }
  .mw-shell:not([data-board-preview])[data-view="explore"] .mw-globe-caption {
    top: 8px;
    left: 10px;
    max-width: min(260px, calc(100% - 20px));
    padding: 4px 8px;
  }
  .mw-shell:not([data-board-preview])[data-view="explore"] .mw-globe-caption strong { font-size: 15px; line-height: 1.25; }
  .mw-shell:not([data-board-preview])[data-view="explore"] .mw-globe-caption span { margin-top: 2px; font-size: 12px; line-height: 1.35; }
}

/* Lane D, second look #1 (2026-09-29): About this test on the member scale. The heading matches For you
   (650, 30px; 28px on a phone), the board's counts are one plain line instead of a banner of big numbers,
   the section heading has its full width, and the steps read in the one sans (the 24px serif step titles
   and mono step numbers were the last off-system type in the member app). */
.mw-pilot .mw-opening h1 {
  margin: 6px 0 8px;
  font: 650 30px/1.12 var(--mw-sans);
  letter-spacing: -.025em;
}
.mw-pilot .mw-opening p { font: 400 14px/1.5 var(--mw-sans); }
.mw-pilot .mw-pilot-counts {
  margin: 0;
  color: var(--mw-ink);
  font: 400 14px/1.5 var(--mw-sans);
  font-variant-numeric: tabular-nums;
}
.mw-pilot .mw-section-head { display: block; }
.mw-pilot .mw-section-head h2 { margin: 2px 0 6px; font: 650 20px/1.25 var(--mw-sans); letter-spacing: -.01em; }
.mw-pilot .mw-section-head p { margin: 0 0 12px; font: 400 14px/1.5 var(--mw-sans); }
.mw-pilot .mw-pilot-step h3 { font: 650 17px/1.3 var(--mw-sans); letter-spacing: 0; }
/* "What Flight Outlier does not do": the sign-in card's own block, copied here word for word (dontDoMarkup). */
.mw-pilot .mw-pilot-dont-do h3 { margin: 0 0 8px; font: 650 20px/1.25 var(--mw-sans); letter-spacing: -.01em; }
.mw-pilot .mw-pilot-dont-do ul { margin: 0; padding: 0 0 0 20px; font: 400 14px/1.5 var(--mw-sans); }
.mw-pilot .mw-pilot-dont-do li + li { margin-top: 8px; }
.mw-pilot .mw-pilot-step p { font-size: 13px; line-height: 1.5; }
.mw-pilot .mw-pilot-step::before {
  color: var(--mw-violet-deep);
  font: 600 12px/1.3 var(--mw-sans);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 700px) {
  .mw-pilot .mw-opening h1 { font-size: 28px; }
}
.mw-pilot .mw-section-head p { max-width: none; text-align: left; }
/* About's phone globe (under its content): the whole sphere at a fixed height, the sweep line under the
   map, and the caption under both (below). Outlier keeps its caption on the map because its band must
   keep one height when a fare opens (smoke pins it); About has no such panel. */
@media (max-width: 899px) {
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe { flex: 0 0 auto; min-height: 0; }
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe .atlas-stage {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    overflow: visible;
  }
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe .atlas-stage #map {
    height: 240px !important;
    margin: 0 !important;
    overflow: hidden;
  }
  body.mw-active .mw-shell:not([data-board-preview])[data-view="pilot"] .jk-proof {
    position: static;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 2px 16px 12px;
    line-height: 1.4;
    border: 0;
    background: transparent;
    color: var(--mw-muted);
  }
  /* The caption reads under the map and its sweep line: on the small band a box over it hid New York. */
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe { display: flex; flex-direction: column; }
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe .atlas-stage { order: 0; }
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe-caption {
    position: static;
    order: 1;
    inset: auto;
    max-width: none;
    margin: 0;
    padding: 8px 16px 4px;
    border: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
  }
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe-caption strong { font-size: 15px; line-height: 1.25; }
  .mw-shell:not([data-board-preview])[data-view="pilot"] .mw-globe-caption span { margin-top: 2px; font-size: 12px; line-height: 1.35; }
}

/* Lane D, second look #4 (2026-09-29): Amelia's route cards on a desktop map. They sit clear of the
   sweep line (which wraps to two or three lines at the map's foot) instead of covering its first line,
   and their signal is the same dot label as the fare rows (classic; the Board keeps its own). The cards
   themselves already follow her structured results (receiveAmeliaResults), never her prose. */
@media (min-width: 900px) {
  /* Only while no fare is open: the detail panel is sized to end just above the tray's usual place. */
  .mw-shell[data-view="plan"]:not([data-detail-open="true"]) .mw-globe-routes { bottom: 76px; }
}
.mw-shell:not([data-board-preview])[data-view="plan"] .mw-globe-routes small:is([data-signal="outlier"], [data-signal="gold"], [data-signal="sweet"]) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--mw-ink);
  font-weight: 600;
}
.mw-shell:not([data-board-preview])[data-view="plan"] .mw-globe-routes small:is([data-signal="outlier"], [data-signal="gold"], [data-signal="sweet"])::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--fo-signal-dot, #5b3ba6);
}
.mw-shell[data-view="plan"] .mw-globe-routes small[data-signal="outlier"] { --fo-signal-dot: var(--cat-outlier-line, #5b3ba6); }
.mw-shell[data-view="plan"] .mw-globe-routes small[data-signal="sweet"] { --fo-signal-dot: var(--cat-sweet-line, #c2455f); }
.mw-shell[data-view="plan"] .mw-globe-routes small[data-signal="gold"] { --fo-signal-dot: var(--cat-gold-line, #d4a017); }

/* Lane D, combined review (2026-09-29): a vertical swipe that starts on the Outlier or About phone map
   scrolls the page, as on For you and Balances (globe.js sets touch-action:none on its canvas). */
@media (max-width: 899px) {
  .mw-shell:is([data-view="explore"], [data-view="pilot"]) .mw-globe #map canvas { touch-action: pan-y !important; }
}

/* Lane D, first run (2026-09-30): a member with no saved balances sees "Add your points" before the fares
   on a phone too, as one line and a button, so it sits in the first screen with the first fare still
   whole. The reason sentence stays for screen readers and returns at desktop width. On an empty
   Balances page the add button leads the section. */
.mw-balances-first > .mw-actions { margin: 0 0 24px; }
.mw-balances .mw-empty p strong { color: var(--mw-ink); font-weight: 600; }
@media (max-width: 899px) {
  .mw-for-you .mw-landing-fares > .mw-points-strip.is-empty {
    order: -1;
    flex-wrap: nowrap;
    gap: 12px;
    margin: 0 0 4px;
    padding: 8px 0;
    border-top: 0;
  }
  .mw-for-you .mw-points-strip.is-empty p { flex: 1 1 auto; font-size: 14px; line-height: 1.35; }
  /* Clear of the sticky header when Save brings the fares back up. */
  .mw-for-you .mw-landing-fares { scroll-margin-top: 140px; }
  .mw-for-you .mw-points-strip.is-empty .mw-button { flex: none; min-height: 44px; padding: 0 16px; }
  .mw-for-you .mw-points-strip.is-empty .mw-points-why {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* Lane D, first run #3 (2026-09-30): the line that says For you follows the member's setup, with its
   one-tap "See all routes". Muted 13px like the points strip; on a phone it sits with the strip above
   the fares. */
.mw-setup-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 12px;
  margin: 0 0 6px;
  color: var(--mw-muted);
  font: 400 13px/1.4 var(--mw-sans);
}
.mw-setup-line p { flex: 1 1 200px; min-width: 0; margin: 0; }
p.mw-setup-line { display: block; padding: 6px 0; }
@media (max-width: 899px) {
  .mw-for-you .mw-landing-fares > .mw-setup-line { order: -1; }
}

/* Lane D, points fares updating (2026-10-06): the withheld notice's one action, on every width (a phone
   hides .mw-explore .mw-actions), and the history heading in sentence case (house style). */
.mw-withheld-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; }
.mw-withheld-actions .mw-button { min-height: 44px; font-size: 14px; padding: 0 18px; }

/* Lane D fix-forward (2026-10-06): the withheld notice and the history list share the Outlier section's
   list row, scrolling there like the list does, so nothing draws over the notice or its button. */
.mw-withheld-block { min-height: 0; overflow: auto; }
/* Lane D first tester (2026-10-06): the one line that says what the fare labels mean, under the For you
   fares. On a phone it follows the fares (the ledger leads), like the caution. */
.mw-signal-key { margin: 10px 0 0; }
@media (max-width: 899px) {
  .mw-for-you .mw-landing-fares > .mw-signal-key { order: 1; }
}


/* ===================================================================================================
   CONCEPT C, "MAP AND SHEET" (Ryan's pick 2026-10-08; the member app, ?fo_design=0 the one-week rollback)
   A light map is the canvas; one rounded sheet holds the list, the fare detail and Amelia. Figtree on an
   even scale (40/20/16/14), violet #5b3ba6 only for state, spacing instead of rules, pills only as price pins.
   Everything here is scoped to .mw-shell[data-design="c"]; members see no change.
   =================================================================================================== */
.mw-shell[data-design="c"] {
  --c-ink: #16141c;
  --c-ink2: #55525e;
  --c-ink3: #6e6b78;
  --c-violet: #5b3ba6;
  --c-tint: #f3f0fa;
  --c-shadow: 0 1px 2px rgba(22, 20, 28, .06), 0 8px 32px rgba(22, 20, 28, .10);
  --c-sheet-w: 424px;
  /* palette tokens (base = the violet-only ruling); ?fo_palette=warm|cool overrides them below */
  --c-land: #ebeaee;
  --c-ocean: #ffffff;
  --c-border: #ffffff;
  --c-ok: #5b3ba6;
  --c-ok-tint: #f3f0fa;
  --c-close: #6e6b78;
  --c-head: transparent;
  display: block !important;
  font-family: Figtree, system-ui, sans-serif;
  color: var(--c-ink);
  background: #fff;
  font-variant-numeric: tabular-nums;
}

/* the production globe, restyled as a flat light map (engine CSS vars; no fork) */
.mw-shell[data-design="c"] #map {
  --globe-land: var(--c-land);
  --globe-ocean: var(--c-ocean);
  --globe-border: var(--c-border);
  --globe-graticule: none;
  --globe-limb: none;
  --globe-new-ring: none;
  --cat-weekend-line: #5b3ba6;
  --cat-one_week-line: #5b3ba6;
  --cat-two_weeks-line: #5b3ba6;
  --cat-outlier-line: #5b3ba6;
  --cat-sweet-line: #5b3ba6;
  --cat-gold-line: #5b3ba6;
  --cat-all-line: #5b3ba6;
  --ink: #16141c;
}

/* header: the brand sits at the top of the sheet; nav and account float top right */
.mw-shell[data-design="c"] .mw-header {
  display: contents !important;
}
.mw-shell[data-design="c"] .mw-brand {
  position: absolute;
  z-index: 7;
  top: 30px;
  left: 40px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-ink);
  font: 700 16px/1 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-origin,
.mw-shell[data-design="c"] .mw-ask-amelia,
.mw-shell[data-design="c"] .mw-globe-caption,
.mw-shell[data-design="c"] .mw-globe-legend,
.mw-shell[data-design="c"] .mw-globe-routes,
.mw-shell[data-design="c"] #jkProof {
  display: none !important;
}
.mw-shell[data-design="c"] .mw-nav {
  position: absolute;
  z-index: 7;
  top: 16px;
  right: 76px;
  display: flex;
  height: auto !important;
  align-items: center !important;
  gap: 2px;
  padding: 4px;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--c-shadow);
}
.mw-shell[data-design="c"] .mw-nav button {
  min-height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: none;
  color: var(--c-ink2);
  font: 600 14px/1 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-nav button::after { display: none; }
.mw-shell[data-design="c"] .mw-nav button[aria-current="page"],
.mw-shell[data-design="c"] .mw-nav button[aria-pressed="true"],
.mw-shell[data-design="c"] .mw-nav button.is-active {
  background: var(--c-tint);
  color: var(--c-violet);
}
.mw-shell[data-design="c"] .mw-account {
  position: absolute;
  z-index: 7;
  top: 16px;
  right: 16px;
  min-width: 52px;
  min-height: 52px;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--c-shadow);
  color: var(--c-ink);
  font: 600 12px/1 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-account > span:first-child {   /* the icon carries it; the name stays for readers */
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* the canvas: map full bleed under one floating sheet */
.mw-shell[data-design="c"] .mw-main {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  overflow: hidden !important;
}
.mw-shell[data-design="c"] .mw-globe {
  position: absolute !important;
  inset: 0 !important;
  border: 0 !important;
  background: #fff !important;
}
.mw-shell[data-design="c"][data-view] .mw-globe .atlas-stage {   /* the map fills its zone at every size and view */
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  transform: none !important;
}
.mw-shell[data-design="c"][data-view] .mw-globe .atlas-stage #map {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}
.mw-shell[data-design="c"] .mw-content {
  position: absolute !important;
  z-index: 4;
  top: 16px;
  bottom: 16px;
  left: 16px;
  width: var(--c-sheet-w);
  box-sizing: border-box;
  overflow: auto !important;
  padding: 70px 0 8px;
  border: 0 !important;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: var(--c-shadow);
  overscroll-behavior: contain;
}
.mw-shell[data-design="c"] .mw-content > .mw-origin-disclosure { margin: 0 24px 12px; }

/* sheet: For you */
.mw-shell[data-design="c"] .mw-c-sheet { padding: 0; }
.mw-shell[data-design="c"] .mw-c-head { padding: 0 24px 12px; }
.mw-shell[data-design="c"] .mw-c-titlerow { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mw-shell[data-design="c"] .mw-c-titlerow h1 {
  margin: 0;
  font: 700 20px/1.2 Figtree, system-ui, sans-serif;
  letter-spacing: -.01em;
}
.mw-shell[data-design="c"] .mw-c-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-violet);
  cursor: pointer;
  font: 600 14px/1.3 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-meta-line {
  margin: 0;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-meta-line b { color: var(--c-ink); font-weight: 600; }
.mw-shell[data-design="c"] .mw-c-meta-line .mw-c-link { display: inline-flex; align-items: center; min-height: 44px; margin: -10px 0 -10px 4px; vertical-align: middle; }
.mw-shell[data-design="c"] .mw-c-summary {
  margin: 12px 0 0;
  font: 400 16px/1.45 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-summary span { color: var(--c-ok); font-weight: 600; }
.mw-shell[data-design="c"] .mw-c-head { background: var(--c-head); }
.mw-shell[data-design="c"] .mw-c-fares { padding: 0 8px; }
.mw-shell[data-design="c"] .mw-c-list { display: grid; gap: 0; }
.mw-shell[data-design="c"] .mw-c-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
  row-gap: 2px;
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 10px 16px;
  border: 0 !important;
  border-radius: 12px;
  background: none !important;
  box-shadow: none !important;
  color: var(--c-ink);
  cursor: pointer;
  text-align: left;
}
.mw-shell[data-design="c"] .mw-c-row:hover,
.mw-shell[data-design="c"] .mw-c-row[aria-current="true"] { background: var(--c-tint) !important; }
.mw-shell[data-design="c"] .mw-c-row:focus-visible { outline: 2px solid var(--c-violet); outline-offset: 2px; }
.mw-shell[data-design="c"] .mw-c-city { font: 600 16px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-fare {
  font: 400 14px/1.3 Figtree, system-ui, sans-serif;
  color: var(--c-ink3);
  text-align: right;
  white-space: nowrap;
}
.mw-shell[data-design="c"] .mw-c-fare b { display: inline !important; color: var(--c-ink); font: 600 16px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-fare small { display: inline !important; margin: 0 !important; font-size: 14px; }
.mw-shell[data-design="c"] .mw-c-row > span { display: block; margin: 0; }
.mw-shell[data-design="c"][data-detail-open="true"] .mw-brand { display: none; }
.mw-shell[data-design="c"] .mw-c-meta {   /* never truncated: a long line 2 wraps for that row only */
  min-width: 0;
  color: var(--c-ink2);
  font: 400 14px/1.35 Figtree, system-ui, sans-serif;
  white-space: normal;
}
.mw-shell[data-design="c"] .mw-c-item { white-space: nowrap; }
.mw-shell[data-design="c"] .mw-c-signal { color: var(--c-violet); font: 600 14px/1.3 Figtree, system-ui, sans-serif; font-style: normal; }
.mw-shell[data-design="c"] .mw-c-verdict {
  color: var(--c-ink3);
  font: 400 14px/1.35 Figtree, system-ui, sans-serif;
  text-align: right;
  white-space: nowrap;
}
.mw-shell[data-design="c"] .mw-c-verdict.is-ok { color: var(--c-ok); font-weight: 600; }
/* the card's caveats under a For you or Outlier row (adapter.getRowFacts), as under Amelia's rows */
.mw-shell[data-design="c"] .mw-c-row > .mw-c-fact {
  grid-column: 1 / -1;
  color: var(--c-ink2);
  font: 400 14px/1.4 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-verdict.is-close { color: var(--c-close); font-weight: 600; }
.mw-shell[data-design="c"] .mw-c-row[data-c-fund="ok"] { background: var(--c-ok-tint) !important; }
.mw-shell[data-design="c"] .mw-c-row.is-lit { box-shadow: inset 0 0 0 1.5px var(--c-violet) !important; }
.mw-shell[data-design="c"] .mw-c-sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.mw-shell[data-design="c"] .mw-c-more { margin: 4px 16px 0; }
.mw-shell[data-design="c"] .mw-c-note,
.mw-shell[data-design="c"] .mw-c-foot {
  margin: 12px 24px 0;
  color: var(--c-ink3);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-empty { padding: 8px 16px 0; }
.mw-shell[data-design="c"] .mw-c-empty h2 { margin: 0 0 6px; font: 700 20px/1.25 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-empty p { margin: 0 0 8px; color: var(--c-ink2); font: 400 16px/1.45 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 8px; }
.mw-shell[data-design="c"] .mw-c-files { margin: 28px 0 0; padding: 0 8px; }
.mw-shell[data-design="c"] .mw-c-files h2 { margin: 0 16px 6px; font: 700 16px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-files .mw-ledger { border: 0; }
.mw-shell[data-design="c"] .mw-c-files .mw-row { border-radius: 12px; border-bottom: 0; }

/* the fare detail opens in the sheet (the inspector takes the sheet's own place) */
.mw-shell[data-design="c"][data-detail-open="true"] .mw-inspector {
  position: absolute !important;
  z-index: 5 !important;
  inset: 16px auto 16px 16px !important;
  display: block !important;
  width: var(--c-sheet-w) !important;
  height: auto !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: var(--c-shadow) !important;
  animation: none !important;
}
.mw-shell[data-design="c"] .mw-inspector-scroll { height: 100%; padding: 16px 24px 20px; overflow: auto; box-sizing: border-box; }
.mw-shell[data-design="c"] .mw-inspector-close {
  position: static !important;
  display: inline-flex !important;
  float: none !important;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  margin: 0 0 4px !important;
  padding: 0;
  border: 0;
  background: none !important;
  color: var(--c-ink2);
  cursor: pointer;
  font: 600 14px/1 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-inspector-label { margin: 0; color: var(--c-ink3); font: 400 14px/1.4 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-inspector h2 { margin: 2px 0 0; font: 700 40px/1.1 Figtree, system-ui, sans-serif; letter-spacing: -.02em; }
.mw-shell[data-design="c"] .mw-inspector-route { margin: 4px 0 0; color: var(--c-ink2); font: 400 14px/1.4 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-inspector-fare {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: 16px;
  color: var(--c-ink2); font: 400 14px/1.4 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-inspector-fare .mw-fare-line:first-child { color: var(--c-ink); font: 700 20px/1.2 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-inspector-signal { margin-left: auto; color: var(--c-violet); font-weight: 600; }
.mw-shell[data-design="c"] .mw-c-fund {
  margin: 16px 0 0;
  padding: 16px;
  border-radius: 16px;
  background: var(--c-tint);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-fund p { margin: 0; }
.mw-shell[data-design="c"] .mw-c-fund[data-fund-state="ok"] { background: var(--c-ok-tint); }
.mw-shell[data-design="c"] .mw-c-fund[data-fund-state="ok"] p:first-child { color: var(--c-ok); font-weight: 600; }
.mw-shell[data-design="c"] .mw-c-fund-caution { margin-top: 8px !important; color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-itinerary { margin-top: 16px; border: 0; }
/* spacing in place of rules inside the detail */
.mw-shell[data-design="c"] .mw-inspector-scroll :is(.mw-inspector-fare, .mw-itinerary, .mw-itinerary > *, .mw-trip-facts,
  .mw-trip-facts > div, .mw-inspector-route, .mw-inspector-trust, .mw-inspector-actions) {
  border: 0 !important;
  box-shadow: none !important;
}
.mw-shell[data-design="c"] .mw-itinerary > * + * { margin-top: 12px; }
.mw-shell[data-design="c"] .mw-trip-facts > div { padding: 6px 0; }
/* a fare opened from For you keeps For you lit in the nav (the detail rides the Outlier path) */
.mw-shell[data-design="c"][data-c-from="for-you"] .mw-nav button[data-mw-view="for-you"] { background: var(--c-tint); color: var(--c-violet); }
.mw-shell[data-design="c"][data-c-from="for-you"] .mw-nav button[data-mw-view="explore"] { background: none; color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-trip-facts { margin-top: 16px; }
.mw-shell[data-design="c"] .mw-inspector-trust { color: var(--c-ink3); font: 400 14px/1.45 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-inspector-actions { display: grid; gap: 8px; margin-top: 16px; }
.mw-shell[data-design="c"] .mw-inspector-actions a,
.mw-shell[data-design="c"] .mw-inspector-actions .mw-button {
  min-height: 48px;
  border-radius: 14px;
  font: 600 16px/1.2 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-inspector-actions > :first-child {
  background: var(--c-violet) !important;
  border-color: var(--c-violet) !important;
  color: #fff !important;
}
.mw-shell[data-design="c"] .mw-inspector-actions > :not(:first-child) {
  background: none !important;
  border: 0 !important;
  color: var(--c-violet) !important;
}

/* price pins and dots over the map (labels, not controls: the rows are the controls) */
.mw-shell[data-design="c"] .mw-c-pins { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
/* Zoom on a wider screen: + and − at the map's lower right (a phone pinches). */
.mw-shell[data-design="c"] .mw-c-zoom { position: absolute; right: 24px; bottom: 32px; z-index: 3; display: flex; flex-direction: column;
  border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(22, 20, 28, .08), 0 6px 20px rgba(22, 20, 28, .14); overflow: hidden; }
.mw-shell[data-design="c"] .mw-c-zoom button { width: 44px; height: 44px; border: 0; background: #fff; color: var(--c-ink);
  font: 600 22px/1 var(--mw-sans); cursor: pointer; }
.mw-shell[data-design="c"] .mw-c-zoom button + button { border-top: 1px solid #ecebf0; }
.mw-shell[data-design="c"] .mw-c-zoom button:hover { background: #f4f3f7; }
.mw-shell[data-design="c"] .mw-c-zoom button:focus-visible { outline: 2px solid var(--c-violet); outline-offset: -2px; }
@media (max-width: 767px) { .mw-shell[data-design="c"] .mw-c-zoom { display: none; } }
.mw-shell[data-design="c"] .mw-c-leaders { position: absolute; inset: 0; overflow: visible; }
.mw-shell[data-design="c"] .mw-c-leaders line { stroke: var(--c-ink); stroke-opacity: .55; stroke-width: 1.25; stroke-linecap: round; }
.mw-shell[data-design="c"] .mw-c-leaders line.is-on { stroke: var(--c-violet); stroke-opacity: 1; stroke-width: 1.5; }
.mw-shell[data-design="c"] .mw-c-pin {
  position: absolute;
  height: 30px;
  padding: 0 11px;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(22, 20, 28, .12), 0 2px 8px rgba(22, 20, 28, .10);
  color: var(--c-ink);
  font: 700 14px/30px Figtree, system-ui, sans-serif;
  white-space: nowrap;
}
.mw-shell[data-design="c"] .mw-c-pin i { margin-right: 4px; font-style: normal; }
@media (max-width: 767px) {
  .mw-shell[data-design="c"] .mw-c-pin:not(.is-origin-label) { height: 26px; padding: 0 8px; border-radius: 13px; font-size: 12px; line-height: 26px; }
}
.mw-shell[data-design="c"] .mw-c-pin.is-ok { color: var(--c-ok); }
/* a close fare's pin stays neutral: on the map there are no words beside it, and colour never stands alone */
.mw-shell[data-design="c"] .mw-c-pin.is-lit { z-index: 3; box-shadow: 0 0 0 2px var(--c-violet), 0 2px 8px rgba(22, 20, 28, .14); }
.mw-shell[data-design="c"] .mw-c-dot.is-lit { border-color: var(--c-violet); background: var(--c-violet); }
@media (min-width: 768px) { .mw-shell[data-design="c"] .mw-c-pin { pointer-events: auto; cursor: default; } }
.mw-shell[data-design="c"] .mw-c-pin.is-on { z-index: 3; background: var(--c-violet); color: #fff; }
.mw-shell[data-design="c"] .mw-c-pin-city { font-weight: 500; }
.mw-shell[data-design="c"] .mw-c-pin.is-origin-label {
  height: auto; padding: 0; background: none; box-shadow: none; color: var(--c-ink2); font-weight: 600; line-height: 1.2;
}
.mw-shell[data-design="c"] .mw-c-dot {
  position: absolute;
  width: 8px;
  height: 8px;
  margin: -5.5px 0 0 -5.5px;
  border: 1.5px solid var(--c-ink);
  border-radius: 50%;
  background: #fff;
}
.mw-shell[data-design="c"] .mw-c-dot.is-origin { width: 10px; height: 10px; margin: -6.5px 0 0 -6.5px; background: var(--c-ink); box-shadow: 0 0 0 3px #fff, 0 0 0 4.5px var(--c-ink); }

/* phones: a map strip over a sheet that scrolls with the page; the sections move to a bottom bar */
@media (max-width: 767px) {
  .mw-shell[data-design="c"] .mw-main {
    display: flex !important;
    flex-direction: column;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .mw-shell[data-design="c"] .mw-globe {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    order: 0 !important;
    height: max(260px, 35vh);
    min-height: 260px;
  }
  .mw-shell[data-design="c"] .mw-content {
    position: relative !important;
    flex: 0 0 auto !important;
    order: 1 !important;
    top: auto;
    bottom: auto;
    left: auto;
    width: auto;
    min-height: calc(65vh + 20px);
    margin-top: -20px;
    padding: 18px 0 96px;
    overflow: visible !important;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -4px 20px rgba(22, 20, 28, .08);
  }
  .mw-shell[data-design="c"] .mw-content::before {
    content: "";
    display: block;
    width: 36px;
    height: 5px;
    margin: -10px auto 8px;
    border-radius: 3px;
    background: #d6d4dc;
  }
  .mw-shell[data-design="c"] .mw-c-head { padding: 0 16px 8px; }
  .mw-shell[data-design="c"] .mw-c-summary { margin-top: 6px; font-size: 14px; }
  .mw-shell[data-design="c"] .mw-c-fares { padding: 0; }
  .mw-shell[data-design="c"] .mw-c-row { padding: 9px 16px; border-radius: 0; min-height: 56px; }
  /* an edge-to-edge row draws its focus ring just inside (as Amelia's rows do): outside it, the screen's edge cuts it */
  .mw-shell[data-design="c"] .mw-c-row:focus-visible { outline-offset: -2px; }
  .mw-shell[data-design="c"] .mw-c-foot,
  .mw-shell[data-design="c"] .mw-c-note { margin-left: 16px; margin-right: 16px; }
  .mw-shell[data-design="c"] .mw-c-files { padding: 0; }
  .mw-shell[data-design="c"] .mw-brand {
    position: fixed;
    top: 12px;
    left: 16px;
    padding: 0 12px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 6px rgba(22, 20, 28, .10);
  }
  .mw-shell[data-design="c"] .mw-account {
    position: fixed;
    top: 12px;
    right: 16px;
    min-width: 44px;
    min-height: 44px;
    border-radius: 12px;
  }
  .mw-shell[data-design="c"] .mw-nav {
    position: fixed;
    z-index: 8;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    justify-content: space-around;
    gap: 0;
    padding: 4px 4px calc(4px + env(safe-area-inset-bottom));
    border-radius: 0;
    box-shadow: 0 -1px 0 rgba(22, 20, 28, .06), 0 -6px 20px rgba(22, 20, 28, .08);
  }
  .mw-shell[data-design="c"] .mw-nav button { flex: 1 1 0; padding: 0 4px; font-size: 12px; line-height: 1.15; }
  .mw-shell[data-design="c"][data-detail-open="true"] .mw-inspector {   /* above the bottom bar, never under it */
    position: fixed !important;
    inset: auto 0 calc(52px + env(safe-area-inset-bottom)) 0 !important;
    width: auto !important;
    height: min(calc(78dvh - 52px), 640px) !important;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -8px 32px rgba(22, 20, 28, .16) !important;
  }
}
/* Palette previews (Ryan, 2026-10-08: "a bit more color"). Colour carries meaning only: geography (land and
   water), status (covered, close) and selection (violet). Every status colour sits beside its words; text pairs
   meet WCAG AA 4.5:1 on white and on their tints. */
.mw-shell[data-design="c"][data-c-palette="warm"] {   /* V1 warm: sand land, pale sky water */
  --c-land: #efe6da;
  --c-ocean: #eaf3f9;
  --c-border: #fbf8f3;
  --c-ok: #1d6b4f;       /* deep green: 6.4:1 on white, 5.6:1 on the mint */
  --c-ok-tint: #e3f4ec;
  --c-close: #8a5300;    /* dark amber: 6.3:1 on white */
}
.mw-shell[data-design="c"][data-c-palette="cool"] {   /* V2 cool pastel: slate land, white water, cyan and mint panels */
  --c-land: #cfd9e4;
  --c-ocean: #ffffff;
  --c-border: #ffffff;
  --c-ok: #0f6b62;       /* teal: 6.4:1 on white, 5.8:1 on the mint */
  --c-ok-tint: #dcfcf3;
  --c-close: #8a5300;
  --c-head: #e9fcff;
}
.mw-shell[data-design="c"][data-c-palette="cool"] .mw-c-head { margin: -70px 0 12px; padding-top: 70px; border-radius: 20px 20px 0 0; }
@media (max-width: 767px) {
  .mw-shell[data-design="c"][data-c-palette="cool"] .mw-c-head { margin: -28px 0 8px; padding-top: 28px; }
}
/* Map identity previews (?fo_map=atlas|lightup|both; Ryan, 2026-10-08). Atlas: muted mid-century pastels, no two
   neighbours alike, on a faint paper-blue sea; the white pins and the violet route stay the loudest things. Light up:
   neutral sand with the member's covered (green) and close (amber) countries, from GF's verdicts (set by the
   workspace through the engine's setCountryFill). Both: the pastels with covered countries stronger and outlined. */
.mw-shell[data-design="c"]:is([data-c-map="atlas"], [data-c-map="both"]) #map {
  --globe-land-mode: atlas;
  --globe-land: #ecdcc6, #dce6cc, #e9d3cf, #d4e1e6, #ebe1bf, #ddd4e7;
  --globe-ocean: #edf2f1;
  --globe-border: #fbf9f4;
}
.mw-shell[data-design="c"][data-c-map="lightup"] #map {
  --globe-land: #efe6da;
  --globe-ocean: #eaf3f9;
  --globe-border: #fbf8f3;
}
/* The brand is the sheet's app bar: a band in the sheet's own top colour, so a scrolled sheet slides under it and
   never under the bare word (wider screens; on a phone the brand is its own pill over the map). */
@media (min-width: 768px) {
  .mw-shell[data-design="c"] .mw-brand {
    top: 16px;
    left: 16px;
    width: var(--c-sheet-w);
    height: 62px;
    box-sizing: border-box;
    padding: 0 24px;
    border-radius: 20px 20px 0 0;
    background: var(--c-head-band, #fff);
    align-items: center;
  }
  .mw-shell[data-design="c"][data-c-palette="cool"] { --c-head-band: var(--c-head); }
}
/* Your Trip Files in the sheet: the previous For you's section (one shared body), set in C's own language. Rows are
   two lines without numbers, the watch action is a text link, and the filters are underlined text tabs (pills stay
   price pins only). Every word and verdict is the shared section's own. */
.mw-shell[data-design="c"] .mw-c-files .mw-saved-summary,
.mw-shell[data-design="c"] .mw-c-files .mw-watch-setup,
.mw-shell[data-design="c"] .mw-c-files .mw-disclaimer {
  margin: 2px 16px 6px;
  color: var(--c-ink2);
  font: 400 14px/1.4 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-files .mw-empty { margin: 2px 16px 8px; padding: 0; border: 0; background: none; }
.mw-shell[data-design="c"] .mw-c-files .mw-empty h3 { margin: 0 0 4px; font: 600 15px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-files .mw-empty p { margin: 0; color: var(--c-ink2); font: 400 14px/1.4 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-files .mw-button.mw-button-secondary {
  min-height: 44px;
  margin: 0 4px;
  padding: 0 12px;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--c-violet) !important;
  font: 600 14px/1 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-files .mw-actions { margin: 0; padding: 0; }
.mw-shell[data-design="c"] .mw-c-files .mw-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0 4px;
  margin: 4px 12px 6px;
  border: 0;
  background: none;
}
.mw-shell[data-design="c"] .mw-c-files .mw-filters button {
  min-height: 44px;
  padding: 0 10px;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: none !important;
  color: var(--c-ink2);
  font: 500 14px/1 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-files .mw-filters button[aria-pressed="true"] {
  border-bottom-color: var(--c-violet) !important;
  color: var(--c-violet);
  font-weight: 600;
}
.mw-shell[data-design="c"] .mw-c-files .mw-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
  min-height: 56px;
  padding: 10px 16px;
  border: 0 !important;
  background: none !important;
  text-align: left;
}
.mw-shell[data-design="c"] .mw-c-files .mw-row:hover,
.mw-shell[data-design="c"] .mw-c-files .mw-row[aria-current="true"] { background: var(--c-tint) !important; }
.mw-shell[data-design="c"] .mw-c-files .mw-row-number { display: none !important; }
.mw-shell[data-design="c"] .mw-c-files .mw-row strong { display: block; color: var(--c-ink); font: 600 16px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-files .mw-row small {
  display: block;
  margin: 0;
  color: var(--c-ink2);
  font: 400 14px/1.35 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-files .mw-row { grid-template-columns: minmax(0, 1fr) minmax(0, 45%); }
.mw-shell[data-design="c"] .mw-c-files .mw-row-read { display: block; min-width: 0; text-align: right; }
.mw-shell[data-design="c"] .mw-c-files .mw-row-read,
.mw-shell[data-design="c"] .mw-c-files .mw-row-read * { white-space: normal !important; overflow-wrap: anywhere; }
.mw-shell[data-design="c"] .mw-c-files .mw-row-read b { display: block; color: var(--c-ink); font: 600 15px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-files .mw-row-read > span { display: block; font: 400 14px/1.35 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-files .mw-mobile-more { min-height: 44px; margin: 0 4px; padding: 0 12px; border: 0; background: none; color: var(--c-violet); font: 600 14px/1 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-feed-clock { margin: 4px 24px 0; color: var(--c-ink3); font: 400 13px/1.4 Figtree, system-ui, sans-serif; }
/* END CONCEPT C */

/* CONCEPT C: BOARDING PASS */
/* The fare detail as one ticket in the sheet (the owner's pick, 2026-10-08): a paper
   body, a perforation of punched dots and two side notches, and a stub in the covered tint, then the transfer step and
   ONE violet action. Every rule is scoped to .mw-shell[data-design="c"]. Type floor 12px, targets 44px, and every text
   pair meets WCAG AA on the paper, the stub and white (test/design-c-boarding.test.mjs checks the tokens). */
.mw-shell[data-design="c"] .mw-c-bp {
  --c-bp-paper: #f6f4f9;
  --c-bp-track: #ebe8ef;
  --c-bp-sheet: #ffffff;
  padding: 8px 20px 0;
}
.mw-shell[data-design="c"][data-c-palette="warm"] .mw-c-bp { --c-bp-paper: #f8f2ea; --c-bp-track: #ece6dc; }
.mw-shell[data-design="c"][data-c-palette="cool"] .mw-c-bp { --c-bp-paper: #eef3f8; --c-bp-track: #e1e8ef; }
.mw-shell[data-design="c"] .mw-c-bp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 4px 8px;
}
.mw-shell[data-design="c"] .mw-c-bp .mw-inspector-close { margin: 0 !important; font-size: 15px; }
.mw-shell[data-design="c"] .mw-c-bp-signal {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--c-violet);
  font: 600 14px/1.3 Figtree, system-ui, sans-serif;
  text-align: right;
}
.mw-shell[data-design="c"] .mw-c-bp-signal i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mw-shell[data-design="c"] .mw-c-bp-signal.mw-signal-overcap,
.mw-shell[data-design="c"] .mw-c-bp-signal.mw-signal-ideas { color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-c-bp .mw-inspector-rail {
  margin: 0 4px 12px;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-bp-ticket { position: relative; overflow: hidden; border-radius: 18px; }
.mw-shell[data-design="c"] .mw-c-bp-main { padding: 18px 20px; background: var(--c-bp-paper); }
.mw-shell[data-design="c"] .mw-c-bp-cap {
  display: block;
  margin: 0;
  color: var(--c-ink3);
  font: 600 12px/1.3 Figtree, system-ui, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mw-shell[data-design="c"] .mw-c-bp-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mw-shell[data-design="c"] .mw-c-bp-top > div { min-width: 0; }
.mw-shell[data-design="c"] .mw-c-bp-carrier {
  margin: 2px 0 0;
  color: var(--c-ink);
  font: 700 19px/1.25 Figtree, system-ui, sans-serif;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}
.mw-shell[data-design="c"] .mw-c-bp-cabin {
  flex: none;
  margin-top: 2px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #fff;
  color: var(--c-violet);
  font: 600 13px/1.25 Figtree, system-ui, sans-serif;
  white-space: nowrap;
}
.mw-shell[data-design="c"] .mw-c-bp-codes {
  display: grid;
  grid-template-columns: auto minmax(64px, 1fr) auto;
  align-items: end;
  column-gap: 10px;
  margin-top: 16px;
}
.mw-shell[data-design="c"] .mw-c-bp-ap { min-width: 0; margin: 0; }
.mw-shell[data-design="c"] .mw-c-bp-ap b {
  display: block;
  color: var(--c-ink);
  font: 700 46px/1 Figtree, system-ui, sans-serif;
  letter-spacing: -.02em;
}
.mw-shell[data-design="c"] .mw-c-bp-ap span {
  display: block;
  margin-top: 4px;
  color: var(--c-ink2);
  font: 400 14px/1.3 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-bp-ap.is-dest { text-align: right; }
.mw-shell[data-design="c"] .mw-c-bp-via { min-width: 0; padding-bottom: 20px; text-align: center; }
.mw-shell[data-design="c"] .mw-c-bp-via svg { display: block; width: 100%; height: 30px; }
.mw-shell[data-design="c"] .mw-c-bp-via path {
  stroke: var(--c-violet);
  stroke-width: 1.6;
  stroke-dasharray: 3 4;
  stroke-linecap: round;
}
.mw-shell[data-design="c"] .mw-c-bp-via span {
  display: block;
  margin-top: 2px;
  color: var(--c-ink2);
  font: 600 13px/1.25 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-bp-legs { display: grid; gap: 10px; margin-top: 18px; }
.mw-shell[data-design="c"] .mw-c-bp-leg {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 8px;
}
.mw-shell[data-design="c"] .mw-c-bp-d { min-width: 0; color: var(--c-ink2); font: 400 15px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-bp-d small { display: block; color: var(--c-ink3); font: 400 13px/1.3 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-bp-t { color: var(--c-ink); font: 700 17px/1.3 Figtree, system-ui, sans-serif; white-space: nowrap; }
.mw-shell[data-design="c"] .mw-c-bp-t i { color: var(--c-ink3); font-style: normal; font-weight: 400; }
.mw-shell[data-design="c"] .mw-c-bp-t sup { margin-left: 2px; color: var(--c-ink2); font: 600 12px/1 Figtree, system-ui, sans-serif; vertical-align: super; }
.mw-shell[data-design="c"] .mw-c-bp-fields { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 18px 0 0; }
.mw-shell[data-design="c"] .mw-c-bp-fields > div { flex: 1 1 auto; min-width: 0; }
.mw-shell[data-design="c"] .mw-c-bp-fields dt { margin-bottom: 2px; }
.mw-shell[data-design="c"] .mw-c-bp-fields dd {
  margin: 0;
  color: var(--c-ink);
  font: 600 15px/1.3 Figtree, system-ui, sans-serif;
  overflow-wrap: anywhere;
}
/* the perforation: punched dots between two side notches cut in the sheet's own white */
.mw-shell[data-design="c"] .mw-c-bp-perf { position: relative; z-index: 1; height: 0; }
.mw-shell[data-design="c"] .mw-c-bp-perf::before,
.mw-shell[data-design="c"] .mw-c-bp-perf::after {
  content: "";
  position: absolute;
  top: -11px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-bp-sheet);
}
.mw-shell[data-design="c"] .mw-c-bp-perf::before { left: -11px; }
.mw-shell[data-design="c"] .mw-c-bp-perf::after { right: -11px; }
.mw-shell[data-design="c"] .mw-c-bp-perf i {
  position: absolute;
  top: -2px;
  right: 20px;
  left: 20px;
  height: 4px;
  background: radial-gradient(circle at 2px 2px, var(--c-bp-sheet) 1.7px, transparent 2.2px) 0 0 / 10px 4px repeat-x;
}
.mw-shell[data-design="c"] .mw-c-bp-stub {
  display: flex;
  flex-wrap: wrap;   /* the verdict drops under a long price (a two-program fare's legs) rather than squeeze it */
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 18px 20px;
  background: var(--c-ok-tint);
}
.mw-shell[data-design="c"] .mw-c-bp-stub > div { flex: 1 1 auto; min-width: 0; }
.mw-shell[data-design="c"] .mw-c-bp-stub .mw-c-bp-cap { color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-c-bp-fig {
  margin: 2px 0 0;
  color: var(--c-ink);
  font: 700 28px/1.15 Figtree, system-ui, sans-serif;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
.mw-shell[data-design="c"] .mw-c-bp-fig.is-leg { font-size: 20px; line-height: 1.25; }
.mw-shell[data-design="c"] .mw-c-bp-line { margin: 2px 0 0; color: var(--c-ink2); font: 400 14px/1.4 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-bp-stub .mw-c-verdict { flex: none; margin-left: auto; padding-bottom: 2px; font-size: 16px; font-weight: 700; }
.mw-shell[data-design="c"] .mw-c-bp-notes > * { margin: 12px 4px 0; color: var(--c-ink2); font: 400 14px/1.45 Figtree, system-ui, sans-serif; }
/* the transfer step, from GF's plan; without one, GF's funding line (.mw-c-fund) sits here instead */
.mw-shell[data-design="c"] .mw-c-bp-step { display: block; margin-top: 16px; padding: 4px 4px 0; }
.mw-shell[data-design="c"] .mw-c-bp-move { margin: 4px 0 0; color: var(--c-ink); font: 700 17px/1.35 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-bp-bar {
  position: relative;
  height: 8px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 4px;
  background: var(--c-bp-track);
}
.mw-shell[data-design="c"] .mw-c-bp-bar i { position: absolute; top: 0; bottom: 0; left: 0; border-radius: 4px; background: var(--c-violet); }
.mw-shell[data-design="c"] .mw-c-bp-step .mw-c-bp-line { margin-top: 8px; }
.mw-shell[data-design="c"] .mw-c-bp-step .mw-c-bp-line + .mw-c-bp-line { margin-top: 4px; }
.mw-shell[data-design="c"] .mw-c-bp-observed { margin: 14px 4px 0; color: var(--c-ink3); font: 400 13px/1.45 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-bp-honest + .mw-c-bp-observed { margin-top: 2px; }   /* the line it qualifies */
/* ONE violet action, kept in reach at the foot of the sheet; Save and Amelia stay as quiet links under it */
.mw-shell[data-design="c"] .mw-c-bp-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin: 12px -20px 0;
  padding: 12px 20px;
  background: #fff;
  box-shadow: 0 -10px 16px -12px rgba(22, 20, 28, .18);
}
.mw-shell[data-design="c"] .mw-c-bp :is(.mw-c-bp-go, .mw-booking-handoff) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 0;
  border-radius: 14px;
  background: var(--c-violet);
  color: #fff;
  font: 600 16px/1.25 Figtree, system-ui, sans-serif;
  text-align: center;
  text-decoration: none;
}
.mw-shell[data-design="c"] .mw-c-bp :is(.mw-c-bp-go, .mw-booking-handoff):focus-visible { outline: 2px solid var(--c-violet); outline-offset: 3px; }
.mw-shell[data-design="c"] .mw-c-bp .mw-booking-handoff span { margin-left: 6px; }
.mw-shell[data-design="c"] .mw-c-bp .mw-booking-handoff-note {   /* the handoff's own caveat, kept beside its link */
  margin: 8px 0 0;
  color: var(--c-ink2);
  font: 400 13px/1.4 Figtree, system-ui, sans-serif;
  text-align: center;
  text-wrap: balance;
}
.mw-shell[data-design="c"] .mw-c-bp-label { margin: 0 4px 12px; color: var(--c-ink2); font: 600 14px/1.4 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-bp-honest { margin: 16px 4px 0; color: var(--c-ink2); font: 400 14px/1.45 Figtree, system-ui, sans-serif; }
.mw-shell[data-design="c"] .mw-c-bp-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; padding: 0 0 16px; }
.mw-shell[data-design="c"] .mw-c-bp .mw-c-bp-more .mw-button {
  width: auto;
  min-height: 44px;
  padding: 0 8px;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--c-violet);
  font: 600 14px/1.3 Figtree, system-ui, sans-serif;
}
@media (max-width: 767px) {
  .mw-shell[data-design="c"] .mw-c-bp { padding: 4px 12px 0; }
  .mw-shell[data-design="c"] .mw-c-bp-head { margin: 0 4px 6px; }
  .mw-shell[data-design="c"] .mw-c-bp-main { padding: 14px 16px; }
  .mw-shell[data-design="c"] .mw-c-bp-codes { margin-top: 10px; }
  .mw-shell[data-design="c"] .mw-c-bp-ap b { font-size: 40px; }
  .mw-shell[data-design="c"] .mw-c-bp-via { padding-bottom: 18px; }
  .mw-shell[data-design="c"] .mw-c-bp-legs { gap: 6px; margin-top: 12px; }
  .mw-shell[data-design="c"] .mw-c-bp-leg { grid-template-columns: 58px minmax(0, 1fr) auto; }
  .mw-shell[data-design="c"] .mw-c-bp-d { font-size: 14px; }
  .mw-shell[data-design="c"] .mw-c-bp-t { font-size: 16px; }
  .mw-shell[data-design="c"] .mw-c-bp-fields { margin-top: 12px; }
  .mw-shell[data-design="c"] .mw-c-bp-fields dd { font-size: 14px; }
  .mw-shell[data-design="c"] .mw-c-bp-stub { padding: 12px 16px 14px; }
  .mw-shell[data-design="c"] .mw-c-bp-fig { font-size: 24px; }
  .mw-shell[data-design="c"] .mw-c-bp-fig.is-leg { font-size: 18px; }
  .mw-shell[data-design="c"] .mw-c-bp-step { margin-top: 12px; }
  .mw-shell[data-design="c"] .mw-c-bp-move { font-size: 16px; }
  /* The sheet sits above the phone's section bar, never under it: the same inset and height as Lane D's pre-flip
     fix (#1329), so the ticket is right before and after it lands. The action then sticks to the sheet's own foot,
     and, being in the flow, it holds its own height: everything above it scrolls fully clear of it. */
  .mw-shell[data-design="c"][data-detail-open="true"] .mw-inspector:has(.mw-c-bp) {
    inset: auto 0 calc(52px + env(safe-area-inset-bottom)) 0 !important;
    height: min(calc(78dvh - 52px), 640px) !important;
  }
  .mw-shell[data-design="c"] .mw-c-bp-actions { margin: 12px -12px 0; padding: 12px 16px; }
}
/* END CONCEPT C: BOARDING PASS */

/* CONCEPT C: OUTLIER */
/* "Recorded fares from New York" in For you's sheet. It reuses For you's rows, links, empty
   states and foot (the --c-* tokens); this block adds only the quiet Points | Cash toggle, the plain-text signal
   toggles, the two group heads and the stacked legs of a two-program fare. Scoped to .mw-shell[data-design="c"]. */
.mw-shell[data-design="c"] .mw-c-outlier { --c-track: #f1f0f4; }
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-meta-line { margin-top: 4px; }
/* a quiet segmented toggle: one pale track, the chosen half lifted in white (not boxed tabs) */
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-seg {
  display: inline-flex;
  margin: 12px 0 0;
  padding: 2px;
  border-radius: 12px;
  background: var(--c-track);
}
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-seg button {
  min-width: 72px;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  background: none;
  color: var(--c-ink2);
  cursor: pointer;
  font: 600 14px/1 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-seg button[aria-pressed="true"] {
  background: #fff;
  color: var(--c-ink);
  box-shadow: 0 1px 2px rgba(22, 20, 28, .14), 0 0 0 1px rgba(22, 20, 28, .06);
}
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-seg button[aria-disabled="true"] { cursor: progress; }
/* the signal filters: plain words, the chosen one violet and underlined (never colour alone), no pills */
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2px;
  margin: 4px 0 0 -10px;
}
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-signals button {
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--c-ink2);
  cursor: pointer;
  font: 500 14px/1 Figtree, system-ui, sans-serif;
  text-decoration: underline transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-signals button:hover { color: var(--c-ink); }
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-signals button[aria-pressed="true"] {
  color: var(--c-violet);
  text-decoration-color: currentColor;
}
.mw-shell[data-design="c"] .mw-c-outlier :is(.mw-c-seg, .mw-c-signals) button:focus-visible {
  outline: 2px solid var(--c-violet);
  outline-offset: -2px;
}
/* the two groups: standouts first, then the rest, each under a small plain head */
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-group + .mw-c-group { margin-top: 12px; }
.mw-shell[data-design="c"] .mw-c-outlier .mw-c-group-head {
  margin: 4px 16px;
  color: var(--c-ink2);
  font: 600 14px/1.3 Figtree, system-ui, sans-serif;
}
/* a two-program fare (For you and Outlier): each leg in its own unit on its own line, the taxes under them, never one
   summed figure; its long program line wraps inside its own column */
/* the fare column takes at most a little over half the row, so the city and line 2 keep theirs at every width (a
   long leg, "12,500 Southwest Rapid Rewards points", or a fare without per-leg miles, wraps inside it instead) */
.mw-shell[data-design="c"] .mw-c-row[data-c-split] { grid-template-columns: minmax(0, 1fr) fit-content(55%); }
.mw-shell[data-design="c"] .mw-c-row[data-c-split] > .mw-c-fare {
  display: grid;
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-columns: minmax(0, auto) auto;
  justify-content: end;
  align-content: start;
  column-gap: 4px;
  white-space: normal;   /* each leg's figure and unit wrap within the column; the "out" / "back" word stays beside it */
}
.mw-shell[data-design="c"] .mw-c-row[data-c-split] > .mw-c-fare > b { min-width: 0; text-align: right; }
.mw-shell[data-design="c"] .mw-c-row[data-c-split] > .mw-c-fare > :last-child { grid-column: 1 / -1; justify-self: end; }
.mw-shell[data-design="c"] .mw-c-row[data-c-split] > .mw-c-fare > small:first-child {
  grid-column: 1 / -1;
  justify-self: end;
  max-width: 15em;   /* a fare without per-leg miles ("... · per-leg amounts not recorded") wraps, so the city keeps its column */
  white-space: normal;
}
.mw-shell[data-design="c"] .mw-c-row[data-c-split] > .mw-c-verdict { grid-column: 2; }
.mw-shell[data-design="c"] .mw-c-row[data-c-split] .mw-c-meta > .mw-c-item:last-child { white-space: normal; }
/* the date range wraps inside its own column too, on every row: a next-year cross-month range ("Aug 28–Sep 30,
   2027") ran its year into the fare column at 320, on a two-program row and on a one-program one alike (the
   reviewer's tested rule, for every C row). Balanced, a wrapped range breaks after its dash ("Nov 24–" / "Dec 9")
   instead of between a month and its day ("Nov 24–Dec" / "9") and adds no line; cDateRange's no-break space keeps
   each month with its day even when the half after the dash nearly fills the column ("Dec 31–" / "Jan 15, 2027"). */
.mw-shell[data-design="c"] .mw-c-row .mw-c-meta > .mw-c-item:first-child { display: inline-block; max-width: 100%; white-space: normal; text-wrap: balance; }
.mw-shell[data-design="c"] .mw-c-outlier .mw-history { margin: 12px 0 0; }
/* END CONCEPT C: OUTLIER */
/* CONCEPT C: AMELIA */
/* "Explore with Amelia" in the map-and-sheet layout (Ryan's pick 2026-10-08). Her
   conversation lives in the same floating sheet as For you: the title, then the thread (the only part that
   scrolls), then the composer pinned at the sheet's foot with the AI disclosure under it. Her words are a plain
   column, the member's question a quiet right-aligned line, her fares For you's two-line rows, suggestions plain
   text. Presentation only; every rule is scoped to .mw-shell[data-design="c"], so members see no change. */
/* the neutral fill of a text field (the composer): a token beside Concept C's own, so a palette can restate it */
.mw-shell[data-design="c"][data-view="plan"] { --c-field: #f4f3f7; }
.mw-shell[data-design="c"][data-view="plan"] .mw-content {
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
  padding-bottom: 0;
}
.mw-shell[data-design="c"][data-view="plan"] .mw-content > .mw-origin-disclosure { flex: none; }
.mw-shell[data-design="c"][data-view="plan"] .mw-plan-chat-view {
  position: relative;   /* the box "New conversation" is placed in, on the title row */
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  height: auto !important;
  padding: 0;
  background: none;
}
.mw-shell[data-design="c"][data-view="plan"] .mw-plan-chat-view > .mw-opening-compact {
  display: block;
  flex: none;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0 24px 4px;
  border: 0;
  background: none;
}
.mw-shell[data-design="c"][data-view="plan"] .mw-opening-compact h1 {
  margin: 0;
  padding-right: 140px;   /* "New conversation" sits at the right of the title row */
  color: var(--c-ink);
  font: 700 20px/1.2 Figtree, system-ui, sans-serif;
  letter-spacing: -.01em;
  white-space: normal;
}
.mw-shell[data-design="c"][data-view="plan"] .mw-opening-compact > div > p {
  margin: 4px 0 0;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"][data-view="plan"] .mw-plan-chat-view > .mw-amelia-inline {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  height: auto !important;
  min-height: 0 !important;
  margin: 0;
  overflow: hidden;
  border: 0;
  background: none;
}
.mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  height: auto;
  min-height: 0;
  background: none;
}
/* "New conversation" is the title row's link, centred on the h1's 24px line (the page keeps its one h1) */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-head {
  position: absolute;
  z-index: 1;
  top: -10px;
  right: 16px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-new {
  display: inline-flex;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 8px;
  border: 0;
  background: none;
  color: var(--c-violet);
  font: 600 14px/1.2 Figtree, system-ui, sans-serif;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-new:hover,
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-new:focus-visible {
  color: var(--c-violet);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* the thread: a plain column; the member's question is a quiet right-aligned line. It scrolls above the pinned
   search line and composer, never under them; its edges fade so a line at the edge reads as "scroll for more",
   and the fades only ever cover the thread's own padding at rest. */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-thread {
  flex: 1 1 0;   /* the room the pinned controls leave; it gives way first, so the composer is never pushed out */
  min-height: 0;
  overflow-y: auto;
  gap: 12px;
  padding: 16px 24px 36px;
  scroll-padding-block: 20px 40px;
  background: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 14px, #000 calc(100% - 32px), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 14px, #000 calc(100% - 32px), transparent 100%);
}
/* the one premise above an answer's funded rows */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-c-premise {
  margin: 0 0 -6px;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
/* one caveat, not three: a proof line that only repeats the turn's dated caveat steps back (screen readers keep it) */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-verdict[data-c-dated-caveat] .tp-answer-block-proof[data-c-caveat-only] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-msg.user {
  align-self: flex-end;
  max-width: 85%;
  min-height: 44px;
  box-sizing: border-box;
  margin: 8px 0 0;
  padding: 12px 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
  text-align: right;
  cursor: pointer;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-msg.user:focus-visible {
  outline: 2px solid var(--c-violet);
  outline-offset: 2px;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-bot, .tp-verdict) {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-ink);
  font: 400 16px/1.5 Figtree, system-ui, sans-serif;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-answer-block {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-answer-block + .tp-answer-block { margin-top: 10px; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-answer-block[data-label]::before { display: none; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-answer-block :is(.tp-flow-group, p, li) {
  color: inherit;
  font: inherit;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-answer-block-proof, .tp-answer-block-context) .tp-flow-group {
  color: var(--c-ink3);
  font-size: 14px;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-more {
  margin-top: 8px;
  border: 0;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-more > summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-violet);
  font: 600 14px/1.3 Figtree, system-ui, sans-serif;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-status {
  color: var(--c-ink3);
  font: 400 14px/1.4 Figtree, system-ui, sans-serif;
}
/* her notices, plain text in the column (their words unchanged) */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-relaxed, .tp-stale, .tp-window-note, .tp-compact-provenance, .disco-more) {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-stale { color: var(--c-close); }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .trust-tier {
  margin: 8px 0 -4px;
  padding: 0;
  border: 0;
  background: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .trust-tier :is(.tt-swatch, .tt-rule) { display: none; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .trust-tier .tt-label {
  color: var(--c-ink);
  font: 600 14px/1.4 Figtree, system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .trust-tier .tt-sub {
  display: block;
  margin-top: 2px;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}

/* her fares: For you's two-line rows (the row's look is the For you rule; these only seat it in the thread) */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-stack {
  display: grid;
  gap: 0;
  width: auto;
  max-width: none;
  margin: 0 -16px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-stack > .tp-c-row {
  width: auto;
  max-width: none;
  margin: 0;
  outline-offset: -2px;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-c-row .tp-c-tier[data-c-tier="overcap"],
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-c-row .tp-c-tier[data-c-tier="ideas"] { color: var(--c-ink2); }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-c-row .tp-c-note {
  grid-column: 1 / -1;
  color: var(--c-ink2);
  font: 400 14px/1.4 Figtree, system-ui, sans-serif;
}
/* a destination idea from the shortlist reads as a row too: the city, then its observed floor */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco {
  display: grid;
  gap: 0;
  max-width: none;
  margin: 4px -16px 0;
  border: 0;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-row {
  display: grid;
  gap: 2px;
  min-height: 56px;
  padding: 10px 16px;
  border: 0;
  border-radius: 12px;
  background: none;
  box-shadow: none;
  color: var(--c-ink);
  text-align: left;
  cursor: pointer;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-row:hover { background: var(--c-tint); }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-row:focus-visible { outline: 2px solid var(--c-violet); outline-offset: -2px; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-city { font: 600 16px/1.3 Figtree, system-ui, sans-serif; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-cc { color: var(--c-ink3); font: 400 14px/1.3 Figtree, system-ui, sans-serif; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-cost { color: var(--c-ink2); font: 400 14px/1.35 Figtree, system-ui, sans-serif; }
/* a destination idea wraps its city and its floor line within the sheet, never wider than it and never cut (the
   base card is a one-line nowrap row with an ellipsis, which ran 21px past a 320px sheet) */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-row { grid-template-columns: minmax(0, 1fr); min-width: 0; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.disco-city, .disco-cost) {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco-cost b { color: var(--c-ink); font-weight: 600; }

/* suggestions are plain text, not pills; the balance chip keeps its behaviour and only takes this look */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-chip, .tp-cash-fold, .tp-compact-more) {
  display: inline-flex;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  height: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--c-violet);
  font: 600 14px/1.3 Figtree, system-ui, sans-serif;
  text-align: left;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-chip, .tp-cash-fold, .tp-compact-more):hover:not(:disabled) {
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-chip, .tp-cash-fold, .tp-compact-more):focus-visible {
  outline: 2px solid var(--c-violet);
  outline-offset: 2px;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-chips.is-stale .tp-chip { color: var(--c-ink3); cursor: default; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-chips.tp-save { align-items: center; }
/* a later turn ends the chance to undo (app.html's rule, restated: the chip look above would otherwise show it) */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-chips.tp-save.is-stale .tp-save-undo { display: none; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-save-note {
  margin: 0;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .jk-intro-member {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-intro-txt {
  margin: 0 0 4px;
  color: var(--c-ink2);
  font: 400 14px/1.45 Figtree, system-ui, sans-serif;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chips {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin: 0;
  overflow: visible;
  border: 0;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip {
  display: inline-flex;
  align-items: center;
  width: auto;
  max-width: 100%;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--c-violet);
  font: 600 16px/1.35 Figtree, system-ui, sans-serif;
  text-align: left;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip::after { display: none; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip-label {
  overflow: visible;
  color: inherit;
  font: inherit;
  white-space: normal;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .jk-intro-member .jk-personal-chip:hover .jk-personal-chip-label {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* the active search's controls sit quietly above the composer; its line wraps, never cut */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-summary, .tp-refine) {
  flex: none;
  padding-inline: 24px;
  border: 0;
  background: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-summary:not([hidden]) { margin-top: 4px; }
/* the open Filters panel takes what it needs, and on a short screen gives way and scrolls inside itself: the text
   box and send stay whole on screen (Amelia's layout truth) */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-refine:not(.rf-collapsed) {
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-summary .ts-q {
  overflow: visible;
  color: var(--c-ink2);
  font: 400 12px/1.4 Figtree, system-ui, sans-serif;
  text-overflow: clip;
  white-space: normal;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-summary .ts-q b { color: var(--c-ink); font-weight: 600; }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-summary :is(.ts-filters, .ts-save) {
  min-width: 44px;
  border: 0;
  background: none;
  color: var(--c-violet);
  font: 600 12px/1.2 Figtree, system-ui, sans-serif;
}

/* the composer, pinned at the sheet's foot: one rounded field and a 44px send target */
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer,
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within {
  display: flex;
  flex: none;
  align-items: flex-end;
  gap: 8px;
  margin: 8px 16px 0;
  padding: 6px 6px 6px 16px;
  border: 0;
  border-radius: 16px;
  background: var(--c-field);
  box-shadow: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within {
  box-shadow: 0 0 0 2px var(--c-violet);
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer #tpInput {
  flex: 1 1 auto;
  height: auto;
  min-height: 44px;
  max-height: 120px;
  field-sizing: content;   /* one line until she is asked more (a browser without it keeps the two rows) */
  margin: 0;
  padding: 11px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--c-ink);
  font: 400 16px/1.4 Figtree, system-ui, sans-serif;
  resize: none;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer #tpInput::placeholder { color: var(--c-ink3); }
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer .tp-send {
  flex: none;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: var(--c-violet);
  color: #fff;
  font: 600 20px/1 Figtree, system-ui, sans-serif;
}
body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer .tp-send:focus-visible {
  outline: 2px solid var(--c-violet);
  outline-offset: 2px;
}
/* the AI disclosure and its link, under the composer (the page's own line; the planner's copy stays hidden) */
.mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-note {
  display: grid;
  flex: none;
  gap: 2px;
  margin: 0;
  padding: 8px 24px 14px;
  border: 0;
  background: none;
  color: var(--c-ink3);
  font: 400 12px/1.4 Figtree, system-ui, sans-serif;
}
.mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-note a {
  color: var(--c-violet);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* phones: a map strip on top, the chat sheet below it, the composer always on screen above the bottom bar */
@media (max-width: 767px) {
  .mw-shell[data-design="c"][data-view="plan"] .mw-main { overflow: hidden !important; }
  /* the map strip is C's 260px on a tall phone, so the route choices below it leave the map visible (Amelia's
     layout truth); a short phone gives the conversation the room instead */
  .mw-shell[data-design="c"][data-view="plan"] .mw-globe {
    height: clamp(180px, 31vh, 260px);
    min-height: 180px;
    padding: 0 !important;
  }
  .mw-shell[data-design="c"][data-view="plan"] .mw-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 18px 0 calc(60px + env(safe-area-inset-bottom)) !important;
  }
  /* the title row is as tall as its 44px "New conversation" link, so the link never sits over the thread */
  .mw-shell[data-design="c"][data-view="plan"] .mw-plan-chat-view > .mw-opening-compact { padding: 0 16px; min-height: 34px; box-sizing: border-box; }
  .mw-shell[data-design="c"][data-view="plan"] .mw-opening-compact > div > p { display: none; }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-head { right: 8px; }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-thread { padding: 12px 16px 32px; }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-stack,
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .disco { margin-inline: -16px; }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-stack > .tp-c-row { border-radius: 0; }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host :is(.tp-summary, .tp-refine) { padding-inline: 16px; }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer,
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within { margin: 6px 12px 0; }
  .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-note { padding: 6px 16px 6px; }
}
/* short screens at any width: the members' page keeps its heading for screen readers only, which in the sheet would
   leave "New conversation" floating over the thread. The title row stays (the subtitle gives way), as tall as the
   link on it. */
@media (max-height: 500px) {
  .mw-shell[data-design="c"][data-view="plan"] .mw-plan-chat-view > .mw-opening-compact {
    position: static;
    width: auto;
    height: auto;
    min-height: 34px;
    box-sizing: border-box;
    overflow: visible;
    clip-path: none;
    white-space: normal;
  }
  .mw-shell[data-design="c"][data-view="plan"] .mw-opening-compact > div > p { display: none; }
  /* the pinned parts tighten so the answer keeps its room: a thinner thread margin, the composer as its 44px field
     and send alone, a slimmer disclosure */
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-thread {
    padding-block: 4px 12px;
    scroll-padding-block: 6px 14px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 4px, #000 calc(100% - 10px), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 4px, #000 calc(100% - 10px), transparent 100%);
  }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer,
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-composer:focus-within {
    margin-top: 4px;
    padding: 0 0 0 12px;
  }
  .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-note { padding-block: 4px; }
}
/* short screens under 768px wide (a phone on its side, a short window): the brand bar and the bottom bar leave too
   little height for the sheet, so the page scrolls. The map strip shrinks, and the sheet is one screen tall: scrolled
   up, it slides over the brand bar like a pulled-up sheet and shows the whole conversation at once (the latest
   message, the composer and the disclosure, above the bottom bar). The title row stays, for "New conversation". */
@media (max-width: 767px) and (max-height: 500px) {
  .mw-shell[data-design="c"][data-view="plan"] .mw-main { overflow-y: auto !important; overscroll-behavior: contain; }
  .mw-shell[data-design="c"][data-view="plan"] .mw-globe { height: max(120px, 36vh); min-height: 120px; }
  .mw-shell[data-design="c"][data-view="plan"] .mw-content {
    flex: 0 0 auto !important;
    box-sizing: border-box;
    height: 100vh;
    height: 100dvh;
    padding-top: 10px !important;
    z-index: 7;   /* over the brand and account (6 here), under the bottom bar (8) */
  }
  .mw-shell[data-design="c"][data-view="plan"] :is(.mw-brand, .mw-account) { z-index: 6; }
  .mw-shell[data-design="c"][data-view="plan"] .mw-opening-compact h1 { font-size: 20px; }   /* C's heading floor */
}
/* a phone on its side with its toolbar up (about 280px tall): the gap above the bottom bar, the thread's foot and the
   disclosure's padding tighten, so two lines of her answer stay in view above the pinned composer. Every control keeps
   its 44px and the disclosure its 12px; the title row, with its "New conversation" link, is untouched. */
@media (max-width: 767px) and (max-height: 300px) {
  .mw-shell[data-design="c"][data-view="plan"] .mw-content { padding-bottom: calc(54px + env(safe-area-inset-bottom)) !important; }
  body.mw-active .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-host .tp-thread {
    padding-block: 4px 8px;
    scroll-padding-block: 6px 10px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 4px, #000 calc(100% - 6px), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 4px, #000 calc(100% - 6px), transparent 100%);
  }
  .mw-shell[data-design="c"][data-view="plan"] .mw-amelia-inline-note { padding-block: 2px; }
}
/* END CONCEPT C: AMELIA */

/* THE TRIP BOX on For you (F1, tester 1, 2026-10-14). Where, when and how long, at the top of the sheet; three fields that
   open the editor, then the trip's fares: exact matches first, the closest labelled, a plain box when nothing fits. */
.mw-shell[data-design="c"] .mw-trip { margin: 4px 0 14px; padding: 16px; border-radius: 16px; background: #fff;
  box-shadow: 0 1px 2px rgba(22, 20, 28, .06), 0 6px 24px rgba(22, 20, 28, .08); }
.mw-shell[data-design="c"] .mw-trip h2 { margin: 0 0 10px; font: 700 17px/1.3 var(--mw-sans); color: var(--c-ink); }
.mw-shell[data-design="c"] .mw-trip-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mw-shell[data-design="c"] .mw-trip-fields > .mw-trip-field:first-child { grid-column: 1 / -1; }
.mw-shell[data-design="c"] .mw-trip-field { display: flex; flex-direction: column; justify-content: center; min-height: 56px;
  padding: 8px 14px; border: 1.5px solid transparent; border-radius: 12px; background: #f4f3f7; color: var(--c-ink);
  text-align: left; font: inherit; cursor: pointer; }
.mw-shell[data-design="c"] .mw-trip-field:hover { border-color: var(--c-violet); background: #fff; }
.mw-shell[data-design="c"] .mw-trip-field small { font: 600 12px/1.3 var(--mw-sans); color: var(--c-ink3); }
.mw-shell[data-design="c"] .mw-trip-field b { font: 600 16px/1.3 var(--mw-sans); color: var(--c-ink); }
.mw-shell[data-design="c"] .mw-trip-field b.is-empty { font-weight: 500; color: var(--c-ink3); }
.mw-shell[data-design="c"] .mw-trip-hint { margin: 10px 0 0; font: 400 14px/1.45 var(--mw-sans); color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-trip-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 10px; }
.mw-shell[data-design="c"] .mw-trip-form { display: grid; gap: 12px; }
.mw-shell[data-design="c"] .mw-trip-label { display: flex; flex-direction: column; gap: 4px; font: 600 13px/1.3 var(--mw-sans); color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-trip-label select,
.mw-shell[data-design="c"] .mw-trip-label input { min-height: 48px; padding: 0 12px; border: 1.5px solid #d9d6e0; border-radius: 12px;
  background: #fff; color: var(--c-ink); font: 500 16px/1.3 var(--mw-sans); font-variant-numeric: tabular-nums; }
.mw-shell[data-design="c"] .mw-trip-set { margin: 0; padding: 0; border: 0; min-width: 0; }
.mw-shell[data-design="c"] .mw-trip-set legend { margin: 0 0 6px; padding: 0; font: 600 13px/1.3 var(--mw-sans); color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-trip-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mw-shell[data-design="c"] .mw-trip-chip { position: relative; }
.mw-shell[data-design="c"] .mw-trip-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mw-shell[data-design="c"] .mw-trip-chip span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
  border: 1.5px solid #d9d6e0; border-radius: 999px; background: #fff; color: var(--c-ink); font: 600 15px/1.2 var(--mw-sans); }
.mw-shell[data-design="c"] .mw-trip-chip input:checked + span { border-color: var(--c-violet); background: var(--c-violet); color: #fff; }
.mw-shell[data-design="c"] .mw-trip-chip input:focus-visible + span { outline: 2px solid var(--c-violet); outline-offset: 2px; }
.mw-shell[data-design="c"] .mw-trip-dates { display: none; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.mw-shell[data-design="c"] .mw-trip-dates > .mw-trip-label { flex: 1 1 140px; }
.mw-shell[data-design="c"] .mw-trip-form[data-when="exact"] .mw-trip-dates[data-for="exact"],
.mw-shell[data-design="c"] .mw-trip-form[data-when="weekend"] .mw-trip-dates[data-for="weekend"] { display: flex; }
.mw-shell[data-design="c"] .mw-trip-form[data-when="exact"] [data-for-length] { display: none; }
.mw-shell[data-design="c"] .mw-trip-rule { flex: 1 1 100%; margin: 0; font: 500 14px/1.45 var(--mw-sans); color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-trip-error { margin: 0; font: 600 14px/1.4 var(--mw-sans); color: #a33a24; }
.mw-shell[data-design="c"] .mw-trip-error:empty { display: none; }
.mw-shell[data-design="c"] .mw-trip-group { margin: 14px 24px 2px; font: 700 15px/1.3 var(--mw-sans); color: var(--c-ink); }
.mw-shell[data-design="c"] .mw-trip-group span { font-weight: 500; color: var(--c-ink2); }
.mw-shell[data-design="c"] .mw-trip-group:focus { outline: none; }
.mw-shell[data-design="c"] .mw-c-row > .mw-c-near { grid-column: 1 / -1; display: block; justify-self: start; width: fit-content; max-width: 100%; margin-top: 2px; padding: 2px 8px;
  border-radius: 999px; background: #fdf1dc; color: #8a5300; font: 600 12px/1.5 var(--mw-sans); }
.mw-shell[data-design="c"] .mw-trip-none { margin: 10px 24px 6px; padding: 14px 16px; border-radius: 14px; background: #f3f0fa;
  color: var(--c-ink); font: 400 15px/1.5 var(--mw-sans); }
.mw-shell[data-design="c"] .mw-trip-none:focus { outline: none; }
.mw-shell[data-design="c"] .mw-trip-none p { margin: 0; }
.mw-shell[data-design="c"] .mw-trip-ask { margin-top: 10px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: #fff;
  color: var(--c-violet); box-shadow: inset 0 0 0 1.5px var(--c-violet); font: 600 15px/1.2 var(--mw-sans); cursor: pointer; }
.mw-shell[data-design="c"] .mw-trip-ask:hover { background: #f3f0fa; }
.mw-shell[data-design="c"] .mw-trip-more { margin: 4px 24px 0; }
.mw-shell[data-design="c"] .mw-trip .mw-button { min-height: 48px; padding: 0 22px; border: 0; border-radius: 12px; background: var(--c-violet);
  color: #fff; font: 600 16px/1.2 var(--mw-sans); cursor: pointer; }
.mw-shell[data-design="c"] .mw-trip .mw-button:hover { background: #4a2f8a; }
.mw-shell[data-design="c"] .mw-trip-compact { display: none; }
/* On a phone the box is one row (a field that opens the editor), so the first screen still shows three fares. */
@media (max-width: 767px) {
  .mw-shell[data-design="c"] .mw-trip:not(.is-editing) { margin: 2px 0 8px; padding: 0; background: none; box-shadow: none; }
  .mw-shell[data-design="c"] .mw-trip:not(.is-editing) > h2,
  .mw-shell[data-design="c"] .mw-trip:not(.is-editing) .mw-trip-fields,
  .mw-shell[data-design="c"] .mw-trip:not(.is-editing) .mw-trip-hint { display: none; }
  .mw-shell[data-design="c"] .mw-trip:not(.is-editing) .mw-trip-row { margin-top: 0; }
  .mw-shell[data-design="c"] .mw-trip-compact { display: flex; flex-direction: column; justify-content: center; width: 100%; min-height: 52px;
    padding: 6px 14px; border: 1.5px solid #d9d6e0; border-radius: 12px; background: #fff; color: var(--c-ink); text-align: left; font: inherit; cursor: pointer; }
  .mw-shell[data-design="c"] .mw-trip-compact small { font: 600 12px/1.3 var(--mw-sans); color: var(--c-violet); }
  .mw-shell[data-design="c"] .mw-trip-compact b { font: 600 15px/1.3 var(--mw-sans); color: var(--c-ink); }
  .mw-shell[data-design="c"] .mw-trip-compact b.is-empty { font-weight: 500; color: var(--c-ink2); }
  .mw-shell[data-design="c"] .mw-trip-group { margin-inline: 16px; }
  .mw-shell[data-design="c"] .mw-trip-none { margin-inline: 16px; }
  .mw-shell[data-design="c"] .mw-trip-more { margin-inline: 16px; }
}
/* END THE TRIP BOX */
