.why-us__price-button {
    width: 100%;
    min-height: 48px;
    margin-block: 14px 8px;
    border: 1px solid #089b78;
    border-radius: 14px;
    background: #effbf6;
    color: #075e4d;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.why-us__price-button:disabled {
    opacity: .65;
    cursor: wait;
}

.cd-loading,
button[aria-busy=true],
[role=status][aria-busy=true],
[data-price-preview][data-state=loading],
.why-us__price-result[data-state=loading] {
    position: relative;
}

.cd-loading:before,
button[aria-busy=true]:before,
[role=status][aria-busy=true]:before,
[data-price-preview][data-state=loading]:before {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    width: 17px;
    height: 17px;
    margin-inline-end: 9px;
    vertical-align: middle;
    border: 2px solid #b9e5d8;
    border-top-color: #078665;
    border-radius: 50%;
    animation: cd-loading-spin .85s linear infinite;
}

[data-price-preview][data-state=loading],
.why-us__price-result[data-state=loading] {
    min-height: 52px;
    padding: 14px;
    border: 1px solid #cce9dd;
    border-radius: 13px;
    background: linear-gradient(110deg, #f3fcf8 25%, #dff9ef 45%, #f3fcf8 65%);
    background-size: 250% 100%;
    color: #075e4d;
    animation: cd-loading-shimmer 2s ease-in-out infinite;
}

#organization-price-loading {
    margin: 12px 20px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #edf9f4;
    color: #075e4d;
    font-size: 14px;
}

@keyframes cd-loading-spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes cd-loading-shimmer {

    0%,
    100% {
        background-position: 100% 0
    }

    50% {
        background-position: 0 0
    }
}

@media(prefers-reduced-motion:reduce) {

    .cd-loading:before,
    button[aria-busy=true]:before,
    [role=status][aria-busy=true]:before,
    [data-price-preview][data-state=loading]:before,
    [data-price-preview][data-state=loading],
    .why-us__price-result[data-state=loading] {
        animation: none
    }
}

.why-us__price-button:focus-visible {
    outline: 3px solid #04f9b4;
    outline-offset: 3px;
}

.new-delivery .delivery-form>.combined-route-row {
    order: 5;
}

.new-delivery .combined-address-field {
    color: #192b44;
}

.new-delivery .booking-local-switch {
    order: 4;
    margin: 8px 0 0;
    min-height: 44px;
    border: 1px solid #b9ddd0;
    border-radius: 12px;
    background: #effbf6;
    color: #075e4d;
    font: 600 14px Arial;
    cursor: pointer;
}

.booking-local-switch[aria-pressed=true] {
    background: #d6fff0;
    border-color: #078665;
}

.new-delivery .form-actions>[data-vehicle-options] {
    width: 100%;
}

[data-delivery-animation]:hover span,
[data-delivery-animation]:focus-visible span {
    transform: none;
    opacity: 1;
}

[data-delivery-animation]:hover::after,
[data-delivery-animation]:focus-visible::after {
    animation: none;
}

[data-delivery-animation].is-delivery-animating span {
    animation: cd-click-label 1.15s ease both;
}

[data-delivery-animation].is-delivery-animating::after {
    animation: cd-click-truck 1.15s ease both;
}

@keyframes cd-click-label {

    0%,
    100% {
        opacity: 1;
        transform: translateX(0)
    }

    20%,
    72% {
        opacity: 0;
        transform: translateX(-80%)
    }
}

@keyframes cd-click-truck {
    0% {
        left: -30%;
        opacity: 0
    }

    20% {
        opacity: 1
    }

    50% {
        left: 50%;
        opacity: 1
    }

    90%,
    100% {
        left: 130%;
        opacity: 0
    }
}

@media(prefers-reduced-motion:reduce) {
    [data-delivery-animation].is-delivery-animating span {
        animation: none
    }

    [data-delivery-animation].is-delivery-animating::after {
        animation: none;
        opacity: 0
    }
}

.why-us__price-result {
    display: grid;
    gap: 5px;
    margin-bottom: 16px;
    color: #334155;
    font-size: .9rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.why-us__price-result strong {
    font-size: 1.7rem;
    color: #075e4d;
}

.why-us__price-result small {
    font-size: .8rem;
}

.quick-address-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.quick-address-field label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.quick-route-step {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #dff9ef;
    color: #075e4d;
}

.quick-address-field>small {
    color: #64748b;
    font: 400 .78rem/1.5 var(--hebo-font);
}

.quick-address-field[data-selected="address"] input {
    border-color: #089b78;
    background: #f5fffa;
}

.quick-address-options {
    display: grid;
    gap: 2px;
    padding: 5px;
    border: 1px solid #d6e0e1;
    border-radius: 14px;
    background: #fff;
    max-height: min(240px, 35dvh);
    overflow-y: auto;
    overscroll-behavior: contain;
    box-shadow: 0 10px 28px rgba(17, 35, 56, .08);
}

.quick-address-options[hidden] {
    display: none;
}

.quick-address-options button {
    display: grid;
    gap: 3px;
    width: 100%;
    min-height: 60px;
    padding: 10px 12px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    text-align: right;
    font: inherit;
    color: #192b44;
    cursor: pointer;
}

.quick-address-options button:hover,
.quick-address-options button[aria-selected="true"] {
    background: #e9fbf3;
}

.quick-address-options button small {
    font-size: .75rem;
    color: #64748b;
}

.booking-mobile-action {
    display: none;
}

.new-delivery.booking-visual-viewport {
    top: calc(var(--booking-viewport-top, 0px) + 6px);
    transform: translateX(-50%);
    max-height: calc(var(--booking-viewport-height, 100dvh) - 12px);
    scroll-padding-block: 16px;
}

@media (max-width: 700px) {
    .why-us__quick-fields {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .why-us__promise {
        order: 1;
    }

    .new-delivery.booking-visual-viewport {
        scroll-padding-bottom: 72px;
    }

    .booking-keyboard-open .booking-mobile-action {
        display: block;
        position: sticky;
        bottom: 0;
        padding: 8px 16px calc(8px + env(safe-area-inset-bottom));
        background: #fffdfa;
        border-top: 1px solid #dbe1e2;
        z-index: 3;
    }

    .booking-mobile-action button {
        width: 100%;
        min-height: 44px;
        border: 0;
        border-radius: 12px;
        background: #04f9b4;
        color: #112b3c;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
    }

    .booking-mobile-action button:disabled {
        opacity: .6;
        cursor: wait;
    }

    .new-delivery .delivery-form .form-group input,
    .new-delivery .delivery-form .form-group select,
    .new-delivery .delivery-form .form-group textarea {
        font-size: 16px;
    }

    .new-delivery .form-actions {
        position: static;
    }

    .why-us__quick-fields input {
        font-size: 16px;
        min-width: 0;
    }
}

.page-main,
.new-delivery {
    --hebo-font: 'Heebo', Arial, sans-serif;
    --texts-font: 'Rubik', Arial, sans-serif;
}

/* Shared vehicle selection and rate cards across public, organization and dispatch booking. */
.vehicle-choice {
    border: 0 !important;
    padding: 0 !important;
    margin: 12px 0 !important;
    min-width: 0;
}

.vehicle-choice legend {
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    color: #34495e;
    padding: 0 0 7px;
}

.delivery-edit-dialog .vehicle-choice legend {
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    white-space: nowrap;
    word-spacing: .08em;
    padding: 4px 12px 12px;
}

.vehicle-choice>div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.vehicle-choice label {
    display: block !important;
    margin: 0 !important;
    cursor: pointer;
    position: relative;
}

.vehicle-choice input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
}

.vehicle-choice span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 6px;
    border: 1px solid #d6e2df;
    border-radius: 11px;
    background: #fff;
    color: #34495e;
    font: 600 14px/1.4 Arial, sans-serif;
}

.vehicle-choice input:checked+span {
    border-color: #07987b;
    background: #e7fbf3;
    color: #075e4d;
    box-shadow: inset 0 0 0 1px #07987b;
}

.vehicle-choice input:focus-visible+span {
    outline: 3px solid #04f9b4;
    outline-offset: 2px;
}

.vehicle-rate-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.vehicle-rate-grid fieldset {
    border: 1px solid #d4e5df;
    border-radius: 14px;
    padding: 14px;
    background: #f7fcfa;
    min-width: 0;
}

.vehicle-rate-grid legend {
    color: #075e4d;
    font-weight: 700;
}

.vehicle-rate-grid label {
    display: grid;
    gap: 6px;
    margin: 8px 0;
    font-size: 14px;
}

.vehicle-rate-grid input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #c5d9d2;
    border-radius: 9px;
    padding: 8px;
    box-sizing: border-box;
}

.vehicle-rate-note {
    color: #526174;
    font-size: 13px;
    line-height: 1.6;
}

.quick-address-options button {
    min-height: 48px;
    padding: 7px 10px;
    font-size: 14px;
    line-height: 1.4;
}

.quick-address-options button strong {
    font-weight: 600;
}

.quick-address-options button small {
    font-size: 11px;
}

.quick-address-field>small {
    font-size: 12px;
}

.why-us__price-result {
    font-size: 13px;
    line-height: 1.5;
}

.cd-gov-address-suggestions .address-suggestion-btn,
.address-suggestions .address-suggestion-btn {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border-radius: 9px;
    border: 0;
    background: #fff;
    text-align: right;
    font: 500 14px/1.45 Arial, sans-serif;
    color: #193c43;
    cursor: pointer;
}

.cd-gov-address-suggestions .address-suggestion-btn:hover,
.address-suggestions .address-suggestion-btn:focus-visible {
    background: #e7fbf3;
    outline-color: #07987b;
}

@media(max-width:700px) {
    .vehicle-rate-grid {
        grid-template-columns: 1fr;
    }

    .why-us__quick-fields {
        gap: 14px;
    }
}

.pricing-settings .vehicle-rate-grid,
.pricing-settings .vehicle-rate-note {
    grid-column: 1 / -1;
}

.settings-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0;
}

.settings-card {
    min-width: 0;
    border: 1px solid #d2e5df;
    border-radius: 13px;
    padding: 13px;
    background: #f5fbf8;
    color: #193c43;
    text-align: right;
    overflow-wrap: anywhere;
}

button.settings-card {
    cursor: pointer;
    min-height: 104px;
    font: inherit;
}

.settings-card strong {
    display: block;
    font-size: 18px;
    margin-bottom: 6px;
}

.settings-card small,
.settings-card dt {
    font-size: 12px;
    line-height: 1.5;
    color: #526174;
}

.settings-card dd {
    margin: 7px 0 0;
    font-size: 14px;
    line-height: 1.5;
}

button.settings-card:hover,
button.settings-card:focus-visible {
    background: #e4faf0;
    border-color: #07987b;
    outline: 2px solid #04f9b4;
}

.directory-filters {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 10px;
    margin: 16px 0;
}

.directory-filters label {
    display: grid;
    gap: 6px;
    font-size: 13px;
    min-width: 0;
}

.directory-filters input,
.directory-filters select,
.directory-detail input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 9px;
    border: 1px solid #c5d9d2;
    border-radius: 9px;
    font: inherit;
}

.directory-user {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr) auto;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid #e0ebe6;
    align-items: center;
    overflow-wrap: anywhere;
}

.directory-user h3 {
    margin: 0 0 8px;
    font-size: 17px;
}

.directory-user p {
    font-size: 13px;
}

.directory-user-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    font-size: 12px;
}

.directory-user-metrics strong {
    display: block;
    font-size: 17px;
}

.directory-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    font-size: 13px;
}

.directory-detail {
    width: min(780px, calc(100vw - 28px));
    box-sizing: border-box;
    max-height: 90dvh;
    overflow: auto;
    padding: 20px;
}

.directory-detail form {
    margin: 20px 0;
}

.directory-detail label {
    display: grid;
    gap: 6px;
}

.directory-detail bdi {
    overflow-wrap: anywhere;
}

.vehicle-pricing-explanation {
    grid-column: 1/-1;
    padding: 16px;
    border: 1px solid #d2e5df;
    border-radius: 13px;
    background: #f5fbf8;
    font-size: 13px;
    line-height: 1.75;
    color: #193c43;
}

.vehicle-pricing-explanation h3 {
    margin: 0 0 8px;
}

.vehicle-pricing-explanation ol {
    padding-right: 20px;
}

.vehicle-pricing-explanation li {
    margin: 8px 0;
}

@media(min-width:1000px) {
    .settings-hub .settings-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media(max-width:700px) {
    .settings-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .settings-card {
        padding: 10px;
    }

    .settings-card strong {
        font-size: 16px;
    }

    .directory-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .directory-filters label:first-child {
        grid-column: 1/-1;
    }

    .directory-user {
        grid-template-columns: minmax(0, 1fr);
    }

    .directory-detail {
        padding: 14px;
    }

    .vehicle-rate-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vehicle-rate-grid fieldset {
        padding: 10px;
    }

    .vehicle-rate-grid label {
        font-size: 12px;
    }
}

@media(max-width:760px) {
    body[data-app-role="dispatch"] .kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-app-role="dispatch"] .kpis .metric {
        min-width: 0;
    }

    body[data-app-role="dispatch"] .metric-period select {
        max-width: 100%;
    }

    body[data-app-role="dispatch"] .page-heading {
        flex-wrap: wrap;
    }
}

.combined-route-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    grid-column: 1/-1;
    width: 100%;
    margin: 12px 0
}

.combined-address-field {
    position: relative;
    display: grid;
    gap: 7px;
    min-width: 0;
    font-size: 14px;
    font-weight: 700
}

.combined-address-field input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid #c9d9de;
    border-radius: 12px;
    background: #f8fbfc;
    color: #193548;
    font: inherit;
    font-size: 16px
}

.combined-address-field small {
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
    color: #527080
}

.combined-address-options {
    position: absolute;
    inset-inline: 0;
    top: 76px;
    z-index: 80;
    background: #fff;
    border: 1px solid #c7dce1;
    border-radius: 12px;
    box-shadow: 0 12px 30px #19354829;
    max-height: min(280px, 35dvh);
    overflow: auto
}

.combined-address-options[hidden] {
    display: none
}

.combined-address-options button {
    display: block;
    width: 100%;
    text-align: right;
    border: 0;
    border-bottom: 1px solid #e6eef1;
    border-radius: 0 !important;
    background: #fff;
    color: #193548;
    padding: 12px;
    font: inherit;
    font-size: 13px;
    min-height: 44px;
    line-height: 1.5;
    white-space: normal
}

.combined-address-options button:hover,
.combined-address-options button[aria-selected=true] {
    background: #e3fff5
}

.combined-address-field input:focus-visible {
    outline: 3px solid #04dba4;
    outline-offset: 2px
}

[data-pickup-required][hidden] {
    display: none !important
}

@media(max-width:560px) {
    .combined-route-row {
        gap: 8px
    }

    .combined-address-field {
        font-size: 12px
    }

    .combined-address-field input {
        padding: 11px 8px
    }

    .combined-address-options {
        min-width: 220px;
        max-width: calc(100vw - 32px)
    }

    .combined-address-field:last-child .combined-address-options {
        inset-inline-start: auto;
        inset-inline-end: 0
    }
}

.combined-route-row~label[hidden],
form[data-required-pickup] label[hidden],
form[data-required-pickup] .form-group[hidden] {
    display: none !important;
}

.user-directory,
.directory-detail {
    --directory-accent: var(--main-color, #04f9b4);
    --directory-ink: var(--text-color, #192b44);
    font-family: var(--hebo-font, Heebo, Arial, sans-serif);
    color: var(--directory-ink)
}

#directory-list {
    display: grid;
    gap: 12px
}

.directory-user {
    padding: 20px;
    border: 1px solid #dce8e5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 22px #192b4407;
    gap: 20px
}

.directory-user h3 {
    font-size: 20px;
    line-height: 1.5
}

.directory-user p {
    line-height: 1.8;
    margin: 12px 0 6px
}

.directory-user small {
    font-size: 13px;
    color: #58716f;
    line-height: 1.7
}

.directory-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap
}

.directory-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    border: 1px solid #d1e8e1;
    background: #f0faf6;
    color: #075b46
}

.directory-tag--role {
    background: #192b44;
    color: #fff;
    border-color: #192b44
}

.directory-tag--available {
    background: #d2ffed;
    border-color: #08ae7c;
    color: #07553f
}

.directory-tag--available:before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #078665;
    margin-inline-end: 6px
}

.directory-tag--offline,
.directory-tag--unknown {
    background: #eef2f5;
    border-color: #d6dfe7;
    color: #53667a
}

.directory-tag--break {
    background: #fff4d9;
    border-color: #ecd191;
    color: #7b5315
}

.directory-tag--blocked {
    background: #ffeded;
    border-color: #edb7b7;
    color: #a12222
}

.directory-user-metrics {
    padding: 14px;
    border-radius: 14px;
    background: #f4faf7;
    gap: 14px;
    color: #44675e
}

.directory-user-metrics strong {
    color: #192b44;
    font-size: 21px;
    font-variant-numeric: tabular-nums
}

.directory-user>.btn {
    border-color: #b9ded0;
    background: #e6fff4;
    color: #075b46;
    font-weight: 700;
    min-height: 44px
}

.directory-detail {
    padding: 0;
    background: #f3f8f6;
    border: 1px solid #dce8e5;
    border-radius: 20px
}

.directory-detail>header {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    padding: 20px;
    border-bottom: 1px solid #dce8e5;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px
}

.directory-detail h2 {
    margin: 5px 0 12px;
    font-size: 24px
}

.directory-detail>dl,
.directory-detail>div:not(header div),
.directory-detail>p,
.directory-detail>h3,
.directory-detail>form,
.directory-detail>button {
    margin: 18px 20px
}

.directory-detail .settings-card {
    background: #fff;
    border: 1px solid #dbe7e1;
    padding: 16px
}

.directory-detail dt {
    color: #59746e;
    font-size: 12px;
    line-height: 1.6
}

.directory-detail dd {
    margin: 8px 0 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
    overflow-wrap: anywhere
}

.directory-detail .settings-card-grid {
    margin: 20px
}

.directory-detail [data-auth-facts] {
    background: #e5f8ef;
    border-radius: 12px;
    padding: 14px;
    line-height: 1.8
}

.directory-detail form {
    padding: 18px;
    border: 1px solid #dce8e5;
    border-radius: 16px;
    background: #fff
}

.directory-detail form label {
    margin-bottom: 12px
}

.directory-detail .primary {
    background: #075e4d;
    color: white;
    border-color: #075e4d
}

@media(max-width:700px) {
    .directory-user {
        padding: 16px;
        gap: 14px
    }

    .directory-user>.btn {
        width: 100%
    }

    .directory-detail {
        width: calc(100vw - 16px);
        max-height: 96dvh
    }

    .directory-detail>header {
        padding: 14px
    }

    .directory-detail .settings-card-grid {
        margin: 14px;
        gap: 8px
    }

    .directory-detail .settings-card {
        padding: 12px
    }

    .directory-detail>p,
    .directory-detail>h3,
    .directory-detail>form,
    .directory-detail>div[data-auth-facts] {
        margin: 14px
    }

    .directory-detail dd {
        font-size: 14px
    }

    .directory-detail h2 {
        font-size: 21px
    }

    .directory-detail>button {
        margin: 0 14px 14px
    }
}

.page-heading {
    flex-wrap: wrap
}

.heading-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center
}

.heading-actions .btn {
    min-height: 44px
}

@media(max-width:600px) {
    .page-heading>div:not(.heading-actions) {
        flex-basis: 100%
    }

    .heading-actions {
        width: 100%
    }
}

.combined-stop-field {
    grid-column: 1/-1;
    min-width: 0;
    width: 100%
}

.combined-stop-field input {
    min-height: 44px;
    width: 100%;
    font-size: 16px
}

.combined-stop-field .combined-address-field {
    font-size: 13px
}

.combined-stop-field small {
    font-size: 11px
}

.driver-proximity {
    display: inline-block !important;
    width: fit-content;
    margin-top: 6px;
    padding: 4px 8px;
    border-radius: 8px;
    background: #e7edf3;
    color: #263c50;
    font-size: 12px !important;
    font-weight: 700
}

.driver-proximity.is-near {
    background: #fff2cf;
    color: #745300
}

.driver-proximity.is-arrived {
    background: #d5f9e9;
    color: #075441
}

.driver-completed-stop {
    display: block;
    margin-top: 6px;
    color: #075441 !important
}

/* A real delivery silhouette, visible on mint buttons without depending on an icon font. */
[data-delivery-animation] {
    color: #112b3c;
    isolation: isolate;
    padding-bottom: 25px;
}

[data-delivery-animation]::after {
    content: '';
    width: 30px;
    height: 20px;
    top: auto;
    bottom: 3px;
    left: -15%;
    transform: none;
    color: inherit;
    background: currentColor;
    opacity: 0;
    pointer-events: none;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 20'%3E%3Cpath d='M1 1h18v12H1zm19 4h6l5 6v5h-3a4 4 0 0 0-8 0h-6a4 4 0 0 0-8 0H1v-2h19zm3 2v4h5l-3-4z'/%3E%3Ccircle cx='10' cy='16' r='3'/%3E%3Ccircle cx='24' cy='16' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 20'%3E%3Cpath d='M1 1h18v12H1zm19 4h6l5 6v5h-3a4 4 0 0 0-8 0h-6a4 4 0 0 0-8 0H1v-2h19zm3 2v4h5l-3-4z'/%3E%3Ccircle cx='10' cy='16' r='3'/%3E%3Ccircle cx='24' cy='16' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
}

[data-delivery-animation].is-delivery-animating span,
[data-delivery-animation].is-delivery-busy span {
    animation: none;
    opacity: 1;
    transform: none;
}

[data-delivery-animation].is-delivery-busy:disabled {
    opacity: 1;
}

[data-delivery-animation].is-delivery-busy {
    cursor: wait;
}

[data-delivery-animation].is-delivery-busy::after {
    animation: cd-click-truck 1.4s linear infinite;
}

[data-delivery-animation][aria-busy=true]::before {
    content: '';
    position: absolute;
    bottom: 2px;
    inset-inline: 12px;
    width: auto;
    height: 2px;
    margin: 0;
    border: 0;
    border-radius: 1px;
    background: currentColor;
    opacity: .16;
    animation: none;
}

@media(prefers-reduced-motion:reduce) {

    [data-delivery-animation].is-delivery-busy::after,
    [data-delivery-animation].is-delivery-animating::after {
        animation: none;
        left: calc(50% - 15px);
        opacity: 1;
    }
}

/* Keep the amount pending until the authoritative server result arrives. */
[data-price-preview][data-state=loading],
.why-us__price-result[data-state=loading] {
    animation: none;
    background: #f3fcf8;
}

.pricing-amount-skeleton {
    display: block;
    width: 110px;
    height: 32px;
    border-radius: 8px;
    background: #b8dacf;
    margin-block: 4px 10px;
    animation: pricing-amount-pulse 1.5s ease-in-out infinite;
}

[data-state=loading]>span,
[data-state=loading]>small {
    display: block;
    margin-block: 5px;
    line-height: 1.5;
}

@keyframes pricing-amount-pulse {

    0%,
    100% {
        opacity: .35
    }

    50% {
        opacity: .85
    }
}

@media(prefers-reduced-motion:reduce) {
    .pricing-amount-skeleton {
        animation: none;
        opacity: .65
    }
}

.pricing-base-amount {
    font-variant-numeric: tabular-nums;
    display: block;
    color: #16624b;
    font-size: 28px;
}

.saved-address-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    min-width: 0;
}

.saved-address-tools[hidden] {
    display: none;
}

.saved-address-tools label {
    display: flex;
    color: #193548;
    align-items: center;
    gap: 5px;
    font-size: 12px;
}

.saved-address-tools input[type=checkbox] {
    width: 18px;
    min-height: 18px;
    height: 18px;
}

.saved-address-tools button {
    min-height: 40px;
    border: 1px solid #c9d9de;
    border-radius: 8px;
    padding: 8px;
    background: #fff;
    font: inherit;
    color: #26495b;
}

.saved-address-tools small {
    flex-basis: 100%;
}

.saved-address-dialog {
    box-sizing: border-box;
    width: min(560px, calc(100vw - 24px));
    max-height: 80dvh;
    border: 1px solid #c9d9de;
    border-radius: 18px;
    padding: 20px;
    color: #193548;
}

.saved-address-dialog::backdrop {
    background: #19354888;
}

.saved-address-dialog input {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 12px 0;
    padding: 10px;
}

.saved-address-dialog button {
    min-height: 44px;
    font: inherit;
    padding: 10px;
    border: 1px solid #c9d9de;
    border-radius: 8px;
    background: #f8fbfc;
    color: #193548;
}

.saved-address-dialog div div {
    display: flex;
    gap: 8px;
    margin: 8px 0;
}

.saved-address-dialog div div button:first-child {
    flex: 1;
    text-align: start;
}

.combined-address-group {
    display: grid;
    gap: 8px;
    min-width: 0;
    align-content: start;
}

.saved-address-tools label {
    min-height: 44px;
}

.combined-address-options button>span,
.combined-address-options button>small {
    display: block
}

/* Shared server quote card: public, organization and dispatch. */
[data-price-preview][data-state=ready],
.why-us__price-result[data-state=ready] {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    gap: 0;
}

.pricing-card {
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    border: 1px solid #d7e5e2;
    border-radius: 22px;
    background: #fff;
    color: #183b38;
    box-shadow: 0 10px 30px #173d3410;
    font-size: 14px;
    line-height: 1.5;
    text-align: start;
}

.pricing-card .pricing-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 20px 22px 10px;
}

.pricing-card .pricing-card__title {
    font-size: 15px;
    font-weight: 700;
}

.pricing-card .pricing-card__badge {
    background: #e9f7f1;
    color: #18765b;
    border-radius: 30px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
}

.pricing-card .pricing-card__route {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 22px 18px;
    color: #526c67;
    font-size: 12px;
}

.pricing-card .pricing-card__vehicle {
    padding: 3px 8px;
    border-radius: 7px;
    background: #f2f6f5;
}

.pricing-card .pricing-card__journey {
    overflow-wrap: anywhere;
}

.pricing-card .pricing-card__distance {
    color: #18765b;
    font-weight: 600;
}

.pricing-card .pricing-card__rows {
    padding: 0 22px 18px;
    display: grid;
    gap: 10px;
}

.pricing-card .pricing-card__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #526c67;
}

.pricing-card .pricing-card__value {
    direction: ltr;
    white-space: nowrap;
    color: #284b46;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.pricing-card .pricing-card__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 22px;
    background: #34db92;
    color: #fff;
}

.pricing-card .pricing-card__total-label>span {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}

.pricing-card .pricing-card__total-label>small {
    display: block;
    color: #fff;
    font-size: 12px;
    margin-top: 3px;
}

.pricing-card strong.pricing-card__amount {
    color: #fff;
    font-size: clamp(27px, 4vw, 38px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -1px;
    direction: ltr;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.pricing-card .pricing-card__details {
    padding: 14px 22px;
    border-bottom: 1px solid #edf2f0;
}

.pricing-card .pricing-card__details summary {
    cursor: pointer;
    color: #276858;
    font-weight: 600;
    font-size: 12px;
    min-height: 24px;
}

.pricing-card .pricing-card__details p {
    margin: 10px 0 0;
    color: #526c67;
    font-size: 12px;
}

.pricing-card .pricing-card__note {
    margin: 0;
    padding: 12px 22px;
    color: #61736e;
    font-size: 11px;
    line-height: 1.6;
}

@media(max-width:480px) {
    .pricing-card {
        border-radius: 18px;
    }

    .pricing-card .pricing-card__header,
    .pricing-card .pricing-card__total {
        padding: 16px;
    }

    .pricing-card .pricing-card__route {
        padding: 0 16px 14px;
    }

    .pricing-card .pricing-card__rows {
        padding: 0 16px 16px;
    }

    .pricing-card .pricing-card__details,
    .pricing-card .pricing-card__note {
        padding: 12px 16px;
    }
}/* Compact home booking entry, scoped to this section only. */
#why-us { padding:24px 20px; }
#why-us .why-us__wrapper { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); max-width:1100px; overflow:visible; border:0; border-radius:24px; background:#fffdfa; box-shadow:0 14px 36px #11233816; }
#why-us .why-us__action { display:block; min-height:0; padding:24px; }
#why-us h2 { margin:0 0 18px; font-size:24px; line-height:1.2; }
#why-us .why-us__quick-fields { display:flex; flex-direction:column; gap:12px; }
#why-us .why-us__quick-fields input { min-height:44px; height:44px; padding:10px 12px; border-radius:10px; font-size:14px; }
#why-us .why-us__quick-fields label { margin-bottom:6px; font-size:13px; }
#why-us [data-address-status] { font-size:11px; margin-block:5px; min-height:16px; }
#why-us .vehicle-choice { margin:10px 0 12px; padding:0; border:0; }
#why-us .vehicle-choice legend { font-size:12px; margin-bottom:6px; }
#why-us .vehicle-choice > div { display:flex; justify-content:center; gap:8px; }
#why-us .vehicle-choice label { flex:0 1 110px; margin:0; }
#why-us .vehicle-choice label span { min-height:36px; padding:8px 12px; font-size:12px; border-radius:9px; }
#why-us .why-us__actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; }
#why-us .why-us__price-button,#why-us .why-us__button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:auto; min-height:44px; height:44px; padding:10px 18px; margin:0; border-radius:10px; font-size:14px; }
#why-us .why-us__price-result { margin:12px 0 0; font-size:12px; }
#why-us .why-us__price-result[data-state=empty] { display:none; }
#why-us .pricing-card { max-width:640px; font-size:13px; }
#why-us .pricing-card__header { padding:14px 16px 8px; }
#why-us .pricing-card__route { padding:0 16px 12px; }
#why-us .pricing-card__rows { padding:0 16px 12px; gap:6px; }
#why-us .pricing-card__total { padding:14px 16px; }
#why-us .pricing-card__amount { font-size:28px; }
@media(max-width:600px) { #why-us {padding:16px 12px;} #why-us .why-us__action {padding:18px;} #why-us .why-us__quick-fields {grid-template-columns:1fr;gap:10px;} #why-us h2 {font-size:22px;margin-bottom:14px;} #why-us .why-us__actions > * {flex:1; padding:10px; font-size:13px;} }
#why-us [data-address-status]:empty { display:none; }

/* Restore the original dark/light identity with compact spacing. */
#why-us .why-us__promise { min-height:0; padding:28px; border-radius:0 24px 24px 0; }
#why-us .why-us__promise h2 { font-size:clamp(40px,4.5vw,62px); margin:12px 0; }
#why-us .why-us__promise > p { font-size:14px; margin:8px 0 20px; }
#why-us .why-us__promise ul { gap:12px; font-size:13px; }
#why-us .why-us__eyebrow { font-size:11px; }
#why-us .why-us__quick-options { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:12px 0; }
#why-us .why-us__quick-option { flex:0 1 auto; min-height:38px; padding:8px 12px; font-size:12px; border-radius:9px; }
#why-us .vehicle-choice legend { width:100%; text-align:center; }
@media(max-width:760px) { #why-us .why-us__wrapper {grid-template-columns:1fr;} #why-us .why-us__promise {border-radius:0 0 24px 24px;padding:20px 24px;} #why-us .why-us__promise h2 {font-size:36px;} #why-us .why-us__promise h2 br {display:none;} #why-us .why-us__promise h2 span {margin-inline-start:8px;} #why-us .why-us__promise > p {margin-bottom:12px;} #why-us .why-us__promise ul {display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;} }

#why-us .why-us__quick-fields input::placeholder { font-size:12px; color:#718078; opacity:1; }
/* Shared expandable package information, separate from pricing. */
.package-details { box-sizing:border-box; width:100%; min-width:0; border:1px solid #dce7e2; border-radius:14px; background:#fbfdfc; padding:0; margin-block:12px; grid-column:1/-1; color:#193548; }
.package-details > summary { cursor:pointer; padding:14px 16px; font-size:14px; font-weight:700; min-height:44px; box-sizing:border-box; }
.package-details__summary { display:inline-block; margin-inline-start:12px; color:#697d75; font-size:11px; font-weight:400; }
.package-details__fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding:0 16px 12px; }
.package-details .package-details__fields label { display:flex; flex-direction:column; gap:7px; min-width:0; font-size:13px; color:#193548; }
.package-details .package-details__fields input,.package-details .package-details__fields select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px; font:inherit; font-size:13px; border:1px solid #cbdcd5; border-radius:9px; background:#fff; color:#193548; }
.package-details__help { display:block; padding:0 16px 14px; font-size:11px; line-height:1.6; color:#697d75; }
@media(max-width:380px) { .package-details__fields {grid-template-columns:1fr;} .package-details__summary {display:block;margin:4px 0 0;} }
.new-delivery .delivery-form > .package-details { order:8; }

/* Compact account step: account fields stay separate from recipient details. */
.booking-account { font-family:Heebo,Arial,sans-serif; box-sizing:border-box; min-width:0; padding:12px 14px; border:1px solid #cbded7; border-radius:12px; color:#193c43; background:#f7fbf9; }
.booking-account__heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.booking-account h4 { margin:0; color:#193c43; font-weight:700; font-size:15px; line-height:1.4; }
.booking-account .booking-account__login { min-height:44px; padding:4px 0; border:0; background:transparent; color:#08634f; font:inherit; font-size:13px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.booking-account .booking-account__intro { margin:0 0 9px; color:#4c625b; font-size:12px; line-height:1.5; }
.booking-account__details { border:0; }
.booking-account__details > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; box-sizing:border-box; padding:8px 12px; border:1px solid #b9d4c8; border-radius:8px; background:#edf6f1; color:#075e4d; font-size:14px; font-weight:700; list-style:none; cursor:pointer; }
.booking-account__details > summary::-webkit-details-marker { display:none; }
.booking-account__details[open] > summary { background:transparent; border-color:transparent; padding:4px 0; min-height:44px; }
.booking-account__details[open] > summary span { transform:rotate(180deg); }
.booking-account__fields { min-width:0; padding:8px 0 0; margin:0; border:0; }
.booking-account__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px 10px; }
.booking-account .booking-account__grid label { display:flex; flex-direction:column; gap:4px; min-width:0; margin:0; color:#29483e; font-size:12px; line-height:1.4; font-weight:600; }
.booking-account__wide { grid-column:1/-1; }
.booking-account__grid input { display:block; box-sizing:border-box; width:100%; min-width:0; height:44px; padding:8px 10px; margin:0; border:1px solid #bed0c7; border-radius:8px; background:white; color:#193c43; font-family:inherit; font-size:16px; line-height:1.4; text-align:start; }
.booking-account__grid input::placeholder { font-size:12px; color:#62736b; opacity:1; }
.booking-account__grid input[aria-invalid=true] { border-color:#ad3d30; }
.booking-account :is(input,button,summary):focus-visible { outline:3px solid #0b7c63; outline-offset:2px; }
.booking-account .booking-account__submit { box-sizing:border-box; width:100%; min-height:44px; margin:12px 0 0; padding:9px 12px; border:0; border-radius:8px; background:#087657; color:white; font-family:inherit; font-size:14px; font-weight:700; line-height:1.4; cursor:pointer; }
.booking-account button:disabled { opacity:.65; cursor:wait; }
.booking-account .booking-account__help { margin:7px 0 0; color:#52685f; font-size:11px; line-height:1.5; }
.booking-account [data-account-status] { margin:8px 0 0; color:#9a3027; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.booking-account [data-account-status]:empty { margin:0; }
.booking-account__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media (max-width:350px) { .booking-account { padding:10px; } .booking-account__grid { column-gap:8px; } }
.booking-account:has([data-booking-fields][open]) .booking-account__intro { display:none; }
