/* Inquiry dialog. Scoped to avoid changing other aircraft-page modals. */
#stepsModal {
    color: #202532;
    font: 16px/1.5 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#stepsModal .modal-dialog {
    width: calc(100% - 48px);
    max-width: 660px;
    margin: 12px auto;
}

#stepsModal .modal-content {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    border: 0;
    border-top: 4px solid #8a3995;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 20px 80px rgba(25, 16, 36, .2);
}

#stepsModal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    gap: 12px;
    padding: 20px 32px;
    border-bottom: 1px solid #e6e3e9;
}

#stepsModal .modal-header::before, #stepsModal .modal-header::after {
    display: none;
}

/* D110 A2: listing photo + title + registration, no taller than the old two lines. */
#stepsModal .contact-context {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

#stepsModal .contact-thumb {
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    border-radius: 8px;
    object-fit: cover;
    background: #f2f3f5;
}

#stepsModal .contact-context-text {
    min-width: 0;
}

#stepsModal .contact-aircraft {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

/* The title keeps priority on a narrow screen; a long serial number gives way first. */
#stepsModal .contact-reg {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 13px;
    font-weight: 600;
    color: #616775;
}

#stepsModal .contact-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .11em;
    color: #74637a;
    margin-bottom: 4px;
}

#stepsModal #contactAircraftTitle {
    flex: 0 0 auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 17px;
    font-weight: 600;
}

#stepsModal .close {
    position: static;
    flex-shrink: 0;
    float: none;
    margin: 0 -10px 0 0;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    color: #575160;
    opacity: 1;
    font-size: 30px;
    font-weight: 400;
    text-shadow: none;
}

#stepsModal .modal-body {
    min-height: 0;
    padding: 16px 32px 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

#stepsModal h2 {
    color: #202532;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 12px;
    letter-spacing: -.025em;
}

#stepsModal .contact-progress {
    font-size: 12px;
    font-weight: 600;
    color: #74637a;
}

/* D110 A9: Back beside the step counter. The button keeps a 44px target without making the
   row taller. */
#stepsModal .contact-progress-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 18px;
    margin-bottom: 8px;
}

#stepsModal #butStepBack {
    min-height: 44px;
    margin: -13px -4px -13px 0;
    padding: 0 4px;
    font-size: 14px;
}

#stepsModal .contact-intro {
    color: #5f6470;
    margin: 0 0 24px;
}

#stepsModal .contact-field {
    margin-bottom: 22px;
}

#stepsModal label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 7px;
}

#stepsModal .form-control {
    width: 100%;
    min-height: 48px;
    height: auto;
    padding: 11px 13px;
    border: 1px solid #b9bec8;
    border-radius: 8px;
    font: inherit;
    color: #202532;
    background: #fff;
    box-shadow: none;
}

#stepsModal .form-control[aria-invalid="true"] {
    border-color: #a62832;
}

/* intl-tel-input v17 wraps the field in .iti. The flag sits over the left edge, so the
   field needs room for it; .form-control's padding above would otherwise win and the
   first digits of a saved number would hide under the flag. */
#stepsModal .iti {
    display: block;
    width: 100%;
}

#stepsModal .iti--allow-dropdown input.form-control {
    padding-left: 54px;
}

#stepsModal .country-list {
    max-width: calc(100vw - 48px);
    white-space: normal;
}

#stepsModal .contact-hint {
    font-size: 13px;
    line-height: 1.5;
    color: #616775;
    margin: 8px 0 0;
}

#stepsModal .contact-registered {
    margin: 2px 0 26px;
    overflow-wrap: anywhere;
    font-size: 14px;
}

#stepsModal .contact-registered span {
    display: block;
    color: #616775;
    margin-bottom: 3px;
}

#stepsModal .btn {
    min-height: 44px;
    border-radius: 8px;
    white-space: normal;
    font: 600 15px/1.4 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding: 12px 16px;
}

#stepsModal .btn-primary {
    background: #8a3995;
    border: 1px solid #8a3995;
    color: #fff;
}

#stepsModal .btn-primary:hover {
    background: #742d7e;
}

#stepsModal .btn-link {
    color: #793283;
    text-decoration: underline;
    text-underline-offset: 3px;
}

#stepsModal .btn-default {
    background: #fff;
    border-color: #b9bec8;
    color: #333844;
}

#stepsModal .btn-default:hover, #stepsModal .close:hover {
    background: #f6eff7;
}

/* D110 A9: the step's main button stays pinned to the bottom of the dialog while the step
   scrolls under it (More open, phone keyboard). The white band below it hides what would show
   between the pinned button and the dialog's edge; nothing above the button is ever covered. */
#stepsModal .contact-primary {
    position: sticky;
    bottom: 0;
    z-index: 3;
    width: 100%;
    min-height: 50px;
    margin-top: 16px;
    box-shadow: 0 48px 0 36px #ffffff;
}

/* What follows the button in a step (the password links, "Free. Takes about a minute.")
   paints above its white ring; while the button is pinned, those are below the fold. */
#stepsModal .contact-primary ~ * {
    position: relative;
    z-index: 4;
}

#stepsModal .modal-body {
    scroll-padding-bottom: 90px;
}

/* D110 A4: show/hide sits beside the field (input-group style), outside it, so a password
   manager's icon inside the field is never covered. */
#stepsModal .contact-password {
    display: flex;
}

#stepsModal .contact-password .form-control {
    flex: 1;
    min-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

#stepsModal .contact-eye {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 52px;
    min-height: 48px;
    padding: 0;
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    color: #575160;
}

#stepsModal .contact-eye svg {
    width: 22px;
    height: 22px;
}

#stepsModal .contact-eye[aria-pressed="false"] .contact-eye-slash {
    display: none;
}

/* D110 A5: the username copy for password managers; visually hidden, never display:none. */
#stepsModal .contact-username {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

#stepsModal .contact-required {
    color: #a62832;
    margin-left: 2px;
}

/* site.css clips #messageForm (overflow: hidden), which cut off the sides of the
   focus ring on full-width fields. flow-root keeps the float containment. */
#stepsModal #messageForm {
    display: flow-root;
    overflow: visible;
}

#stepsModal button:focus, #stepsModal a:focus, #stepsModal input:focus,
#stepsModal textarea:focus, #stepsModal [tabindex="0"]:focus {
    outline: 3px solid #793283 !important;
    outline-offset: 3px;
    box-shadow: none !important;
}

#stepsModal .contact-choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 28px 0 20px;
}

#stepsModal .contact-choices .btn {
    min-height: 72px;
}

#stepsModal .contact-choices [aria-pressed="true"] {
    background: #f6eff7;
    border-color: #8a3995;
    color: #793283;
}

#stepsModal .contact-search, #stepsModal .contact-seller {
    display: flex;
    align-items: center;
    gap: 12px;
}

#stepsModal .contact-search input {
    min-width: 0;
}

#stepsModal .contact-seller {
    padding-bottom: 20px;
    overflow-wrap: anywhere;
}

#stepsModal #msgListingThumbnail {
    min-width: 0;
    width: 92px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
    margin: 0;
    flex-shrink: 0;
    background: #f2f3f5;
}

#stepsModal .contact-summary {
    background: #f7f6f8;
    border: 1px solid #e6e3e9;
    border-radius: 10px;
    padding: 12px 18px 18px;
    margin-bottom: 24px;
    overflow-wrap: anywhere;
    font-size: 14px;
}

#stepsModal .contact-summary-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

#stepsModal .contact-summary-heading .btn {
    padding-right: 0;
}

#stepsModal .contact-email-input {
    overflow-wrap: anywhere;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: #202532;
    font: inherit;
}

#stepsModal #txtMessageBody {
    min-height: 148px;
    max-height: none;
    resize: vertical;
    overflow: auto;
}

#stepsModal #contactMessageCount {
    text-align: right;
}

/* Near or at the 2,500 limit: the counter text says so too ("188 left", "limit reached"). */
#stepsModal #contactMessageCount.near {
    font-weight: 600;
    color: #575160;
}

#stepsModal #contactMessageCount.over {
    font-weight: 600;
    color: #a94442;
}

#stepsModal .contact-limit-note {
    margin-top: 4px;
    font-weight: 600;
    color: #575160;
}

#stepsModal .contact-consent {
    margin: 0;
}

#stepsModal .steps-back-fwd-container {
    display: flex;
    flex-shrink: 0;
}

#stepsModal .contact-received {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #2e6947;
    background: #eaf4ee;
    font-size: 26px;
    margin-bottom: 18px;
}

#stepsModal .contact-receipt-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 20px 0;
    margin: 20px 0;
    border-block: 1px solid #e6e3e9;
    overflow-wrap: anywhere;
}

#stepsModal .contact-receipt-details dt {
    font-size: 13px;
    font-weight: 400;
    color: #616775;
    margin-bottom: 4px;
}

#stepsModal #butStepMessageClose {
    margin-top: 24px;
}

#stepsModal .message-form-err-msg {
    color: #a62832;
    font-size: 14px;
}

#stepsModal .contact-saved {
    padding: 12px;
    border: 1px solid #e6e3e9;
    border-radius: 8px;
    margin-bottom: 20px;
}

#stepsModal .hidden {
    display: none !important;
}

@media (max-width: 600px) {
    #stepsModal .modal-dialog {
        margin: 0;
        width: 100%;
        height: 100%;
    }

    #stepsModal .modal-content {
        border: 0;
        border-radius: 0;
        height: 100vh;
        height: var(--contact-viewport-height, 100dvh);
        max-height: 100vh;
        max-height: var(--contact-viewport-height, 100dvh);
    }

    #stepsModal .modal-header {
        padding: 12px 20px;
        border-top: 3px solid #8a3995;
    }

    #stepsModal .modal-body {
        padding: 24px 20px max(24px, env(safe-area-inset-bottom));
    }

    #stepsModal h2 {
        font-size: 24px;
    }

    #stepsModal .contact-receipt-details {
        grid-template-columns: 1fr;
    }

    #stepsModal #contactAircraftTitle {
        font-size: 15px;
    }
}

/* Programmatic heading focus announces each step; interactive focus remains visible. */
#stepsModal #msgModalTitle:focus {
    outline: none;
}

#stepsModal .contact-verification { border: 1px solid #dbe4e7; border-radius: 12px; padding: 20px; margin: 24px 0; background: #f6faf9; }
#stepsModal .contact-verification h3 { font-size: 19px; line-height: 1.35; margin: 10px 0 12px; }
#stepsModal .contact-badge { display: inline-block; border-radius: 20px; padding: 5px 12px; color: #205d48; background: #e0f1e9; font-weight: 700; font-size: 13px; }
#stepsModal .contact-verification-facts { padding-left: 20px; margin-bottom: 12px; }
#stepsModal .contact-verification-facts li { margin-bottom: 6px; }
#stepsModal .contact-verification-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
#stepsModal .contact-verification-actions .btn { white-space: normal; min-height: 44px; }
#stepsModal #contactVerifyCode { max-width: 240px; font-size: 22px; letter-spacing: 5px; }
#stepsModal #contactVerifyCodePanel { margin-top: 20px; }
@media (max-width: 575px) {
    #stepsModal .contact-verification { padding: 16px; }
}

/* ---- Email Seller v2 screens ---- */
#stepsModal .contact-progress-bar {
    display: flex;
    gap: 6px;
    margin-bottom: 6px;
}

#stepsModal .contact-progress-bar span {
    flex: 1;
    height: 4px;
    border-radius: 2px;
    background: #e6e3e9;
}

#stepsModal .contact-progress-bar span.done {
    background: #8a3995;
}

#stepsModal .contact-envelope {
    border: 1px solid #d9d5de;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

#stepsModal .contact-erow {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 12px;
    padding: 7px 14px;
    border-bottom: 1px solid #ece9ef;
    font-size: 14px;
    overflow-wrap: anywhere;
}

#stepsModal .contact-erow > span:first-child {
    color: #616775;
}

#stepsModal .contact-dim {
    display: block;
    color: #616775;
}

#stepsModal .contact-envelope #txtMessageBody {
    border: 0;
    border-radius: 0;
    min-height: 100px;
}

/* D110 A9: "Change" sits on the From line instead of a row of its own. */
#stepsModal .contact-erow .contact-inline-link {
    min-height: 0;
    padding: 0 2px;
    margin-left: 6px;
    vertical-align: baseline;
}


#stepsModal .contact-inline-link {
    min-height: 44px;
    padding: 0 4px;
    font-weight: 600;
    font-size: 14px;
}

#stepsModal .contact-label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
}

#stepsModal .contact-center {
    text-align: center;
}

#stepsModal .contact-social {
    display: grid;
    gap: 10px;
}

#stepsModal .contact-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid #c9ced6;
    border-radius: 8px;
    background: #fff;
    color: #2b303b;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
}

#stepsModal .contact-social-btn:hover {
    background: #f7f6f8;
    color: #2b303b;
    text-decoration: none;
}

#stepsModal .contact-social-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

#stepsModal .contact-or {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 10px 0 14px;
    color: #616775;
    font-size: 13px;
}

#stepsModal .contact-or::before, #stepsModal .contact-or::after {
    content: "";
    flex: 1;
    border-top: 1px solid #e6e3e9;
}

#stepsModal .contact-identity {
    font-weight: 600;
    color: #202532;
    overflow-wrap: anywhere;
}

#stepsModal .contact-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 4px 16px;
    margin-top: 12px;
}

#stepsModal .contact-links a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #793283;
    font-weight: 600;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

#stepsModal .contact-create-instead {
    margin: 12px 0 0;
    padding-top: 8px;
    border-top: 1px solid #e6e3e9;
    font-size: 14px;
    color: #575160;
}

#stepsModal .contact-question .contact-choices {
    margin: 0 0 22px;
}

#stepsModal .contact-question .contact-choices .btn {
    min-height: 52px;
}

#stepsModal #stepFlying > .contact-hint {
    margin-bottom: 20px;
}

#stepsModal .contact-registered .contact-hint {
    display: block;
    margin-top: 4px;
}

#stepsModal .contact-preview {
    background: #f7f6f8;
    border: 1px solid #e6e3e9;
    border-radius: 10px;
    padding: 12px 16px 6px;
    margin-bottom: 24px;
}

#stepsModal #contactPreviewBody {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 4px 0;
}

#stepsModal #butStepMessageClose {
    margin-top: 16px;
}

@media (max-width: 600px) {
    #stepsModal .contact-erow {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    #stepsModal .contact-links {
        flex-direction: column;
        align-items: flex-start;
    }

    /* D110 A9: the edit links under the seller preview share rows on a phone. */
    #stepsModal .contact-signature-block .contact-links, #stepsModal .contact-sendprev .contact-links {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 0 12px;
    }
}

/* ---- About your flying (BUILD-SPEC 6): the seller card, the signature, buyer-only notes, the
   edit screens and the text note. The pilot card itself is Includes/css/airman-card.css. ---- */
#stepsModal .airman-card label {
    margin-bottom: 8px;
}

#stepsModal .contact-preview-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #74637a;
    margin-bottom: 6px;
}

#stepsModal .contact-signature-block {
    margin: 4px 0 16px;
    padding: 10px 14px;
    border: 1px solid #e6e3e9;
    border-radius: 10px;
    background: #f7f6f8;
}

#stepsModal .contact-signature p {
    margin: 0;
    font-size: 14px;
    color: #4b505c;
    overflow-wrap: anywhere;
}

#stepsModal .contact-signature .contact-sig-name, #stepsModal .contact-signature .contact-sig-licence {
    font-weight: 600;
    font-size: 15px;
    color: #202532;
}

#stepsModal .contact-signature .contact-sig-licence {
    margin-top: 10px;
}

#stepsModal .contact-signature .contact-sig-broker {
    margin-top: 6px;
    font-weight: 600;
    color: #202532;
}

#stepsModal .contact-texts-ok {
    display: inline-block;
    margin-left: 6px;
    padding: 0 8px;
    border-radius: 20px;
    background: #e3f1e8;
    color: #2e6947;
    font-size: 12px;
    font-weight: 700;
    vertical-align: 1px;
}

#stepsModal .contact-buyer-only {
    margin: 8px 0 0;
    font-size: 13px;
    color: #616775;
}

#stepsModal .contact-legacy-note {
    margin: 8px 0 0;
    padding: 6px 10px;
    border-left: 3px solid #b7791f;
    background: #fdf6e7;
    color: #6b4a12;
    font-size: 13px;
    font-weight: 600;
}

#stepsModal .contact-sms-note {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: 8px;
    background: #f6eff7;
    color: #5d2366;
    font-size: 13px;
    font-weight: 600;
}

#stepsModal .contact-buyer-only .contact-inline-link, #stepsModal .contact-legacy-note .contact-inline-link {
    min-height: 0;
    padding: 0;
    font-size: 13px;
}

#stepsModal .contact-signature-block .contact-links, #stepsModal .contact-sendprev .contact-links {
    justify-content: flex-start;
    margin-top: 6px;
}

#stepsModal .contact-sendprev {
    margin: 24px 0 20px;
}

#stepsModal .contact-mail {
    border: 1px solid #d9d5de;
    border-radius: 10px;
    overflow: hidden;
    font-size: 14px;
}

#stepsModal .contact-mail-body {
    padding: 14px;
}

#stepsModal .contact-mail-body #contactPreviewBody {
    margin-bottom: 12px;
}

#stepsModal .contact-mail-body .contact-signature {
    border-top: 1px solid #ece9ef;
    padding-top: 10px;
}

/* D110 A1: the broker question opens step 3, above the pilot question. D110 A9: on a wide
   dialog each Yes/No question is one row (question left, answers right); the licence card is
   tighter in the wizard than on My Account. */
#stepsModal #stepFlying .contact-question .contact-choices {
    margin-bottom: 4px;
}

#stepsModal #contactBrokerQuestion {
    margin-bottom: 14px;
}

#stepsModal .airman-card .ac-question {
    margin-bottom: 14px;
}

#stepsModal .airman-card .ac-card {
    padding-top: 14px;
}

#stepsModal .airman-card .ac-block {
    margin-top: 12px;
}

#stepsModal .airman-card .ac-auth-current {
    padding: 2px 4px 2px 12px;
}

#stepsModal .airman-card .ac-auth-text {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 8px;
}

#stepsModal .airman-card .ac-auth-sub {
    font-size: 13px;
}

/* One-line rating tiles (name and code side by side). */
#stepsModal .airman-card .ac-chip {
    min-height: 44px;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    align-content: center;
    gap: 0 6px;
}

#stepsModal .airman-card .ac-chip .ac-sub {
    margin-top: 0;
}

#stepsModal #contactBrokerQuestion, #stepsModal .airman-card .ac-question {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 156px;
    align-items: center;
    gap: 4px 12px;
}

#stepsModal #contactBrokerQuestion .contact-label, #stepsModal .airman-card .ac-question .ac-label {
    margin: 0;
}

#stepsModal #stepFlying #contactBrokerQuestion .contact-choices {
    gap: 8px;
    margin: 0;
}

#stepsModal .airman-card .ac-question .ac-yesno {
    gap: 8px;
}

#stepsModal #contactBrokerQuestion .btn, #stepsModal .airman-card .ac-choice {
    min-height: 46px;
    padding-left: 8px;
    padding-right: 8px;
}

#stepsModal #brokerHelp {
    grid-column: 1 / -1;
}

@media (min-width: 601px) {
    #stepsModal #contactBrokerQuestion, #stepsModal .airman-card .ac-question {
        grid-template-columns: minmax(0, 1fr) 280px;
        column-gap: 16px;
    }

    #stepsModal #stepFlying #contactBrokerQuestion .contact-choices, #stepsModal .airman-card .ac-question .ac-yesno {
        gap: 12px;
    }

    /* The issuer: "Who issued your licence?" and the current authority on one row. */
    #stepsModal .airman-card .ac-block:has(> .ac-auth-current) {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 8px 12px;
    }

    #stepsModal .airman-card .ac-block:has(> .ac-auth-current) > .ac-label {
        margin: 0;
    }

    #stepsModal .airman-card .ac-block:has(> .ac-auth-current) > .ac-country {
        grid-column: 1 / -1;
        margin-top: 4px;
    }

    /* "Your pilot licence", its one-line intro and "Optional" share one row. */
    #stepsModal .airman-card .ac-card {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 0 10px;
    }

    #stepsModal .airman-card .ac-card > * {
        flex: 0 0 100%;
        min-width: 0;
    }

    #stepsModal .airman-card .ac-card-head {
        display: contents;
    }

    #stepsModal .airman-card .ac-card-head h3 {
        order: -3;
        flex: 0 0 auto;
    }

    #stepsModal .airman-card .ac-card > .ac-hint:not(.ac-why) {
        order: -2;
        flex: 1 1 0;
        margin: 0;
    }

    #stepsModal .airman-card .ac-tag {
        order: -1;
        flex: 0 0 auto;
    }

    #stepsModal .contact-signature-block .contact-links .contact-inline-link,
    #stepsModal .contact-sendprev .contact-links .contact-inline-link {
        min-height: 32px;
    }
}

/* Edit screens: Cancel / Save in the thumb zone (D54). */
#stepsModal .contact-edit-bar {
    position: sticky;
    bottom: 0;
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding: 12px 0;
    background: #ffffff;
    border-top: 1px solid #e6e3e9;
}

#stepsModal .contact-edit-bar .btn {
    flex: 1;
    min-height: 48px;
}

#stepsModal .contact-receipt-text {
    margin: 16px 0;
    padding: 16px;
    border: 1px solid #e6e3e9;
    border-radius: 10px;
}

#stepsModal .contact-receipt-heading {
    margin: 0 0 4px;
    font-weight: 600;
    font-size: 15px;
}

#stepsModal .airman-card .ac-choice[aria-pressed="true"]::after {
    top: 4px;
    right: 4px;
}
