
html:has(.has-trip-request #deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)),
body:has(.has-trip-request #deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) {
  overflow: hidden;
  overscroll-behavior: none;
}

.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 100dvh;
  padding: 0;
  overflow: hidden;
  overscroll-behavior: none;
}

.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .personal-mobile-heading,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .business-mobile-heading,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .business-portal-banner,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .portal-top-ribbons,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .personal-ribbon-tabs,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .topbar,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) #portal-sidebar,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .sidebar,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .nav-primary,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) #deliveries-mode-tabs,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .business-verification-status-banner,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .test-mode-banner,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) #admin-access-banner,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) #preview-account-banner {
  display: none !important;
}

.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .main {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .business-workspace,
.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) .business-workspace-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.app.has-trip-request:has(#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden)) #deliveries-view {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

#deliveries-view.hidden #deliveries-new-wrap,
body:not(:has(#deliveries-view:not(.hidden))) #deliveries-new-wrap {
  display: none !important;
}

#deliveries-view:not(.hidden) #deliveries-new-wrap:not(.hidden) {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 70;
  width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  overscroll-behavior: none;
}

.trip-request-form {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #e8eef5;
}

.trip-request-stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #e8eef5;
  border: 0;
  border-radius: 0;
}

.trip-request-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: #e8eef5;
  touch-action: none;
  overscroll-behavior: none;
}

.trip-request-map .delivery-map-loading {
  margin: 0;
  padding: 16px;
  color: #5f6368;
}

.trip-request-back {
  appearance: none;
  position: absolute;
  z-index: 7;
  top: max(12px, env(safe-area-inset-top, 0px));
  left: 12px;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #202124;
  box-shadow: 0 8px 24px rgba(18, 18, 18, 0.14);
  cursor: pointer;
}

.trip-request-back svg {
  width: 20px;
  height: 20px;
}

.trip-request-od {
  position: absolute;
  z-index: 6;
  top: max(12px, env(safe-area-inset-top, 0px));
  left: 60px;
  right: 12px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin: 0;
  padding: 10px 10px 10px 12px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--border, #e5e7eb);
  box-shadow: 0 8px 28px rgba(18, 18, 18, 0.12);
}

.trip-request-od-fields {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.trip-request-od-row {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.trip-request-od-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  justify-self: center;
  background: #1a73e8;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.16);
}

.trip-request-od-dot.is-dropoff {
  background: #d93025;
  box-shadow: 0 0 0 3px rgba(217, 48, 37, 0.14);
}

.trip-request-od-row input {
  width: 100%;
  margin: 0;
  padding: 8px 4px;
  border: 0;
  background: transparent;
  font: inherit;
  color: var(--text, #202124);
}

.trip-request-od-row input:focus {
  outline: none;
}

.trip-request-od-actions {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
}

.trip-request-icon-btn {
  appearance: none;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f3f4;
  color: #3c4043;
  cursor: pointer;
}

.trip-request-icon-btn svg {
  width: 18px;
  height: 18px;
}

.trip-request-icon-btn:disabled {
  opacity: 0.5;
  cursor: default;
}

.trip-request-suggest {
  position: absolute;
  z-index: 8;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  max-height: min(36vh, 220px);
  overflow-y: auto;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--border, #e5e7eb);
  box-shadow: 0 10px 28px rgba(18, 18, 18, 0.12);
}

.trip-request-suggest.hidden {
  display: none;
}

.trip-request-suggest-item {
  padding: 10px 14px;
  cursor: pointer;
  color: var(--text, #202124);
}

.trip-request-suggest-item:hover,
.trip-request-suggest-item.is-active {
  background: #f1f3f4;
}

.trip-request-zoom {
  position: absolute;
  z-index: 7;
  right: 12px;
  bottom: calc(var(--trip-request-sheet-h, 240px) + 12px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(18, 18, 18, 0.14);
}

.trip-request-zoom-btn {
  appearance: none;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  background: #fff;
  color: #202124;
  cursor: pointer;
}

.trip-request-zoom-btn + .trip-request-zoom-btn {
  border-top: 1px solid var(--border, #e5e7eb);
}

.trip-request-zoom-btn svg {
  width: 18px;
  height: 18px;
}

.trip-request-eta {
  position: absolute;
  z-index: 5;
  left: 12px;
  right: 64px;
  bottom: calc(var(--trip-request-sheet-h, 240px) + 12px);
  margin: 0;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--border, #e5e7eb);
  box-shadow: 0 4px 16px rgba(18, 18, 18, 0.1);
  text-align: center;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.trip-request-eta.hidden {
  display: none;
}

.trip-request-sheet {
  --trip-request-safe-bottom: max(
    48px,
    env(safe-area-inset-bottom, 0px),
    var(--safe-area-inset-bottom, 0px)
  );
  position: absolute;
  z-index: 6;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: auto;
  max-height: calc(100dvh - max(12px, env(safe-area-inset-top, 0px)) - 8px);
  margin: 0;
  padding: 4px 14px calc(16px + var(--trip-request-safe-bottom));
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  background: #fff;
  border: 1px solid var(--border, #e5e7eb);
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  box-shadow: 0 -8px 28px rgba(18, 18, 18, 0.12);
}

.trip-request-sheet-handle {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 22px;
  margin: 0;
  padding: 6px 0 2px;
  border: 0;
  background: transparent;
  cursor: pointer;
  flex: 0 0 auto;
}

.trip-request-sheet-handle-bar {
  display: block;
  width: 36px;
  height: 4px;
  border-radius: 999px;
  background: #dadce0;
}

.trip-request-sheet.is-collapsed {
  height: auto;
  max-height: none;
  gap: 0;
  padding: 2px 14px calc(8px + var(--trip-request-safe-bottom));
}

.trip-request-sheet.is-collapsed.is-trips {
  height: auto;
}

.trip-request-sheet.is-collapsed .trip-request-modes,
.trip-request-sheet.is-collapsed .trip-request-compose,
.trip-request-sheet.is-collapsed .trip-request-history,
.trip-request-sheet.is-collapsed .trip-request-actions {
  display: none !important;
}

.trip-request-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 0 0 auto;
  min-height: min-content;
  padding: 8px 2px 4px;
}

.trip-request-actions.hidden {
  display: none;
}

.trip-request-status {
  margin: 0;
  color: var(--text, #202124);
  font-size: 0.92rem;
}

.trip-request-refunds {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.trip-request-refunds .primary-btn,
.trip-request-refunds .secondary-btn {
  flex: 1 1 auto;
  min-height: 40px;
}

.app.has-trip-request:has(#trip-request-sheet.is-collapsed) .trip-request-od,
.app.has-trip-request:has(#trip-request-sheet.is-collapsed) .trip-request-eta {
  display: none;
}

.trip-request-sheet.is-expanded,
.trip-request-sheet:focus-within,
.trip-request-sheet:has(#notes-label:not(.hidden)),
.trip-request-sheet:has(.trip-request-notes-toggle[aria-expanded='true']) {
  gap: 6px;
  padding-top: 8px;
}

.trip-request-sheet.is-collapsed,
.trip-request-sheet.is-collapsed:focus-within,
.trip-request-sheet.is-collapsed.is-expanded {
  height: auto;
  gap: 0;
  padding: 2px 14px calc(8px + var(--trip-request-safe-bottom));
}

.trip-request-sheet:not(.is-collapsed):has(.trip-request-actions:not(.hidden):not([hidden])) {
  padding-bottom: calc(20px + var(--trip-request-safe-bottom));
}

.trip-request-sheet > * {
  flex: 0 1 auto;
  min-height: 0;
}

.trip-request-sheet > .trip-request-sheet-handle,
.trip-request-sheet > .trip-request-modes,
.trip-request-sheet > .trip-request-actions {
  flex: 0 0 auto;
  min-height: min-content;
}

.trip-request-sheet > .trip-request-actions {
  display: none !important;
}

.trip-request-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.trip-request-sheet.is-trips {
  height: min(80dvh, calc(100dvh - max(12px, env(safe-area-inset-top, 0px)) - 8px));
}

.trip-request-modes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  flex: 0 0 auto;
}

.trip-request-modes .trip-request-option {
  grid-template-columns: 36px minmax(0, 1fr);
  padding: 10px 12px;
}

.trip-request-compose {
  display: flex;
  flex-direction: column;
  gap: inherit;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.trip-request-pay {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: inherit;
  flex: 0 0 auto;
  margin-top: auto;
  padding-top: 8px;
  background: #fff;
}

.trip-request-compose.hidden,
.trip-request-history.hidden {
  display: none !important;
}

.trip-request-history {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 8px;
  -webkit-overflow-scrolling: touch;
}

.trip-request-history-empty {
  margin: 8px 2px 0;
  color: var(--muted, #5f6368);
}

.trip-request-history-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 0 0 auto;
}

.trip-request-history-row > .trip-request-refunds {
  padding: 0 2px 2px;
}

.trip-request-history-row > .trip-request-refunds .primary-btn {
  width: 100%;
}

.trip-request-history .trip-request-option {
  padding: 8px 10px;
  gap: 8px;
  grid-template-columns: 32px minmax(0, 1fr) auto;
}

.trip-request-history .trip-request-option .service-tab-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

.trip-request-history .trip-request-option .service-tab-icon svg {
  width: 18px;
  height: 18px;
}

.trip-request-option-full {
  display: none;
  flex-direction: column;
  gap: 2px;
}

.trip-request-option.active .trip-request-option-full {
  display: flex;
}

.trip-request-option.active .trip-request-option-short {
  display: none;
}

.trip-request-option {
  appearance: none;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--border, #e5e7eb);
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.trip-request-option.active {
  border-color: #1a73e8;
  background: rgba(26, 115, 232, 0.06);
  box-shadow: inset 0 0 0 1px #1a73e8;
}

.trip-request-option .service-tab-icon,
.trip-request-option-icon {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #f1f3f4;
  color: #3c4043;
}

.trip-request-option .service-tab-icon svg,
.trip-request-option-icon svg {
  width: 22px;
  height: 22px;
}

.trip-request-option-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.trip-request-option-copy strong {
  font-size: 1rem;
}

.trip-request-option-meta {
  color: var(--muted, #5f6368);
  font-size: 0.86rem;
}

.trip-request-option-shop,
.trip-request-option-items,
.trip-request-option-totals {
  display: block;
}

.trip-request-option-shop {
  color: var(--text, #202124);
}

.trip-request-option-items,
.trip-request-option-item {
  color: var(--text, #202124);
}

.trip-request-option-price {
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

.trip-request-sheet .contact-field,
.trip-request-sheet #notes-label,
.trip-request-sheet #order-id-label,
.trip-request-sheet .trip-request-notes,
.trip-request-sheet .cart-choice-group {
  margin: 0;
}

.trip-request-notes-toggle {
  appearance: none;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 12px;
  background: #fff;
  color: var(--text, #202124);
  text-align: left;
  cursor: pointer;
}

.trip-request-notes-toggle[aria-expanded='true'] {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.trip-request-sheet #notes-label:not(.hidden) {
  display: block;
  padding: 0 0 2px;
}

.trip-request-sheet #notes-label textarea {
  width: 100%;
  min-height: 52px;
  max-height: 88px;
  resize: none;
}

.trip-request-sheet .drivers-nearby-banner {
  margin: 0;
}

.trip-request-form .trip-fare-card {
  display: none !important;
}

.trip-request-sheet #create-submit-btn {
  flex: 0 0 auto;
  width: 100%;
  margin: 4px 0 0;
}

.trip-request-sheet.is-expanded .trip-request-option,
.trip-request-sheet:focus-within .trip-request-option,
.trip-request-sheet:has(#notes-label:not(.hidden)) .trip-request-option {
  padding: 8px 12px;
}
