/* Scoped intake card and native focused view; leave the surrounding site unchanged. */
.route-helper-surface { color: #16303f; background: #fff; border: 1px solid #cbd7df; border-radius: 20px; font: 400 .875rem/1.4 var(--sans, Arial, sans-serif); text-align: start; box-sizing: border-box; }
#route-helper { margin-block: 1.5rem; width: 100%; max-width: 46rem; box-shadow: 0 8px 24px #0f26351a; }
.route-helper-surface .route-helper-header { display: flex; align-items: center; gap: .625rem; padding: .625rem .875rem; }
.route-helper-surface .route-helper-avatar { display: block; width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #dce3e8; border-radius: 50%; overflow: hidden; background: #fff; }
.route-helper-surface .route-helper-avatar:empty { display: none; }
.route-helper-surface .route-helper-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; transform: scale(1.4); }
#route-helper-title, #route-helper-dialog-title { flex: 1; min-width: 0; margin: 0; color: #16303f; font: 650 1.125rem/1.2 var(--sans, Arial, sans-serif); letter-spacing: -.015em; }
.route-helper-surface .route-helper-content { padding: 0 .875rem .875rem; min-width: 0; }
.route-helper-surface form { margin: 0; }
.route-helper-surface label { display: block; margin: 0 0 .375rem; }
.route-helper-surface textarea, .route-helper-surface select { display: block; width: 100%; max-width: 100%; min-width: 0; color: #16303f; background: #fff; border: 1px solid #aabfcf; border-radius: 10px; font: 400 1rem/1.35 var(--sans, Arial, sans-serif); box-sizing: border-box; }
.route-helper-surface textarea { min-height: 76px; padding: .625rem; resize: vertical; }
.route-helper-surface select { min-height: 44px; margin-top: .375rem; padding: .5rem; }
.route-helper-surface .route-helper-note { margin: .375rem 0 0; color: #4b6270; font-size: .8125rem; line-height: 1.35; }
.route-helper-surface #route-helper-count { margin-top: .25rem; }
.route-helper-surface details { margin: .375rem 0 0; }
.route-helper-surface summary { box-sizing: border-box; min-height: 44px; padding-block: .5rem; cursor: pointer; color: #536773; font-size: .75rem; line-height: 1.4; list-style: none; }
.route-helper-surface summary::-webkit-details-marker { display: none; }
.route-helper-surface .route-helper-privacy-link { color: #16303f; text-decoration: underline; text-underline-offset: .15em; }
.route-helper-surface details p { margin: .75rem 0; overflow-wrap: anywhere; }
.route-helper-surface details a { text-decoration: underline; text-underline-offset: .15em; }
.route-helper-surface button { min-height: 44px; max-width: 100%; padding: .625rem .75rem; border: 1px solid #bccbd5; border-radius: 10px; color: #16303f; background: #fff; font: 600 .8125rem/1.3 var(--sans, Arial, sans-serif); white-space: normal; cursor: pointer; box-sizing: border-box; }
.route-helper-surface button:disabled { cursor: wait; opacity: .65; }
.route-helper-surface .route-helper-primary { color: #fff; background: #16303f; border-color: #16303f; }
.route-helper-surface .route-helper-icon { flex: 0 0 44px; width: 44px; height: 44px; padding: .625rem; border-color: transparent; }
.route-helper-surface #route-helper-status:not(:empty) { margin: .875rem 0 0; padding: .75rem; border-radius: 12px; background: #eef3f6; }
.route-helper-surface #route-helper-output:not(:empty) { margin-top: .75rem; padding: .875rem; border: 1px solid #dce3e8; border-radius: 14px; background: #f8fafb; overflow-wrap: anywhere; }
.route-helper-surface #route-helper-output p, .route-helper-surface #route-helper-output ul { margin: 0 0 .75rem; }
.route-helper-surface #route-helper-output ul { padding-inline-start: 1.25rem; }
.route-helper-surface #route-helper-output label, .route-helper-surface #route-helper-output button { margin-bottom: .75rem; }
.route-helper-surface #route-helper-draft { margin-top: .5rem; }
.route-helper-surface :focus-visible { outline: 3px solid #145c80; outline-offset: 3px; }
#route-helper-dialog { width: min(42rem, calc(100% - 1rem)); max-width: calc(100% - 1rem); max-height: calc(100vh - 1rem); max-height: calc(100dvh - 1rem); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; }
#route-helper-dialog::backdrop { background: #10273599; }
#route-helper-dialog .route-helper-header { position: sticky; top: 0; z-index: 1; gap: .375rem; background: #fff; border-bottom: 1px solid #dce3e8; }
#route-helper-dialog .route-helper-content { display: flex; flex-direction: column; padding-top: .75rem; }
#route-helper-dialog #route-helper-status { order: 0; }
#route-helper-dialog #route-helper-output { order: 1; }
#route-helper-dialog form { order: 2; margin-top: .75rem; }
@media (max-width: 360px) {
 .route-helper-surface .route-helper-header { padding-inline: .625rem; gap: .375rem; }
  .route-helper-surface .route-helper-content { padding-inline: .625rem; }
 #route-helper-dialog .route-helper-avatar { display: none; }
}

.route-helper-surface .route-helper-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.route-helper-surface .route-helper-composer { position: relative; }
.route-helper-surface #route-helper-message { min-height: 76px; padding: .75rem 3.75rem .75rem .75rem; border-radius: 14px; }
.route-helper-surface #route-helper-message::placeholder { color: #627986; opacity: 1; }
.route-helper-surface .route-helper-send { position: absolute; top: 16px; inset-inline-end: 8px; width: 44px; height: 44px; padding: .625rem; border-radius: 11px; }
.route-helper-surface button svg { display: block; width: 22px; height: 22px; margin: auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.route-helper-surface #route-helper-count[hidden] { display: none; }
#route-helper-dialog #route-helper-output { background: #fff; border-radius: 4px 16px 16px 16px; }
#route-helper-dialog #route-helper-status:not(:empty) { border-radius: 4px 16px 16px 16px; }
@media (max-width: 420px) { #route-helper-dialog .route-helper-avatar { display: none; } }

#route-helper #route-helper-sent-message, .route-helper-surface #route-helper-sent-message[hidden] { display: none; }
#route-helper-dialog #route-helper-sent-message:not([hidden]) { order: -1; align-self: flex-end; max-width: 85%; margin: 0 0 .5rem; padding: .75rem .875rem; color: #fff; background: #16303f; border-radius: 16px 16px 4px 16px; white-space: pre-wrap; overflow-wrap: anywhere; }
