.px-pickup-tools {display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;min-width:0}
.px-pickup-tools>button {font-size:.82rem;min-height:40px}
.px-pickup-tools details {flex:1;min-width:180px;padding:8px;background:#f0fdfa;border-radius:10px}
.px-pickup-tools summary {cursor:pointer;font-size:.82rem;color:#115e59}
.px-pickup-tools label {display:block;margin-top:8px;font-size:.8rem}
.px-pickup-tools input {width:100%;box-sizing:border-box;min-height:44px}
#pxDraftStatus,#pxConnectionStatus {grid-column:1/-1;font-size:.76rem;margin:4px 0;color:#475569;overflow-wrap:anywhere}
#pxConnectionStatus:not([hidden]) {background:#fff7ed;padding:10px;border-radius:8px;color:#7c2d12}
.px-publish-status:not([hidden]) {display:block!important;grid-column:1/-1;margin:8px 0;padding:12px;border-radius:10px;background:#f0fdfa;color:#115e59;font-size:.9rem;overflow-wrap:anywhere}
.px-publish-status.error-status:not([hidden]) {background:#fff7ed;color:#9a3412}
.px-pickup-dialog {width:min(580px,calc(100vw - 32px));max-height:90dvh;box-sizing:border-box;padding:18px;border:0;border-radius:18px;overflow:auto;color:#163b36;background:white}
.px-pickup-dialog::backdrop {background:#062b29bb}
.px-pickup-dialog h2 {font-size:1.2rem;margin:0 0 8px}
.px-pickup-dialog p {font-size:.88rem;line-height:1.4}
.px-pickup-map {position:relative;height:clamp(180px,38dvh,330px);overflow:hidden;background:#e2e8f0;touch-action:none;border-radius:12px;isolation:isolate}
.px-pickup-map .workspace-map-tiles {position:absolute;inset:0;pointer-events:none}
.px-center-pin {position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);font-size:36px;line-height:1;z-index:5;pointer-events:none;filter:drop-shadow(0 2px 2px #3338)}
.px-actions {display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.px-actions button {min-height:44px;white-space:normal}
.px-offer-summary,.px-matched-summary {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px;background:#f0fdfa;border-radius:12px;margin:8px 0}
.px-offer-summary>div,.px-matched-summary>div {min-width:0;flex:1}
.px-offer-summary p,.px-matched-summary p {margin:4px 0;overflow-wrap:anywhere;font-size:.85rem}
.px-avatar {display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;overflow:hidden;background:#ccfbf1;color:#115e59;flex:none;font-weight:bold}
.px-avatar img {width:100%;height:100%;object-fit:cover}
.px-waiting {margin-top:12px;padding:12px;border:1px solid #cbd5e1;border-radius:12px}
.px-waiting p {margin:0 0 8px}.px-waiting small {display:block;margin-top:8px;color:#475569}
.px-pickup-map:focus-visible, .px-actions button:focus-visible {outline:3px solid #0d9488;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.px-pickup-dialog *{scroll-behavior:auto!important}}

/* Keep the pickup control and its location choice in a single row at phone widths. */
body[data-waka-shell="passenger"] .pickup-entry-row,.pickup-entry-row:has(#pickupDescription){display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important}
.pickup-entry-row:has(#pickupDescription) .current-location-toggle{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;gap:5px!important;width:auto!important;min-width:0!important;padding:10px 7px!important;min-height:48px!important;white-space:nowrap!important;font-size:.8rem!important}
.pickup-entry-row:has(#pickupDescription) .pickup-address-field{grid-column:1!important;min-width:0!important}
.pickup-entry-row:has(#pickupDescription) input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px!important;flex:none!important}
#pickupSuggestions,#destinationSuggestions{position:relative!important;inset:auto!important;z-index:20!important;max-height:min(220px,32dvh)!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;scroll-margin-block:12px}
#rideRequestForm{scroll-padding-block:12px 32px;overscroll-behavior-y:contain}
#pxPickupTools{display:flex;flex-direction:column;gap:8px;grid-column:1/-1}
#pxPickupTools>button{width:100%;min-height:44px}
#pxPickupTools details{min-width:0}
.px-route-dialog{width:min(640px,calc(100vw - 20px));max-height:94dvh;padding:16px;border:0;border-radius:18px;overflow:auto;background:#fff;color:#163b36;box-sizing:border-box}
.px-route-dialog::backdrop{background:#062b29bb}
.px-route-dialog h2{font-size:1.2rem;margin:0 0 12px}
.px-route-map{position:relative;height:clamp(220px,40dvh,380px);overflow:hidden;isolation:isolate;border-radius:12px;background:#e2e8f0}
.px-route-map>.workspace-map-tiles,.px-route-map>.workspace-map-route-layer,.px-route-map>.workspace-map-markers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.px-route-dialog p{font-size:.9rem;margin:8px 0;overflow-wrap:anywhere}
.px-route-dialog .px-actions{margin-top:14px}
.px-route-dialog .px-actions button:last-child{flex-basis:100%;background:#0f766e;color:white}
.px-route-dialog .px-actions button:disabled{opacity:.5}
.px-route-status{font-weight:700}
.px-route-addresses{padding:8px 12px;background:#f0fdfa;border-radius:10px}
.px-landmark-note{padding:8px 10px;border-left:3px solid #0f766e;background:#f0fdfa;font-size:.85rem;overflow-wrap:anywhere}
.px-offer-summary{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;background:#f0fdfa;margin:0;padding:12px;border-radius:12px}
.px-offer-summary strong,.px-offer-summary small{display:block}
.px-offer-summary small{margin-top:5px;font-size:.78rem}
.offer-card:has(.px-offer-summary){padding:12px!important;gap:12px!important;border:1px solid #b8d9d2!important;border-radius:16px!important;box-shadow:0 3px 12px #123b3510}
.px-offer-history{font-size:.82rem;border-top:1px solid #dbe8e5;padding-top:8px}
.px-offer-history summary,.px-trip-details summary{cursor:pointer;min-height:32px;font-weight:650;color:#115e59}
.px-matched-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:10px 12px;background:#f0fdfa;border-radius:14px}
.px-matched-summary>.px-trip-details{flex-basis:100%;width:100%;font-size:.85rem}
.px-matched-summary>.px-agreed-fare{font-size:.9rem}
.px-trip-details .matched-rider-vehicle{padding:8px!important;margin:4px 0!important;font-size:.85rem!important}
body.passenger-active-ride-map-active:has(.px-matched-summary) #requestsBoard{display:none!important}
body.passenger-active-ride-map-active:has(.px-matched-summary) .board-grid.passenger-active-ride-mode{max-height:52dvh!important;overflow-y:auto!important}
body.passenger-active-ride-map-active:has(.px-matched-summary) #rideActionPanel{max-height:50dvh!important;overflow-y:auto!important}
body.passenger-active-ride-map-active:has(.px-matched-summary) .passenger-ride-tool-content:not([hidden]){max-height:25dvh;overflow-y:auto}
@media(max-width:700px){#rideRequestForm:focus-within{max-height:calc(var(--px-viewport-height,100dvh) - 16px)!important;overflow-y:auto!important}#rideRequestForm:focus-within .place-suggestions{max-height:min(180px,30dvh)!important}}
/* Override the older map-sheet rules as well as the generic form rules. */
#passenger-panel.passenger-request-map-mode #rideRequestForm .pickup-entry-row .current-location-toggle.checkbox-field{display:flex!important;align-items:center!important;align-self:end!important;justify-content:center!important;gap:5px!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:8px 6px!important;box-sizing:border-box!important}
#passenger-panel.passenger-request-map-mode #rideRequestForm #pickupUseCurrentLocation{height:20px!important;min-height:20px!important;max-height:20px!important;width:20px!important;margin:0!important;flex:none!important}
@media(max-width:700px){#passenger-panel.passenger-request-map-mode #rideRequestForm:focus-within{max-height:calc(var(--px-viewport-height,100dvh) - 16px)!important;overflow-y:auto!important}}
