/* Approved Live Trip mobile UI. Scoped to this page so legacy styles cannot leak out. */
body.liveTripPage{
  --live-purple:#7d0088;
  --live-purple-dark:#4f075f;
  --live-text:#17151d;
  --live-text-muted:#68636f;
  --live-border:#dedce2;
  --live-white:#fff;
  --live-pause-bg:#fff0d1;
  --live-pause-text:#ad6900;
  --lt-reference-header-height:max(92px,calc(48px + env(safe-area-inset-top)));
  min-height:100dvh;
  margin:0;
  overflow-x:hidden;
  color:var(--live-text);
  background:var(--live-white);
  font-family:var(--v2-font-family,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
}
body.liveTripPage *{box-sizing:border-box}
body.liveTripPage button,body.liveTripPage select{font:inherit}
body.liveTripPage svg{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ltVisuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

body.liveTripPage .ltTopbar{
  position:relative;
  z-index:900;
  width:100%;
  height:var(--lt-reference-header-height);
  min-height:var(--lt-reference-header-height);
  padding:env(safe-area-inset-top) 16px 0;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:0;
  border-bottom:1px solid rgba(21,21,26,.05);
  background:#fff;
  box-shadow:none;
}
body.liveTripPage .ltBack{
  width:46px;
  height:46px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #ecebef;
  border-radius:50%;
  color:var(--live-text);
  background:#fff;
  box-shadow:0 3px 12px rgba(24,18,28,.08);
  text-decoration:none;
}
body.liveTripPage .ltBack svg{width:25px;height:25px;stroke-width:2.25}
body.liveTripPage .ltHeaderCopy{position:absolute;left:50%;width:min(205px,calc(100% - 170px));min-width:0;text-align:center;line-height:1.12;transform:translateX(-50%);pointer-events:none}
body.liveTripPage .ltStatusChip{justify-self:end}
body.liveTripPage .ltHeaderCopy strong,
body.liveTripPage .ltHeaderCopy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.liveTripPage .ltHeaderCopy strong{color:var(--live-purple);font-size:15.5px;font-weight:700;letter-spacing:.065em}
body.liveTripPage .ltHeaderCopy span{margin-top:4px;color:#5f5e65;font-size:11.5px;font-weight:500}
body.liveTripPage .ltStatusChip{
  min-height:38px;
  padding:0 15px;
  display:inline-grid;
  place-items:center;
  border:0;
  border-radius:999px;
  color:var(--live-pause-text);
  background:var(--live-pause-bg);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
body.liveTripPage .ltStatusChip[data-state="tracking"]{color:#17613c;background:#e8f6ed}
body.liveTripPage .ltStatusChip[data-state="ready"]{color:#695c70;background:#f3eff4}

body.liveTripPage[data-live-trip-state="ready"],
body.liveTripPage[data-live-trip-state="tracking"],
body.liveTripPage[data-live-trip-state="paused"]{height:100dvh;overflow:hidden}
body.liveTripPage[data-live-trip-state="ready"] .ltPage,
body.liveTripPage[data-live-trip-state="tracking"] .ltPage,
body.liveTripPage[data-live-trip-state="paused"] .ltPage{
  width:100%;
  height:calc(100dvh - var(--lt-reference-header-height));
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0;
  background:#fff;
}
body.liveTripPage[data-live-trip-state="ready"] .ltTracker,
body.liveTripPage[data-live-trip-state="tracking"] .ltTracker,
body.liveTripPage[data-live-trip-state="paused"] .ltTracker{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
body.liveTripPage .ltPlannedTripContext{display:none!important}
body.liveTripPage[data-live-trip-state="ready"] .ltMapWrap,
body.liveTripPage[data-live-trip-state="tracking"] .ltMapWrap,
body.liveTripPage[data-live-trip-state="paused"] .ltMapWrap{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#ecebe7;
}
body.liveTripPage[data-live-trip-state="ready"] .ltMap,
body.liveTripPage[data-live-trip-state="tracking"] .ltMap,
body.liveTripPage[data-live-trip-state="paused"] .ltMap{width:100%;height:100%;min-height:0;border-radius:0}

/* The approved view has no legacy fullscreen, compass or passenger controls. */
body.liveTripPage[data-live-trip-state="ready"] .ltFullscreenButton,
body.liveTripPage[data-live-trip-state="tracking"] .ltFullscreenButton,
body.liveTripPage[data-live-trip-state="paused"] .ltFullscreenButton,
body.liveTripPage[data-live-trip-state="ready"] .ltCompassButton,
body.liveTripPage[data-live-trip-state="tracking"] .ltCompassButton,
body.liveTripPage[data-live-trip-state="paused"] .ltCompassButton,
body.liveTripPage #ltModeToggle{display:none!important}

body.liveTripPage .ltDriverMode{
  position:absolute;
  z-index:680;
  top:11px;
  left:14px;
  right:14px;
  width:auto;
  height:146px;
  padding:0;
  display:grid;
  grid-template-rows:88px 58px;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(45,38,48,.04);
  border-radius:16px;
  color:var(--live-text);
  background:rgba(255,255,255,.975);
  box-shadow:0 7px 20px rgba(25,18,28,.14);
  transform:none;
  backdrop-filter:blur(8px);
}
body.liveTripPage .ltDriverMode[hidden]{display:none!important}
body.liveTripPage .ltDriverManeuver{
  position:relative;
  min-height:0;
  padding:13px 17px 12px 14px;
  display:grid;
  grid-template-columns:60px minmax(0,1fr) 24px;
  align-items:center;
  gap:13px;
}
body.liveTripPage .ltDriverManeuverIcon{
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#fff;
  background:var(--live-purple);
  box-shadow:none;
}
body.liveTripPage .ltDriverManeuverIcon svg{width:43px;height:43px;stroke-width:5}
body.liveTripPage .ltDriverManeuverCopy{min-width:0;display:block}
body.liveTripPage .ltDriverManeuverCopy>strong{
  display:block;
  overflow:hidden;
  color:var(--live-text);
  font-size:clamp(18px,5.15vw,21px);
  font-weight:700;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.liveTripPage .ltDriverManeuverCopy>small{
  display:block;
  min-height:18px;
  margin-top:6px;
  overflow:hidden;
  color:var(--live-text-muted);
  font-size:14px;
  font-weight:550;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.liveTripPage .ltDriverChevron{width:24px;height:24px;color:#111;stroke-width:2.7}
body.liveTripPage .ltDriverDestination{
  position:absolute;
  z-index:3;
  inset:0 0 auto;
  width:100%;
  height:88px;
  min-height:0;
  padding:0;
  border:0;
  border-radius:16px 16px 0 0;
  color:transparent;
  background:transparent;
  cursor:pointer;
}
body.liveTripPage .ltDriverDestination[hidden]{display:none!important}
body.liveTripPage .ltDriverMetrics{
  min-height:0;
  padding:0 13px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  gap:0;
  border-top:1px solid var(--live-border);
}
body.liveTripPage .ltDriverSpeedBox,
body.liveTripPage .ltDriverEta,
body.liveTripPage .ltDriverRemaining{
  position:relative;
  min-width:0;
  height:38px;
  min-height:0;
  padding:0 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:0;
  color:var(--live-text);
  background:transparent;
}
body.liveTripPage .ltDriverEta::before,body.liveTripPage .ltDriverRemaining::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:2px;
  width:1px;
  background:var(--live-border);
}
body.liveTripPage .ltDriverSpeedBox div{line-height:1;white-space:nowrap}
body.liveTripPage .ltDriverSpeedBox strong,
body.liveTripPage .ltDriverEta strong,
body.liveTripPage .ltDriverRemaining strong{color:var(--live-text);font-size:18px;font-weight:700;line-height:1.05;text-align:center}
body.liveTripPage .ltDriverSpeedBox small{color:var(--live-text);font-size:12px;font-weight:700}
body.liveTripPage .ltDriverSpeedBox span,
body.liveTripPage .ltDriverEta span,
body.liveTripPage .ltDriverRemaining span{margin-top:4px;color:var(--live-text-muted);font-size:11.5px;font-weight:500;line-height:1;white-space:nowrap}
body.liveTripPage .ltDriverSpeedBox.is-over{color:var(--live-text);background:transparent;animation:none}
body.liveTripPage .ltDriverLimitBox{display:none!important}

body.liveTripPage .ltVoiceControl,
body.liveTripPage .ltRecentreButton{
  position:absolute;
  z-index:690;
  right:15px;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(34,27,37,.04);
  border-radius:50%;
  color:var(--live-purple);
  background:#fff;
  box-shadow:0 5px 15px rgba(25,18,28,.16);
  cursor:pointer;
}
body.liveTripPage .ltVoiceControl{bottom:116px}
body.liveTripPage .ltRecentreButton{bottom:58px}
body.liveTripPage .ltVoiceControl[hidden],body.liveTripPage .ltRecentreButton[hidden]{display:none!important}
body.liveTripPage .ltVoiceControl svg,body.liveTripPage .ltRecentreButton svg{width:24px;height:24px;stroke-width:2.2}
body.liveTripPage .ltVoiceControl[aria-pressed="false"] .ltVoiceWave{display:none}
body.liveTripPage .ltVoiceControl[aria-pressed="false"]::after{content:"";position:absolute;width:27px;height:2px;background:currentColor;transform:rotate(-45deg);border-radius:2px}

body.liveTripPage .ltDriveFilters{
  position:absolute;
  z-index:685;
  left:9px;
  right:9px;
  top:auto;
  bottom:9px;
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  pointer-events:none;
}
body.liveTripPage .ltDriveFilters[hidden]{display:none!important}
body.liveTripPage .ltDriveFilterScroll{min-width:0;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;pointer-events:auto}
body.liveTripPage .ltDriveFilterScroll::-webkit-scrollbar{display:none}
body.liveTripPage .ltDriveFilter{
  flex:0 0 auto;
  width:auto;
  min-height:43px;
  padding:0 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid #dedce1;
  border-radius:999px;
  color:var(--live-text);
  background:rgba(255,255,255,.97);
  box-shadow:0 3px 9px rgba(31,24,34,.08);
  font-size:11px;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
}
body.liveTripPage .ltDriveFilter svg{width:19px;height:19px;color:#8a8990;stroke-width:1.8}
body.liveTripPage .ltDriveFilter.is-active{
  border-color:#fff;
  color:#fff;
  background:var(--live-purple);
  box-shadow:0 0 0 3px rgba(255,255,255,.92),0 5px 12px rgba(93,0,101,.22);
}
body.liveTripPage .ltDriveFilter.is-active svg{color:#fff}
body.liveTripPage .ltDriveRadius{
  flex:0 0 auto;
  min-height:43px;
  padding:0 10px;
  display:flex;
  align-items:center;
  gap:5px;
  border:1px solid #dedce1;
  border-radius:999px;
  color:var(--live-text);
  background:rgba(255,255,255,.97);
  box-shadow:0 3px 9px rgba(31,24,34,.08);
  pointer-events:auto;
  white-space:nowrap;
}
body.liveTripPage .ltDriveRadius span{font-size:11px;font-weight:650}
body.liveTripPage .ltDriveRadius select{max-width:55px;padding:0 15px 0 0;border:0;color:var(--live-text);background:transparent;font-size:11px;font-weight:700;outline:0}

body.liveTripPage .ltMap .leaflet-control-attribution{right:auto!important;left:4px!important;bottom:56px!important;max-width:calc(100% - 78px);overflow:hidden;border-radius:4px;background:rgba(255,255,255,.78);font-size:8px;line-height:12px;white-space:nowrap}
body.liveTripPage .ltMap .leaflet-control-attribution a{color:#555}
body.liveTripPage .ltCurrentMarker{width:46px;height:46px;display:grid;place-items:center;transform:rotate(var(--lt-heading));transform-origin:center;filter:drop-shadow(0 2px 2px rgba(46,0,51,.25))}
body.liveTripPage .ltCurrentMarker svg{width:46px;height:46px;overflow:visible}

body.liveTripPage .ltMapActions{
  flex:0 0 78px;
  min-height:78px;
  padding:12px 16px;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  gap:8px;
  border:0;
  background:#fff;
}
body.liveTripPage .ltMapActions button{
  width:100%;
  min-width:0;
  min-height:54px;
  height:54px;
  margin:0;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:12px;
  color:#fff;
  background:var(--live-purple);
  box-shadow:none;
  font-size:18px;
  font-weight:700;
  line-height:1;
}
body.liveTripPage .ltMapActions button:hover,body.liveTripPage .ltMapActions button:focus-visible{background:var(--live-purple-dark)}
body.liveTripPage .ltMapActions button svg{width:23px;height:23px;fill:currentColor;stroke-width:1.8}
body.liveTripPage .ltMapActions .ltSecondary,body.liveTripPage .ltMapActions .ltFinish{background:var(--live-purple)}
body.liveTripPage .ltMapActions button[hidden]{display:none!important}

body.liveTripPage[data-live-trip-state="ready"] .ltStats,
body.liveTripPage[data-live-trip-state="tracking"] .ltStats,
body.liveTripPage[data-live-trip-state="paused"] .ltStats,
body.liveTripPage[data-live-trip-state="ready"] .ltNotice,
body.liveTripPage[data-live-trip-state="tracking"] .ltNotice,
body.liveTripPage[data-live-trip-state="paused"] .ltNotice,
body.liveTripPage[data-live-trip-state="ready"] .ltForeground,
body.liveTripPage[data-live-trip-state="tracking"] .ltForeground,
body.liveTripPage[data-live-trip-state="paused"] .ltForeground,
body.liveTripPage[data-live-trip-state="ready"] .ltSaveState,
body.liveTripPage[data-live-trip-state="tracking"] .ltSaveState,
body.liveTripPage[data-live-trip-state="paused"] .ltSaveState,
body.liveTripPage[data-live-trip-state="ready"] .ltReviewLaterButton,
body.liveTripPage[data-live-trip-state="tracking"] .ltReviewLaterButton,
body.liveTripPage[data-live-trip-state="paused"] .ltReviewLaterButton{display:none!important}

body.liveTripPage .ltBottomBar{
  position:relative;
  z-index:850;
  flex:0 0 calc(76px + env(safe-area-inset-bottom));
  width:100%;
  min-height:calc(76px + env(safe-area-inset-bottom));
  margin:0;
  padding:7px 12px calc(7px + env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border:0;
  border-top:1px solid var(--live-border);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
body.liveTripPage .ltBottomBar[hidden]{display:none!important}
body.liveTripPage .ltBottomItem{
  position:relative;
  min-width:0;
  height:62px;
  padding:3px 2px 2px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:0;
  border-radius:0;
  color:var(--live-text);
  background:transparent;
  font-size:12px;
  font-weight:600;
  line-height:1.1;
}
body.liveTripPage .ltBottomItem:hover,body.liveTripPage .ltBottomItem:focus-visible{color:var(--live-purple);background:transparent}
body.liveTripPage .ltBottomIcon,body.liveTripPage .ltBottomMenuIcon,body.liveTripPage .ltBottomStyleIcon{width:29px;height:29px;display:grid;place-items:center}
body.liveTripPage .ltBottomIcon svg,body.liveTripPage .ltBottomMenuIcon svg,body.liveTripPage .ltBottomStyleIcon svg{width:100%;height:100%;stroke-width:1.8}
body.liveTripPage .ltBottomStyle{color:var(--live-purple)}
body.liveTripPage .ltBottomStyleIcon svg{display:none}
body.liveTripPage .ltBottomStyle[data-style="motorhome"] [data-style-icon="motorhome"],
body.liveTripPage .ltBottomStyle[data-style="car"] [data-style-icon="car"],
body.liveTripPage .ltBottomStyle[data-style="plane"] [data-style-icon="plane"]{display:block}
body.liveTripPage .ltBottomItem small{
  position:absolute;
  top:2px;
  left:calc(50% + 2px);
  min-width:19px;
  height:19px;
  margin:0;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  color:#fff;
  background:var(--live-purple);
  font-size:10px;
  font-weight:700;
}

@media (max-width:374px){
  body.liveTripPage .ltTopbar{padding-inline:12px;grid-template-columns:44px minmax(0,1fr) auto;gap:7px}
  body.liveTripPage .ltBack{width:44px;height:44px}
  body.liveTripPage .ltHeaderCopy strong{font-size:14px;letter-spacing:.045em}
  body.liveTripPage .ltHeaderCopy{width:min(190px,calc(100% - 164px))}
  body.liveTripPage .ltHeaderCopy span{font-size:10.5px}
  body.liveTripPage .ltStatusChip{min-height:36px;padding-inline:11px;font-size:12px}
  body.liveTripPage .ltDriverMode{left:12px;right:12px;height:144px;grid-template-rows:87px 57px}
  body.liveTripPage .ltDriverManeuver{padding-inline:12px 13px;grid-template-columns:58px minmax(0,1fr) 20px;gap:10px}
  body.liveTripPage .ltDriverManeuverIcon{width:58px;height:58px}
  body.liveTripPage .ltDriverManeuverCopy>strong{font-size:18px}
  body.liveTripPage .ltDriverManeuverCopy>small{font-size:12.5px}
  body.liveTripPage .ltDriverMetrics{padding-inline:8px}
  body.liveTripPage .ltDriverSpeedBox strong,body.liveTripPage .ltDriverEta strong,body.liveTripPage .ltDriverRemaining strong{font-size:17px}
  body.liveTripPage .ltDriverSpeedBox span,body.liveTripPage .ltDriverEta span,body.liveTripPage .ltDriverRemaining span{font-size:10.5px}
  body.liveTripPage .ltDriveFilter{min-height:41px;padding-inline:9px;font-size:10px}
  body.liveTripPage .ltDriveRadius{min-height:41px;padding-inline:8px}
  body.liveTripPage .ltDriveRadius span,body.liveTripPage .ltDriveRadius select{font-size:10px}
}

@media (min-width:431px){
  body.liveTripPage .ltDriverMode{width:min(402px,calc(100% - 28px));left:50%;right:auto;transform:translateX(-50%)}
  body.liveTripPage .ltDriveFilters{left:50%;right:auto;width:min(412px,calc(100% - 18px));transform:translateX(-50%)}
  body.liveTripPage .ltMapActions{padding-inline:max(16px,calc((100% - 430px)/2 + 16px))}
  body.liveTripPage .ltBottomBar{padding-inline:max(12px,calc((100% - 430px)/2 + 12px))}
}
