/* TaxiFlow hard CSS isolation.
 * :is() contributes ID-level specificity while still matching .tfb-app.
 * This keeps Elementor/theme !important rules outside the TaxiFlow design. */
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] {
    isolation: isolate !important;
    color-scheme: light !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    font-family: Lexend, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] *,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] *::before,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] *::after {
    all: revert !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    text-indent: inherit !important;
    text-shadow: inherit !important;
    color: inherit !important;
}
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] strong,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] b { font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] em,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] i { font-style: italic !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] a { color: var(--tfb-charcoal) !important; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 2px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] button,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] input,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] select,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] textarea {
    font-family: inherit !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-shadow: none !important;
}
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] input::placeholder,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] textarea::placeholder {
    color: #777777 !important;
    opacity: 1 !important;
}
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] input:-webkit-autofill,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] input:-webkit-autofill:hover,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] input:-webkit-autofill:focus,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] textarea:-webkit-autofill,
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] select:-webkit-autofill {
    -webkit-text-fill-color: var(--tfb-text) !important;
    box-shadow: 0 0 0 1000px #FFFFFF inset !important;
    transition: background-color 999999s ease-out 0s !important;
}

:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app]{
    --tfb-gold: #FFC107 !important;
    --tfb-charcoal: #2E2E2E !important;
    --tfb-white: #FFFFFF !important;
    --tfb-page-bg: #F7F7F7 !important;
    --tfb-card-bg: #FFFFFF !important;
    --tfb-text: #2E2E2E !important;
    --tfb-muted: #6F6F6F !important;
    --tfb-border: #E3E3E3 !important;
    --tfb-success: #238636 !important;
    --tfb-error: #C62828 !important;
    --tfb-warning-bg: #FFF8DB !important;
    --tfb-max-width: 1160px !important;
}
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app], :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] *{ box-sizing: border-box !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app]{ width: 100% !important; padding: 24px 12px !important; background: var(--tfb-page-bg) !important; color: var(--tfb-text) !important; font-family: Lexend, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; line-height: 1.55 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-shell{ width: min(100%, var(--tfb-max-width)) !important; margin: 0 auto !important; padding: clamp(18px, 3vw, 32px) !important; background: var(--tfb-card-bg) !important; border: 1px solid var(--tfb-border) !important; border-radius: 16px !important; box-shadow: 0 18px 50px rgba(0,0,0,.08) !important; overflow: visible !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-header{ text-align: center !important; margin-bottom: 22px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-eyebrow, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-section-heading span, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success > span{ display: block !important; color: #806200 !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .1em !important; font-size: 11px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-header h2, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success h2{ margin: 4px 0 6px !important; font-family: "Good Times", Lexend, sans-serif !important; font-size: clamp(28px, 4vw, 36px) !important; line-height: 1.14 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-header p{ margin: 0 auto !important; max-width: 650px !important; color: var(--tfb-muted) !important; font-size: 14px !important; line-height: 1.45 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress{ display: grid !important; grid-template-columns: repeat(4, 1fr) !important; position: relative !important; margin-bottom: 26px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress::before{ content: "" !important; position: absolute !important; top: 18px !important; left: 12.5% !important; right: 12.5% !important; height: 2px !important; background: var(--tfb-border) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step{ position: relative !important; display: grid !important; justify-items: center !important; gap: 6px !important; border: 0 !important; background: transparent !important; color: var(--tfb-muted) !important; font: inherit !important; cursor: pointer !important; min-height: 48px !important; padding: 0 4px !important; z-index: 1 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step:disabled{ cursor: default !important; opacity: .62 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__number{ display: grid !important; place-items: center !important; width: 36px !important; height: 36px !important; border: 2px solid var(--tfb-border) !important; border-radius: 50% !important; background: var(--tfb-white) !important; font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__number svg{ display: none !important; width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2.5 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step.is-active .tfb-progress__number{ border-color: var(--tfb-gold) !important; background: var(--tfb-gold) !important; color: var(--tfb-charcoal) !important; box-shadow: 0 0 0 4px rgba(255,193,7,.18) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step.is-active .tfb-progress__label{ color: var(--tfb-charcoal) !important; font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step.is-complete .tfb-progress__number{ background: var(--tfb-charcoal) !important; border-color: var(--tfb-charcoal) !important; color: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step.is-complete .tfb-progress__number span{ display: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step.is-complete .tfb-progress__number svg{ display: block !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__label{ font-size: 13px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-status{ margin: 0 0 16px !important; padding: 10px 14px !important; border-radius: 8px !important; background: #f0f3f5 !important; font-size: 14px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-status:empty{ display: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-status.is-error{ background: #fff0f0 !important; color: var(--tfb-error) !important; border-left: 4px solid var(--tfb-error) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-status.is-success{ background: #effaf1 !important; color: var(--tfb-success) !important; border-left: 4px solid var(--tfb-success) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-status.is-loading{ background: var(--tfb-warning-bg) !important; border-left: 4px solid var(--tfb-gold) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-error-summary{ margin-bottom: 16px !important; padding: 12px 16px !important; border: 1px solid #efb3b3 !important; border-radius: 8px !important; background: #fff4f4 !important; color: var(--tfb-error) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-error-summary ul{ margin: 6px 0 0 20px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-step[hidden], :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] [hidden]{ display: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-section-heading{ display: flex !important; justify-content: space-between !important; align-items: end !important; gap: 20px !important; margin-bottom: 18px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-section-heading h3{ margin: 3px 0 0 !important; font-size: clamp(23px, 2.6vw, 28px) !important; line-height: 1.2 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-grid{ display: grid !important; gap: 16px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-span-2{ grid-column: 1 / -1 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field{ position: relative !important; min-width: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field label, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-fieldset legend{ display: block !important; margin-bottom: 6px !important; font-size: 14px !important; font-weight: 650 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field input, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field textarea, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field select, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-sort select{ width: 100% !important; min-height: 48px !important; padding: 8px 10px !important; border: 1px solid var(--tfb-border) !important; border-radius: 8px !important; background: #fff !important; color: var(--tfb-text) !important; font: inherit !important; font-size: 14px !important; pointer-events: auto !important; opacity: 1 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field textarea{ min-height: 96px !important; resize: vertical !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field input:focus, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field textarea:focus, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field select:focus, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-sort select:focus, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button:focus-visible, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__step:focus-visible, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-check input:focus-visible{ outline: 3px solid rgba(255,193,7,.32) !important; outline-offset: 2px !important; border-color: var(--tfb-charcoal) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field [aria-invalid="true"]{ border-color: var(--tfb-error) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field-error{ min-height: 20px !important; margin: 3px 0 0 !important; color: var(--tfb-error) !important; font-size: 13px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-field-error:empty{ display: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-fieldset{ margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-segmented{ display: inline-grid !important; grid-template-columns: repeat(2, minmax(120px, 1fr)) !important; padding: 3px !important; border: 1px solid var(--tfb-border) !important; border-radius: 12px !important; background: #f1f1f1 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-segmented label{ position: relative !important; cursor: pointer !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-segmented input{ position: absolute !important; opacity: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-segmented span{ display: block !important; min-height: 42px !important; padding: 9px 16px !important; border-radius: 8px !important; text-align: center !important; font-weight: 650 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-segmented input:checked + span{ background: var(--tfb-gold) !important; box-shadow: 0 2px 7px rgba(0,0,0,.08) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-segmented input:focus-visible + span{ outline: 3px solid rgba(255,193,7,.32) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-card{ border: 1px solid var(--tfb-border) !important; border-radius: 16px !important; background: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-card--flat{ margin-top: 18px !important; padding: 16px !important; box-shadow: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-card h4{ margin: 0 0 15px !important; font-size: 18px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stops{ margin: 12px 0 0 !important; padding: 12px !important; overflow: visible !important; background: #fafafa !important; border: 1px dashed #c9c9c9 !important; border-radius: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stops__header{ display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stops__header h4{ margin: 0 !important; font-size: 16px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stops [data-stops-list]:empty{ display: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-row{ position: relative !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px !important; align-items: end !important; margin-top: 10px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-row .tfb-field{ min-width: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-actions{ display: flex !important; align-self: end !important; gap: 6px !important; margin: 0 !important; padding: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-actions button{ display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 42px !important; width: 42px !important; height: 48px !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--tfb-border) !important; border-radius: 8px !important; background: #fff !important; color: var(--tfb-charcoal) !important; cursor: pointer !important; font: inherit !important; font-size: 0 !important; line-height: 1 !important; transition: background-color .2s ease, border-color .2s ease, color .2s ease !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-actions button svg{ display: block !important; width: 18px !important; height: 18px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-actions button:hover:not(:disabled){ border-color: var(--tfb-charcoal) !important; background: var(--tfb-charcoal) !important; color: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-actions button:disabled{ opacity: .35 !important; cursor: not-allowed !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-actions .tfb-stop-action--remove:hover:not(:disabled){ border-color: var(--tfb-error) !important; background: var(--tfb-error) !important; color: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stepper{ display: grid !important; grid-template-columns: 48px 1fr 48px !important; border: 1px solid var(--tfb-border) !important; border-radius: 8px !important; overflow: hidden !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stepper input{ min-height: 48px !important; border: 0 !important; border-left: 1px solid var(--tfb-border) !important; border-right: 1px solid var(--tfb-border) !important; border-radius: 0 !important; text-align: center !important; appearance: textfield !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stepper button{ border: 0 !important; background: #fff !important; font-family: inherit !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1 !important; cursor: pointer !important; min-height: 48px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stepper button:hover{ background: var(--tfb-gold) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-autocomplete{ z-index: 5 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-autocomplete::after{ content: "" !important; display: none !important; position: absolute !important; right: 15px !important; top: 43px !important; width: 18px !important; height: 18px !important; border: 2px solid #ddd !important; border-top-color: var(--tfb-charcoal) !important; border-radius: 50% !important; animation: tfb-spin .7s linear infinite !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-autocomplete.is-loading::after{ display: block !important; }
@keyframes tfb-spin { to { transform: rotate(360deg); } }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestions{ position: absolute !important; top: calc(100% + 4px) !important; left: 0 !important; right: 0 !important; z-index: 30 !important; max-height: 280px !important; overflow-y: auto !important; border: 1px solid var(--tfb-border) !important; border-radius: 10px !important; background: #fff !important; box-shadow: 0 14px 35px rgba(0,0,0,.16) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestions:empty, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestions[hidden]{ display: none !important; border: 0 !important; box-shadow: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestion{ display: block !important; width: 100% !important; min-height: 50px !important; padding: 11px 14px !important; border: 0 !important; border-bottom: 1px solid #eee !important; background: #fff !important; text-align: left !important; color: var(--tfb-text) !important; cursor: pointer !important; font: inherit !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestion:last-child{ border-bottom: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestion:hover, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestion[aria-selected="true"]{ background: var(--tfb-warning-bg) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestion span, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestion small{ display: block !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-suggestion small{ color: var(--tfb-muted) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-optional{ margin: 18px 0 !important; padding: 14px !important; border: 1px solid var(--tfb-border) !important; border-radius: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-optional summary{ cursor: pointer !important; font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-optional[open] summary{ margin-bottom: 18px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts{ display: grid !important; align-content: center !important; gap: 6px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts--standalone{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin-top: 18px !important; padding: 10px !important; border-radius: 12px !important; background: #f4f4f4 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts div{ min-width: 0 !important; padding: 8px 10px !important; border-radius: 8px !important; background: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts span, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts strong{ display: block !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts span{ color: var(--tfb-muted) !important; font-size: 11px !important; line-height: 1.3 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts strong{ margin-top: 3px !important; font-size: 14px !important; line-height: 1.35 !important; overflow-wrap: anywhere !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts.is-loading strong{ color: var(--tfb-muted) !important; font-weight: 500 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button{ display: inline-flex !important; pointer-events: auto !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 46px !important; padding: 10px 18px !important; border: 1px solid !important; border-radius: 12px !important; font: 650 15px/1.2 Lexend, sans-serif !important; cursor: pointer !important; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important; text-decoration: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button svg{ width: 19px !important; height: 19px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button--primary{ background: var(--tfb-gold) !important; color: var(--tfb-charcoal) !important; border-color: var(--tfb-gold) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button--primary:hover{ background: var(--tfb-charcoal) !important; color: #fff !important; border-color: var(--tfb-charcoal) !important; transform: translateY(-1px) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button--secondary{ background: #fff !important; color: var(--tfb-charcoal) !important; border-color: var(--tfb-charcoal) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button--secondary:hover{ background: var(--tfb-charcoal) !important; color: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button--small{ min-height: 42px !important; padding: 9px 14px !important; font-size: 14px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-button:disabled{ opacity: .48 !important; cursor: not-allowed !important; transform: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-actions{ display: flex !important; justify-content: space-between !important; gap: 14px !important; margin-top: 22px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-actions--end{ justify-content: flex-end !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-sort{ display: grid !important; gap: 4px !important; color: var(--tfb-muted) !important; font-size: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-sort select{ min-width: 190px !important; min-height: 42px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-mini-summary{ display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center !important; gap: 10px !important; margin-bottom: 14px !important; padding: 8px 12px !important; border-radius: 10px !important; background: var(--tfb-warning-bg) !important; font-size: 12px !important; line-height: 1.35 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-mini-summary__route{ display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important; align-items: center !important; gap: 8px !important; min-width: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-mini-summary__address{ display: block !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; font-size: 12px !important; font-weight: 600 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-mini-summary__arrow{ color: #806200 !important; font-size: 13px !important; font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-mini-summary small{ margin: 0 !important; color: var(--tfb-muted) !important; font-size: 11px !important; line-height: 1.2 !important; white-space: nowrap !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-grid{ display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card{ overflow: hidden !important; border: 1px solid var(--tfb-border) !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 6px 20px rgba(0,0,0,.055) !important; transition: transform .2s, border-color .2s, box-shadow .2s !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card:hover{ transform: translateY(-1px) !important; box-shadow: 0 10px 30px rgba(0,0,0,.09) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card.is-selected{ border: 2px solid var(--tfb-gold) !important; box-shadow: 0 0 0 4px rgba(255,193,7,.16) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card > img, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-placeholder{ display: block !important; width: 100% !important; height: 205px !important; object-fit: cover !important; background: linear-gradient(135deg,#f1f1f1,#dcdcdc) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-placeholder{ display: grid !important; place-items: center !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-placeholder svg{ width: 90px !important; fill: none !important; stroke: #777 !important; stroke-width: 1.5 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card__body{ padding: 16px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card__top, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card__footer{ display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card h4{ margin: 2px 0 0 !important; font-size: 19px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card small{ color: #806200 !important; font-weight: 700 !important; text-transform: uppercase !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card p{ color: var(--tfb-muted) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-selected-badge{ padding: 5px 9px !important; border-radius: 999px !important; background: var(--tfb-gold) !important; font-size: 11px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-capacity{ display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-capacity span{ padding: 6px 8px !important; border-radius: 8px !important; background: #f3f3f3 !important; font-size: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card ul{ display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 7px !important; margin: 16px 0 !important; padding: 0 !important; list-style: none !important; font-size: 13px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card li span{ color: var(--tfb-success) !important; font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card__footer{ align-items: end !important; padding-top: 12px !important; border-top: 1px solid var(--tfb-border) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-fare span, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-fare strong{ display: block !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-fare span{ color: var(--tfb-muted) !important; font-size: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-fare strong{ font-size: 19px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-no-vehicles{ padding: 35px !important; border: 1px dashed #aaa !important; border-radius: 16px !important; text-align: center !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-consents{ display: grid !important; gap: 12px !important; margin-top: 18px !important; padding: 16px !important; border-radius: 12px !important; background: #fafafa !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-check{ display: flex !important; align-items: flex-start !important; gap: 10px !important; cursor: pointer !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-check input{ width: 20px !important; height: 20px !important; margin-top: 2px !important; accent-color: var(--tfb-gold) !important; flex: 0 0 auto !important; pointer-events: auto !important; opacity: 1 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-check a{ color: var(--tfb-charcoal) !important; font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review{ display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 12px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review article{ padding: 16px !important; border: 1px solid var(--tfb-border) !important; border-radius: 16px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review header{ display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; padding-bottom: 10px !important; border-bottom: 1px solid var(--tfb-border) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review h4{ margin: 0 !important; font-size: 18px !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review header button{ border: 0 !important; background: transparent !important; color: #675000 !important; cursor: pointer !important; font-weight: 700 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review p{ display: grid !important; gap: 2px !important; margin: 10px 0 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review p strong{ font-size: 11px !important; text-transform: uppercase !important; letter-spacing: .04em !important; color: var(--tfb-muted) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review p span{ overflow-wrap: anywhere !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice{ display: flex !important; align-items: flex-start !important; gap: 14px !important; margin-top: 18px !important; padding: 16px !important; border: 1px solid #f0d270 !important; border-radius: 12px !important; background: var(--tfb-warning-bg) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice svg{ width: 22px !important; flex: 0 0 22px !important; fill: none !important; stroke: var(--tfb-charcoal) !important; stroke-width: 2 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice p{ margin: 3px 0 0 !important; color: var(--tfb-muted) !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success{ max-width: 700px !important; margin: 0 auto !important; text-align: center !important; outline: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success__icon{ display: grid !important; place-items: center !important; width: 60px !important; height: 60px !important; margin: 0 auto 10px !important; border-radius: 50% !important; background: var(--tfb-success) !important; color: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success__icon svg{ width: 32px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2.5 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-reference{ display: inline-block !important; margin: 6px 0 18px !important; padding: 8px 14px !important; border-radius: 8px !important; background: var(--tfb-warning-bg) !important; font-weight: 800 !important; letter-spacing: .06em !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success__details{ display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 1px !important; overflow: hidden !important; border: 1px solid var(--tfb-border) !important; border-radius: 12px !important; background: var(--tfb-border) !important; text-align: left !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success__details p{ display: grid !important; gap: 4px !important; margin: 0 !important; padding: 11px !important; background: #fff !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success__details strong{ color: var(--tfb-muted) !important; font-size: 11px !important; text-transform: uppercase !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success h2{ max-width: 640px !important; margin-left: auto !important; margin-right: auto !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice--success{ align-items: center !important; text-align: center !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice--success > div{ display: grid !important; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important; align-items: center !important; gap: 14px !important; width: 100% !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice--success strong{ font-size: 14px !important; line-height: 1.4 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice--success p{ margin: 0 !important; font-size: 13px !important; line-height: 1.4 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-honeypot{ position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy{ cursor: wait !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy .tfb-form{ pointer-events: none !important; user-select: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy .tfb-form button, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy .tfb-form input, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy .tfb-form select, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy .tfb-form textarea{ pointer-events: none !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy .tfb-shell{ position: relative !important; }
:is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app].is-busy .tfb-shell::after{ content: "" !important; position: absolute !important; inset: 0 !important; z-index: 100 !important; border-radius: 16px !important; background: rgba(255,255,255,.36) !important; pointer-events: none !important; }
@media (max-width: 900px) {
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-review{ grid-template-columns: 1fr !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts{ grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app]{ padding: 14px 8px !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-shell{ padding: 18px 14px !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-grid--2, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-grid{ grid-template-columns: 1fr !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-span-2{ grid-column: auto !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__label{ font-size: 11px !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__number{ width: 34px !important; height: 34px !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress::before{ top: 17px !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-section-heading{ align-items: flex-start !important; flex-direction: column !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-sort, :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-sort select{ width: 100% !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-mini-summary{ grid-template-columns: 1fr !important; gap: 5px !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-mini-summary small{ justify-self: start !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-route-facts{ grid-template-columns: 1fr !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-actions{ display: grid !important; grid-template-columns: 1fr !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-actions .tfb-button{ width: 100% !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-actions .tfb-button--secondary{ order: 2 !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-row{ grid-template-columns: 1fr !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stop-actions{ justify-content: flex-end !important; padding: 0 !important; }
}
@media (max-width: 420px) {
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-header h2{ font-size: 28px !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-progress__label{ max-width: 62px !important; line-height: 1.15 !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-segmented{ display: grid !important; width: 100% !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-stops__header{ align-items: stretch !important; flex-direction: column !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card__footer{ align-items: stretch !important; flex-direction: column !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-vehicle-card__footer .tfb-button{ width: 100% !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success__details{ grid-template-columns: 1fr !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-payment-notice--success > div{ grid-template-columns: 1fr !important; gap: 6px !important; }
}
@media print {
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app]{ padding: 0 !important; background: #fff !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-shell{ box-shadow: none !important; border: 0 !important; }
    :is(#tfb-css-isolation, .tfb-app).tfb-app[data-tfb-app] .tfb-success .tfb-actions{ display: none !important; }
}
