
/* QA-only: Quick Trip full-map experience inspired by a dark ride-hailing UI.
   Reuses the existing verified road and price modules. No fake cars/payment. */
body.qt-focus-open{overflow:hidden!important;overscroll-behavior:none}
#qt-focus[hidden]{display:none!important}
#qt-focus{position:fixed;inset:0;z-index:10000;color:#fafafa;
  background:#232a36;overflow:hidden;isolation:isolate;font-family:system-ui,sans-serif}
#qt-focus *{box-sizing:border-box}
#qt-focus button{font-family:inherit;cursor:pointer}
#qt-focus .qt-focus-map{position:absolute;inset:0;overflow:hidden;background:#2c303b}
#qt-focus .qt-focus-map .premium-real-map{
  position:relative!important;width:100%!important;min-width:100%;
  max-width:none!important;
  border:0!important;border-radius:0!important;background:#2d3340!important;
  overflow:hidden!important;isolation:isolate;
  /* The verified route renderer owns the inline height. A forced 80dvh
     previously left a large unpainted section on Samsung. */
}
#qt-focus .qt-focus-map .premium-map-tiles{
  position:absolute!important;inset:0!important;overflow:hidden!important;
  z-index:1;pointer-events:none;
}
#qt-focus .qt-focus-map .premium-map-tiles img{
  position:absolute!important;display:block!important;
  width:256px!important;height:256px!important;
  max-width:none!important;min-width:256px!important;
  margin:0!important;object-fit:fill!important;
  pointer-events:none!important;
}
#qt-focus .qt-focus-map .premium-map-overlays{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  display:block!important;overflow:visible!important;
  z-index:2!important;pointer-events:none!important;
}
#qt-focus .qt-focus-map .premium-map-credit{
  position:absolute!important;z-index:4!important;
}
#qt-focus .qt-focus-map .premium-map-controls{
  position:absolute!important;z-index:5!important;
}
#qt-focus .premium-map-tiles{background:#2b303b!important}
#qt-focus .premium-map-tiles img{filter:grayscale(.92) saturate(.50) brightness(.65) contrast(1.18)!important}
#qt-focus .premium-map-route{stroke:#f4f7f6!important;stroke-width:6!important;
  filter:drop-shadow(0 2px 3px #111b22)!important}
#qt-focus .premium-map-route-shadow{stroke:#121820!important;stroke-width:10!important}
#qt-focus .premium-map-credit{background:#262b33d9!important;color:#e9e9e9!important;
  right:12px!important;left:auto!important;bottom:10px!important}
#qt-focus .premium-map-controls{right:14px!important;top:36%!important;bottom:auto!important;
  background:#202529e8!important;border:1px solid #ffffff30!important;
  width:46px!important}
#qt-focus .premium-map-control{color:#fff!important;background:transparent!important}
#qt-focus .premium-map-control-explore{color:#c1e5dc!important}
#qt-focus .premium-map-control+.premium-map-control{border-color:#ffffff24!important}
#qt-focus .premium-map-view-label{display:none!important}
#qt-focus .premium-map-gesture-hint{top:25%!important;left:16px!important;bottom:auto!important}
#qt-focus .qt-focus-top{position:absolute;z-index:4;top:calc(18px + env(safe-area-inset-top,0px));
  left:14px;right:14px;display:flex;gap:12px;align-items:center;pointer-events:none}
#qt-focus .qt-focus-top>*{pointer-events:auto}
#qt-focus .qt-focus-back{flex:0 0 52px;height:52px;border-radius:50%;border:0;
  background:#171819;color:#f7f7f7;font-size:30px;line-height:1;
  box-shadow:0 6px 20px #0008}
#qt-focus .qt-focus-address{max-width:calc(100vw - 160px);min-width:0;min-height:57px;
  padding:9px 17px;border-radius:34px;background:#18191b;color:white;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:3px;
  box-shadow:0 6px 22px #0006}
#qt-focus .qt-focus-address small{font-size:11px;color:#bdc9ca;font-weight:650}
#qt-focus .qt-focus-address strong{display:block;max-width:100%;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:-.01em}
#qt-focus .qt-focus-brand{margin-left:auto;background:#0e363bdf;color:#efd7a7;
  border:1px solid #e1c58c52;border-radius:16px;padding:9px 10px;
  font-size:11px;font-weight:800;white-space:nowrap}
#qt-focus .qt-focus-sheet{position:absolute;bottom:0;left:0;right:0;z-index:5;
  margin:0;max-height:min(52dvh,480px);overflow-y:auto;overscroll-behavior:contain;
  background:#1b1c1e;color:#f4f4f4;
  border-radius:28px 28px 0 0;box-shadow:0 -18px 42px #0008;
  padding:7px 20px calc(17px + env(safe-area-inset-bottom,0px));}
#qt-focus .qt-focus-handle{width:100%;height:22px;background:transparent;border:0;display:grid;
  place-items:start center;padding:0 0 10px}
#qt-focus .qt-focus-grab{width:43px;height:5px;border-radius:5px;background:#626262}
#qt-focus .qt-focus-sheet-heading{display:flex;justify-content:space-between;
  gap:10px;align-items:baseline;border-bottom:1px solid #4d4d4d;padding:4px 0 14px}
#qt-focus .qt-focus-sheet-heading small{font-size:10px;letter-spacing:.09em;color:#b8d7d3}
#qt-focus .qt-focus-sheet-heading h2{font-size:22px;font-weight:760;letter-spacing:-.035em;
  margin:0}
#qt-focus .qt-focus-option{display:flex;align-items:center;gap:12px;
  border:2px solid #e5e5e5;border-radius:17px;margin-top:14px;padding:12px 10px;min-height:88px}
#qt-focus .qt-focus-car{font-size:35px;line-height:1;filter:grayscale(1)}
#qt-focus .qt-focus-car-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
#qt-focus .qt-focus-car-copy strong{font-size:19px}
#qt-focus .qt-focus-car-copy small{font-size:12px;color:#c4c4c4}
#qt-focus .qt-focus-fare{font-size:20px;white-space:nowrap}
#qt-focus .qt-focus-stats{display:grid;grid-template-columns:1fr 1fr;
  gap:12px;padding:14px 2px 6px}
#qt-focus .qt-focus-stat{display:flex;flex-direction:column;gap:4px}
#qt-focus .qt-focus-stat small{font-size:10px;color:#aaa;font-weight:700;letter-spacing:.07em}
#qt-focus .qt-focus-stat strong{font-size:16px;font-weight:760}
#qt-focus .qt-focus-points{display:none;gap:6px;padding:7px 3px 3px}
#qt-focus.qt-focus-expanded .qt-focus-points{display:grid}
#qt-focus .qt-focus-points p{margin:0;font-size:12px;color:#dddddd;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#qt-focus .qt-focus-message{font-size:11px;color:#b4c8c6;margin:7px 2px}
#qt-focus .qt-focus-actions{display:flex;gap:8px;margin-top:12px}
#qt-focus .qt-focus-submit{display:block;flex:1;min-height:53px;border-radius:14px;
  background:#e8d3a8;color:#12262a;border:0;font-size:16px;font-weight:820}
#qt-focus .qt-focus-submit:disabled{opacity:.52;cursor:not-allowed}
#qt-focus .qt-focus-retry{font-size:12px;font-weight:700;background:#28383b;
  border:1px solid #bdd7cc55;color:#f6e6c2;border-radius:14px;padding:10px}
#qt-focus .qt-focus-note{font-size:10px;color:#a9b4b4;
  margin:10px 0 0;text-align:center}
#qt-focus.qt-focus-expanded .qt-focus-sheet{max-height:min(70dvh,590px)}
#qt-focus .qt-focus-back:focus-visible,#qt-focus button:focus-visible{
  outline:3px solid #a3e8cc;outline-offset:3px}
body.qt-clean .premium-route-expand{display:flex;gap:7px;align-items:center;justify-content:center;
  min-height:44px!important;margin:9px 12px!important;padding:10px 14px!important;
  width:calc(100% - 24px)!important;background:#123e42!important;color:#fff2d8!important;
  border:1px solid #e5cc9878!important;border-radius:14px!important;
  font-size:13px!important;font-weight:750!important}
@media(max-height:690px){#qt-focus .qt-focus-sheet{max-height:59dvh}
  #qt-focus .qt-focus-top{top:calc(8px + env(safe-area-inset-top,0px))}}
@media(max-width:360px){#qt-focus .qt-focus-brand{display:none}
  #qt-focus .qt-focus-address{max-width:calc(100vw - 90px)}}
@media(prefers-reduced-motion:reduce){#qt-focus *{animation:none!important;transition:none!important}}

/* Foreground road must always overlay the cartography in full-screen,
   including on browsers with high DPR and restricted tile availability. */
#qt-focus .qt-focus-map .premium-map-overlays .premium-map-route{
  fill:none!important;stroke:#f5f7f8!important;
  stroke-width:6!important;stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
}
#qt-focus .qt-focus-map .premium-map-overlays .premium-map-route-shadow{
  fill:none!important;stroke:#161b23!important;stroke-width:10!important;
  vector-effect:non-scaling-stroke;
}

/* The bottom sheet is now a real two-position mobile control. Compact mode
   leaves the verified route prominent; swipe up or use the handle for detail. */
#qt-focus .qt-focus-handle{touch-action:none!important;cursor:ns-resize!important}
#qt-focus .qt-focus-sheet-heading{touch-action:pan-x;cursor:ns-resize}
#qt-focus .qt-focus-sheet{transition:max-height .18s ease,transform .18s ease}
#qt-focus:not(.qt-focus-expanded) .qt-focus-points,
#qt-focus:not(.qt-focus-expanded) .qt-focus-stats,
#qt-focus:not(.qt-focus-expanded) .qt-focus-note{
  display:none!important
}
#qt-focus.qt-focus-expanded .qt-focus-points,
#qt-focus.qt-focus-expanded .qt-focus-stats{
  display:grid!important
}
#qt-focus.qt-focus-expanded .qt-focus-note{display:block}
#qt-focus .qt-focus-sheet{max-height:min(48dvh,425px)}
#qt-focus.qt-focus-expanded .qt-focus-sheet{max-height:min(68dvh,590px)}
#qt-focus .qt-focus-legend{display:flex;align-items:center;flex-wrap:wrap;
  gap:6px 14px;margin:8px 2px 0;font:700 10px/1.35 system-ui,sans-serif}
#qt-focus .qt-focus-legend[hidden]{display:none!important}
#qt-focus .qt-focus-legend span{color:#ece8e1}
#qt-focus .qt-focus-legend span[hidden]{display:none!important}
#qt-focus .qt-focus-legend-approach::first-letter{color:#58e2b5}
#qt-focus .qt-focus-legend-booked::first-letter{color:#f2f7fa}
#qt-focus .qt-focus-map .reservation-live{
  position:absolute!important;inset:0!important;padding:0!important;
  background:transparent!important;border:0!important;
  pointer-events:none
}
#qt-focus .qt-focus-map .reservation-live-map{
  position:absolute!important;inset:0!important;border:0!important;
  border-radius:0!important;overflow:hidden!important;
  background:#28313b!important;pointer-events:auto
}
#qt-focus .qt-focus-map .reservation-live-heading,
#qt-focus .qt-focus-map .reservation-live-metrics,
#qt-focus .qt-focus-map .reservation-live-note,
#qt-focus .qt-focus-map .reservation-live-freshness{
  display:none!important
}
#qt-focus .qt-focus-map .premium-map-approach{
  fill:none!important;stroke:#55e3b4!important;stroke-width:6!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))
}
#qt-focus .qt-focus-map .premium-map-approach-shadow{
  fill:none!important;stroke:#102b32!important;stroke-width:10!important;
  vector-effect:non-scaling-stroke
}
#qt-focus[data-mode="tracking"] .qt-focus-car-detail{color:#b8e6d2}
#qt-focus[data-mode="tracking"] .qt-focus-retry{display:none!important}
#qt-focus[data-mode="tracking"] .qt-focus-option{border-color:#b8d8d277}
#qt-focus[data-mode="tracking"] .qt-focus-note{display:none!important}
#qt-focus .qt-focus-map .premium-map-controls{pointer-events:auto}
@media(prefers-reduced-motion:reduce){
  #qt-focus .qt-focus-sheet{transition:none!important}
}

/* QA CANONICAL PASSENGER TRACKING: origin + destination + verified map + sheet.
   Strictly scope all rules to tracking; booking preview retains its design. */
#qt-focus .qt-focus-tracking-route,#qt-focus .qt-focus-tracking-extra{display:none}
#qt-focus[data-mode="tracking"]{
  background:#092b31;color:#f5f1e7;
}
#qt-focus[data-mode="tracking"] .qt-focus-top{
  top:calc(9px + env(safe-area-inset-top,0px));
  left:10px;right:10px;align-items:flex-start;gap:9px;
}
#qt-focus[data-mode="tracking"] .qt-focus-back{
  flex:0 0 43px;width:43px;height:43px;border-radius:13px;
  background:#11343bdc;border:1px solid #d9c59166;font-size:25px;
}
#qt-focus[data-mode="tracking"] .qt-focus-address,
#qt-focus[data-mode="tracking"] .qt-focus-brand{display:none!important}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-route{
  display:grid;flex:1;min-width:0;gap:5px;padding:10px 13px;
  border-radius:17px;border:1px solid #ddd6b35c;
  background:#0b3039e9;box-shadow:0 7px 24px #0006;
  max-height:136px;overflow-y:auto;overscroll-behavior:contain;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-point{
  display:grid;grid-template-columns:19px minmax(0,1fr);
  gap:8px;align-items:center;min-width:0;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-point+.qt-focus-tracking-point{
  padding-top:6px;border-top:1px solid #c5cbb52a;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-pin{
  color:#65d6a9;font-size:16px;text-align:center;
}
#qt-focus[data-mode="tracking"] [data-point="destination"] .qt-focus-tracking-pin{
  color:#f4e7c6;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-copy{
  display:grid;gap:1px;min-width:0;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-copy small{
  color:#b7cdc8;font-size:9px;letter-spacing:.1em;font-weight:800;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-copy strong{
  color:#fff6df;font-size:12px;line-height:1.3;font-weight:760;
  overflow-wrap:anywhere;
}
#qt-focus[data-mode="tracking"] .qt-focus-sheet{
  background:#092b34;color:#f9f2e5;border-radius:22px 22px 0 0;
  padding:7px 15px calc(11px + env(safe-area-inset-bottom,0px));
  max-height:min(36dvh,304px);overflow-y:auto;
}
#qt-focus[data-mode="tracking"] .qt-focus-sheet-heading{
  padding:2px 0 8px;border-bottom:1px solid #9ac7b63b;
}
#qt-focus[data-mode="tracking"] .qt-focus-sheet-heading h2{font-size:18px;line-height:1.1}
#qt-focus[data-mode="tracking"] .qt-focus-sheet-heading small{font-size:9px}
#qt-focus[data-mode="tracking"] .qt-focus-option{
  min-height:48px;margin-top:8px;padding:6px 10px;border:1px solid #b4bfae4f;
  background:#123d45;border-radius:12px;gap:7px;
}
#qt-focus[data-mode="tracking"] .qt-focus-car{font-size:21px}
#qt-focus[data-mode="tracking"] .qt-focus-car-copy strong{font-size:12px}
#qt-focus[data-mode="tracking"] .qt-focus-car-copy small{font-size:10px}
#qt-focus[data-mode="tracking"] .qt-focus-fare{font-size:16px}
#qt-focus[data-mode="tracking"] .qt-focus-stats,
#qt-focus[data-mode="tracking"]:not(.qt-focus-expanded) .qt-focus-stats{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;padding:7px 1px 0;
}
#qt-focus[data-mode="tracking"] .qt-focus-stat{gap:1px}
#qt-focus[data-mode="tracking"] .qt-focus-stat small{font-size:9px}
#qt-focus[data-mode="tracking"] .qt-focus-stat strong{font-size:13px}
#qt-focus[data-mode="tracking"] .qt-focus-message{
  font:500 10px/1.35 system-ui,sans-serif;color:#d3e2dc;
  margin:6px 0 2px;
}
#qt-focus[data-mode="tracking"] .qt-focus-points,
#qt-focus[data-mode="tracking"].qt-focus-expanded .qt-focus-points,
#qt-focus[data-mode="tracking"] .qt-focus-actions,
#qt-focus[data-mode="tracking"] .qt-focus-note{display:none!important}
#qt-focus[data-mode="tracking"] .qt-focus-legend{
  margin:5px 1px 0;font-size:9px;gap:5px 10px;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-extra{
  display:none;min-width:0;margin-top:12px;
  border-top:1px solid #d3caa14a;padding-top:13px;
}
#qt-focus[data-mode="tracking"].qt-focus-expanded .qt-focus-tracking-extra{
  display:grid;gap:9px;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-stage{
  font-size:13px;color:#f5e7c6;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-vehicle{
  font-size:11px;line-height:1.45;color:#c6d7d2;margin:0;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-contacts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-contact{
  min-width:0;min-height:44px;display:flex;justify-content:center;
  align-items:center;text-align:center;padding:7px 4px;
  border:1px solid #decda079;border-radius:11px;
  background:#153f44;color:#fff1d7;
  font:700 11px system-ui,sans-serif;text-decoration:none;
}
#qt-focus[data-mode="tracking"] .qt-focus-tracking-contact:disabled{
  opacity:.45;cursor:not-allowed;
}
#qt-focus[data-mode="tracking"].qt-focus-expanded .qt-focus-sheet{
  max-height:min(58dvh,480px);
}
#qt-focus[data-mode="tracking"] .qt-focus-map .premium-map-controls{
  top:44%!important;right:12px!important;
}
@media(max-height:700px){
  #qt-focus[data-mode="tracking"] .qt-focus-tracking-route{max-height:110px}
  #qt-focus[data-mode="tracking"] .qt-focus-sheet{max-height:38dvh}
}

/* QT FOLLOW ARRIVED LABEL — visual-only deduplication, not a GPS override.
   The stage remains readable in the canonical sheet title and details. */
#qt-focus[data-mode="tracking"][data-follow-stage="arrived"] .reservation-live-status{
  display:none!important;
}
