.confirmation-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-md);
    background: rgba(0, 0, 0, 0.55);
    box-sizing: border-box;
}

.confirmation-dialog {
    box-sizing: border-box;
    width: min(100%, 520px);
    max-height: calc(100vh - (var(--space-md) * 2));
    max-height: calc(100dvh - (var(--space-md) * 2));
    overflow: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--color-surface);
    color: var(--color-text-primary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-panel);
    box-shadow: 0 18px 60px color-mix(in srgb, var(--color-text-primary) 24%, transparent);
    font-family: var(--font-family-ui);
    font-size: var(--type-body-size);
    font-weight: var(--type-body-weight);
    line-height: var(--type-body-line-height);
    padding: var(--space-lg);
}

.confirmation-dialog:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-primary-500) 30%, var(--color-surface));
    outline-offset: 2px;
}

.confirmation-dialog,
.confirmation-dialog__header,
.confirmation-dialog__heading,
.confirmation-dialog__body,
.confirmation-dialog__title,
.confirmation-dialog__description,
.confirmation-dialog__confirmation-label,
.confirmation-dialog__confirmation-instruction,
.confirmation-dialog__message {
    min-width: 0;
    max-width: 100%;
}

.confirmation-dialog__title,
.confirmation-dialog__description,
.confirmation-dialog__confirmation-label,
.confirmation-dialog__confirmation-instruction,
.confirmation-dialog__message,
.prospect-activity-name,
.prospect-activity-email,
.prospect-activity-warning,
.prospect-activity-limit-notice,
.media-lightbox__caption {
    overflow-wrap: anywhere;
}

.confirmation-dialog--wide {
    width: min(100%, 900px);
}

/* Canonical long-form dialog: the body scrolls while actions remain reachable. */
.confirmation-dialog--form {
    background: var(--color-surface);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

.confirmation-dialog--form .confirmation-dialog__header {
    border-bottom: 1px solid var(--color-divider);
    padding: var(--space-lg);
}

.confirmation-dialog__body.confirmation-dialog__body--form {
    display: flex;
    flex: 1 1 auto;
    margin: 0;
    min-height: 0;
    overflow: hidden;
}

.dialog-form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    width: 100%;
}

.dialog-form__content {
    display: grid;
    gap: var(--space-md);
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--space-lg);
}

.dialog-form__message {
    flex: 0 0 auto;
    margin: var(--space-md) var(--space-lg) 0;
    overflow-wrap: anywhere;
}

.dialog-form__message[hidden] {
    display: none;
}

.dialog-form__actions.confirmation-dialog__actions {
    background: var(--color-surface);
    border-top: 1px solid var(--color-divider);
    flex: 0 0 auto;
    margin: 0;
    padding: var(--space-md) var(--space-lg);
}

.confirmation-dialog--prospect-activity {
    width: min(100%, 820px);
}

.confirmation-dialog--media-lightbox {
    width: min(100%, 1100px);
    background: #111;
    color: #fff;
}

.confirmation-dialog--media-lightbox .confirmation-dialog__title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.confirmation-dialog__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
}

.confirmation-dialog__body {
    margin-top: var(--space-md);
}

.confirmation-dialog__body--media-lightbox {
    margin-top: 0;
}

.confirmation-dialog__title {
    margin: 0 0 var(--space-sm);
    font-size: var(--type-h2-size);
    font-weight: var(--type-h2-weight);
    line-height: var(--type-h2-line-height);
}

.confirmation-dialog__header .confirmation-dialog__title {
    margin: 0;
}

.confirmation-dialog__description {
    margin: var(--space-xs) 0 0;
    color: var(--color-text-secondary);
    font-size: var(--type-body-small-size);
    line-height: var(--type-body-small-line-height);
}

.confirmation-dialog__close {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-control);
    background: transparent;
    color: var(--color-text-secondary);
    cursor: pointer;
}

.confirmation-dialog__close:hover {
    background: var(--color-primary-100);
    color: var(--color-primary-700);
}

.confirmation-dialog__header .confirmation-dialog__close:focus-visible {
    border-radius: var(--radius-control);
    outline: 3px solid color-mix(in srgb, var(--color-primary-500) 30%, var(--color-surface));
    outline-offset: 2px;
}

/* Media dialogs intentionally retain a dark surface and contrasting controls. */
.confirmation-dialog--media-lightbox .confirmation-dialog__close {
    color: var(--color-surface);
}

.confirmation-dialog--media-lightbox .confirmation-dialog__close:hover {
    background: color-mix(in srgb, var(--color-surface) 16%, transparent);
    color: var(--color-surface);
}

.prospect-activity {
    display: grid;
    gap: var(--space-lg);
}

.prospect-activity-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
}

.prospect-activity-header {
    display: grid;
    gap: var(--space-xs);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-border);
}

.prospect-activity-name,
.prospect-activity-email,
.prospect-activity-warning,
.prospect-activity-limit-notice {
    margin: 0;
}

.prospect-activity-name {
    font-weight: 700;
}

.prospect-activity-warning,
.prospect-activity-limit-notice {
    color: var(--color-text-secondary);
    font-size: var(--type-body-small-size);
    line-height: var(--type-body-small-line-height);
}

.prospect-activity-section {
    display: grid;
    gap: var(--space-sm);
}

.prospect-activity-section h3 {
    margin: 0;
    font-size: var(--type-body-size);
}

.prospect-activity-list {
    display: grid;
    gap: var(--space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.prospect-activity-item {
    display: grid;
    gap: 0.25rem;
    padding: var(--space-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
}

.prospect-activity-item__title {
    color: var(--color-text-primary);
}

.prospect-activity-item small {
    color: var(--color-text-secondary);
}

.prospect-activity-loading {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.prospect-activity-loading .spinner {
    width: 1rem;
    height: 1rem;
    border-width: 2px;
}

.confirmation-dialog__message {
    margin: 0;
    color: var(--color-text-secondary);
}

.confirmation-dialog__confirmation {
    display: grid;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}

.confirmation-dialog__confirmation-label {
    color: var(--color-text-primary);
    font-weight: var(--type-label-weight);
    font-size: var(--type-label-size);
    line-height: var(--type-label-line-height);
}

.confirmation-dialog__confirmation-instruction {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--type-body-small-size);
    line-height: var(--type-body-small-line-height);
}

.confirmation-dialog__confirmation-input {
    width: 100%;
    min-width: 0;
}

.confirmation-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}

.media-lightbox {
    display: grid;
    gap: var(--space-sm);
}

.media-lightbox__close {
    justify-self: end;
}

.media-lightbox__viewport {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-sm);
}

.media-lightbox__nav--previous {
    grid-column: 1;
    grid-row: 1;
}

.media-lightbox__image {
    grid-column: 2;
    grid-row: 1;
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: 75vh;
    max-height: 75dvh;
    object-fit: contain;
    background: #000;
}

.media-lightbox__loading,
.media-lightbox__error {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    z-index: 1;
}

.media-lightbox__loading {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    border-radius: 6px;
}

.media-lightbox__loading[hidden],
.media-lightbox__error[hidden] {
    display: none;
}

.media-lightbox__loading .spinner {
    width: 1rem;
    height: 1rem;
    border-width: 2px;
}

.media-lightbox__error {
    margin: 0;
    padding: var(--space-xs) var(--space-sm);
    background: rgba(0, 0, 0, 0.78);
    color: #fff;
    border-radius: 6px;
}

.media-lightbox__nav--next {
    grid-column: 3;
    grid-row: 1;
}

.media-lightbox__footer {
    display: grid;
    gap: var(--space-xs);
    text-align: center;
}

.media-lightbox__counter,
.media-lightbox__caption {
    margin: 0;
}

.media-lightbox__caption {
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--type-caption-size);
    line-height: var(--type-caption-line-height);
}

@media (max-width: 576px) {
    .confirmation-overlay {
        align-items: flex-end;
        padding: var(--space-sm);
    }

    .confirmation-dialog:where(:not(.confirmation-dialog--form)) {
        padding: var(--space-md);
    }

    .confirmation-dialog__actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .confirmation-dialog__actions .btn {
        width: 100%;
    }

    .confirmation-dialog--form .confirmation-dialog__header,
    .dialog-form__content,
    .dialog-form__actions.confirmation-dialog__actions {
        padding-right: var(--space-md);
        padding-left: var(--space-md);
    }

    .dialog-form__message {
        margin-right: var(--space-md);
        margin-left: var(--space-md);
    }

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

    .media-lightbox__image {
        grid-column: 1 / -1;
        grid-row: 1;
        max-height: 68vh;
        max-height: 68dvh;
    }

    .media-lightbox__loading,
    .media-lightbox__error {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .media-lightbox__nav--previous {
        grid-column: 1;
        grid-row: 2;
    }

    .media-lightbox__nav--next {
        grid-column: 2;
        grid-row: 2;
    }

    .media-lightbox__nav {
        width: 100%;
    }
}
