.m-customer-generator-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.m-customer-recent-images-actions,
.m-customer-recent-images-navigation {
    display: flex;
    align-items: center;
}

.m-customer-recent-images-widget,
.m-customer-recent-images-carousel,
.m-customer-recent-images-carousel > .fi-section,
.m-customer-recent-images-carousel .fi-section-content-ctn,
.m-customer-recent-images-carousel .fi-section-content {
    min-width: 0;
    max-width: 100%;
}

.m-customer-recent-images-widget,
.m-customer-recent-images-carousel {
    width: 100%;
    overflow: hidden;
}

.m-customer-recent-images-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.m-customer-recent-images-navigation {
    gap: 0.375rem;
}

.m-customer-recent-images-track {
    --customer-recent-image-width: calc((100% - 4rem) / 4.2);

    display: flex;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    padding: 0.125rem 0 0.75rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 0.125rem;
    scroll-snap-type: inline mandatory;
    scrollbar-color: var(--gray-300) transparent;
    scrollbar-width: thin;
}

.m-customer-recent-images-track:focus-visible {
    border-radius: 0.5rem;
    outline: 0.125rem solid var(--primary-500);
    outline-offset: 0.25rem;
}

.m-customer-recent-images-track > .m-image-library-card {
    flex: 0 0 var(--customer-recent-image-width);
    height: 100%;
    scroll-snap-align: start;
}

.dark .m-customer-recent-images-track {
    scrollbar-color: var(--gray-600) transparent;
}

.m-customer-generator-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border-radius: 0.75rem;
    background: white;
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.05), 0 0 0 1px rgb(0 0 0 / 0.05);
    transition: box-shadow 150ms ease, transform 150ms ease;
}

.m-customer-generator-card:hover {
    box-shadow: 0 10px 24px -12px rgb(0 0 0 / 0.22), 0 0 0 1px rgb(0 0 0 / 0.08);
    transform: translateY(-2px);
}

.m-customer-generator-card:focus-within {
    box-shadow: 0 0 0 2px var(--primary-500), 0 8px 20px -12px rgb(0 0 0 / 0.28);
}

.m-customer-generator-card-media {
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--gray-100);
}

.m-customer-generator-card-image,
.m-customer-generator-card-placeholder {
    display: block;
    width: 100%;
    height: 10rem;
}

.m-customer-generator-card-image {
    object-fit: cover;
    transition: transform 300ms ease;
}

.m-customer-generator-card:hover .m-customer-generator-card-image {
    transform: scale(1.025);
}

.m-customer-generator-card-placeholder {
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--primary-100) 70%, transparent), transparent 55%),
        var(--gray-100);
    color: var(--gray-400);
}

.m-customer-generator-card-placeholder .fi-icon {
    width: 2.5rem;
    height: 2.5rem;
}

.m-customer-generator-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1rem;
}

.m-customer-generator-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.m-customer-generator-card-heading > .fi-badge {
    flex-shrink: 0;
}

.m-customer-generator-card-title-block {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.m-customer-generator-card-title {
    color: var(--gray-950);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.m-customer-generator-card-title:hover {
    color: var(--primary-600);
}

.m-customer-generator-card-details {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    border-radius: 0.625rem;
    background: var(--gray-50);
    box-shadow: inset 0 0 0 1px var(--gray-200);
    font-size: 0.875rem;
}

.m-customer-generator-card-detail {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.75rem;
}

.m-customer-generator-card-detail + .m-customer-generator-card-detail {
    border-top: 1px solid var(--gray-200);
}

.m-customer-generator-card-detail > .fi-icon {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.0625rem;
    color: var(--gray-400);
}

.m-customer-generator-card-details dt {
    color: var(--gray-500);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.025em;
    line-height: 1rem;
    text-transform: uppercase;
}

.m-customer-generator-card-details dd {
    margin-top: 0.25rem;
    color: var(--gray-800);
    font-weight: 500;
    line-height: 1.35rem;
}

.m-customer-generator-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-top: 1px solid var(--gray-200);
    background: var(--gray-50);
}

.dark .m-customer-generator-card {
    background: var(--gray-900);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.3), 0 0 0 1px var(--gray-700);
}

.dark .m-customer-generator-card:hover {
    box-shadow: 0 12px 28px -14px rgb(0 0 0 / 0.8), 0 0 0 1px var(--gray-600);
}

.dark .m-customer-generator-card-placeholder {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--primary-900) 55%, transparent), transparent 55%),
        var(--gray-800);
    color: var(--gray-500);
}

.dark .m-customer-generator-card-title {
    color: var(--gray-50);
}

.dark .m-customer-generator-card-title:hover {
    color: var(--primary-400);
}

.dark .m-customer-generator-card-details,
.dark .m-customer-generator-card-actions {
    background: color-mix(in srgb, var(--gray-800) 72%, transparent);
}

.dark .m-customer-generator-card-details {
    box-shadow: inset 0 0 0 1px var(--gray-700);
}

.dark .m-customer-generator-card-detail + .m-customer-generator-card-detail,
.dark .m-customer-generator-card-actions {
    border-color: var(--gray-700);
}

.dark .m-customer-generator-card-details dt {
    color: var(--gray-400);
}

.dark .m-customer-generator-card-details dd {
    color: var(--gray-200);
}

@media (max-width: 79.99rem) {
    .m-customer-generator-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .m-customer-recent-images-track {
        --customer-recent-image-width: calc((100% - 3rem) / 3.2);
    }
}

@media (max-width: 63.99rem) {
    .m-customer-recent-images-track {
        --customer-recent-image-width: calc((100% - 2rem) / 2.2);
    }
}

@media (max-width: 47.99rem) {
    .m-customer-generator-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .m-customer-recent-images-track {
        --customer-recent-image-width: calc((100% - 1rem) / 1.2);
    }
}

@media (prefers-reduced-motion: reduce) {
    .m-customer-recent-images-track {
        scroll-behavior: auto;
    }
}

.m-customer-credit-balance-suffix {
    color: var(--gray-500);
    font-size: 0.875rem;
    font-weight: 400;
}
