.neo-rename--dialog {
    position: fixed; inset: 0; z-index: 200000;
    body .neo-rename--dialog-swal:not(&) { z-index: 2000001; }
    display: flex; align-items: center; justify-content: center;
    padding: 20px; @media (max-width: 767px) { padding: 10px; }

    font-size: 16px; p { font-size: 1em; }
    input:not(.more-specificity), select:not(.more-specificity), neo-select-neo-rename:not(.more-specificity) { min-height: 0px; }
    button { border: none; background: none; cursor: pointer; }
    input[type=checkbox] { min-width: initial; min-height: initial; }
    input[type=checkbox]:checked::before { --rem-to-em-factor: calc(16 / 14 * 1em); margin: calc(-.1875 * var(--rem-to-em-factor)) 0 0 calc(-.25 * var(--rem-to-em-factor)); }

    .neo-rename--dialog-backdrop { position: fixed; inset: 0; z-index: -1; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(5px); transition: backdrop-filter 2s; }
    &:not(:has(.neo-rename--dialog-box>*:hover)) .neo-rename--dialog-backdrop { backdrop-filter: blur(0px); }

    .neo-rename--dialog-box {
        display: flex; flex-direction: column;
        min-width: min(100%, 700px);
        max-height: 1000px;
        &:is(.neo-rename--dialog-show-bulk-options &) { height: 100%; width: calc(min(100%, 300px + 66vw)); }
        filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.5)); overflow: hidden;
        --border-radius: 10px; border-radius: var(--border-radius);

        .neo-rename--dialog-preview-section, .neo-rename--dialog-input-section, .neo-rename--dialog-table-section, .neo-rename--dialog-warning-section {
            display: flex; flex-direction: column; align-items: center; justify-content: center;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            &:not(:nth-last-of-type(1)) { margin-bottom: calc(0px - var(--border-radius)); }
            border-radius: 0 0 var(--border-radius) var(--border-radius);
            --section-padding: 40px; padding: var(--section-padding);
            @media (max-width: 767px) { --section-padding: 20px; }
        }

        .neo-rename--dialog-preview-section, .neo-rename--dialog-input-section, .neo-rename--dialog-table-section, .neo-rename--dialog-warning-section { position: relative; }
        .neo-rename--dialog-preview-section { z-index: 3; flex-shrink: 0; background: #ffffff; }
        .neo-rename--dialog-input-section   { z-index: 2; flex-shrink: 0; background: #ffffff; }
        .neo-rename--dialog-table-section   { z-index: 1; flex-shrink: 1; background: #f7f7f7; }
        .neo-rename--dialog-warning-section { z-index: 0; flex-shrink: 0; background: #ffc040; }

        .neo-rename--dialog-preview-section { box-shadow: none; --border-radius: 0px; }
        .neo-rename--dialog-input-section   { padding-top: 1px; }
        &:is(.neo-rename--dialog:not([data-neo-rename--state="edit"]) &) .neo-rename--dialog-alt-text-ai-button-tooltip, &:is(.neo-rename--dialog:not([data-neo-rename--state="edit"]) &) .neo-rename--dialog-filter-clear-button-tooltip, &:is(.neo-rename--dialog:not([data-neo-rename--state="edit"]) &) .neo-rename--dialog-clear-button-tooltip, &:is(.neo-rename--dialog:not([data-neo-rename--state="edit"]) &) .neo-rename--dialog-title-ai-button-tooltip { visibility: hidden; pointer-events: none; }

        .neo-rename--dialog-preview-section {
            height: 150px;
            padding: var(--section-padding) 0 0; flex-direction: row;
            .neo-rename--dialog-navigation-button { align-self: stretch; flex: 1 1 0; min-width: 3em; display: flex; align-items: center; justify-content: center; color: #595959; z-index: 2; &:is(.neo-rename--dialog-show-bulk-options &) { display: none; }}
            .neo-rename--dialog-navigation-button:hover:not(:disabled) { opacity: 1; }
            .neo-rename--dialog-navigation-button:disabled { opacity: 0.18; cursor: default; }
            .neo-rename--dialog-navigation-button::before { content: ""; width: 1em; height: 1em; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
            .neo-rename--dialog-navigation-previous-button::before { transform: rotate(-135deg); }
            .neo-rename--dialog-navigation-next-button::before { transform: rotate(45deg); }

            &:has(.neo-rename--dialog-image-preview-image-loading)::after {
                content: ""; position: absolute; inset: 0; margin: auto;
                width: 32px; height: 32px; border: 4px solid #C0C0C0; border-top-color: #00ff00; border-radius: 50%;
                animation: neo-rename--dialog-image-spin 1s linear infinite;
            }

            &.neo-rename--dialog-image-preview-image-hidden { height: 0; padding-bottom: 0; }

            .neo-rename--dialog-image-preview-image {
                object-fit: contain; flex: 0 1 auto; max-width: calc(100% - 6em); max-height: 100%;
                &:is(.neo-rename--dialog-show-bulk-options &) { max-width: 100%; }
                box-shadow: 0 0 10px #00000020;
                cursor: pointer;
                user-select: none;

                &:is(.neo-rename--dialog-show-bulk-options:not(:has(.neo-rename--dialog-table-row-scroll-wrapper .neo-rename--dialog-table-row) &))                                          { transform: translate( 0px, 0px) scale(0.3); box-shadow: 0 0 10px #00000000, 0 0 5px #FFFFFF, 6px -6px 0px #FFFFFF, 6px -6px 5px #FFFFFF, 12px -12px 0px #FFFFFF, 12px -12px 5px #FFFFFF, 18px -18px 0px #FFFFFF; height: 100%; aspect-ratio: 3/2; background: #FFFFFF; }
                &:is(.neo-rename--dialog-show-bulk-options:has(.neo-rename--dialog-table-row-scroll-wrapper .neo-rename--dialog-table-row:nth-child(1 of .neo-rename--dialog-table-row)) &)  { transform: translate(-0px, 0px) scale(1.0); box-shadow: 0 0 10px #00000040, 0 0 5px #FFFFFF, 6px -6px 0px #FFFFFF, 6px -6px 5px #FFFFFF, 12px -12px 0px #FFFFFF, 12px -12px 5px #FFFFFF, 18px -18px 0px #FFFFFF; }
                &:is(.neo-rename--dialog-show-bulk-options:has(.neo-rename--dialog-table-row-scroll-wrapper .neo-rename--dialog-table-row:nth-child(2 of .neo-rename--dialog-table-row)) &)  { transform: translate(-2px, 2px) scale(1.0); box-shadow: 0 0 10px #00000040, 0 0 5px #FFFFFF, 6px -6px 0px #D0D0D0, 6px -6px 5px #FFFFFF, 12px -12px 0px #FFFFFF, 12px -12px 5px #FFFFFF, 18px -18px 0px #FFFFFF; }
                &:is(.neo-rename--dialog-show-bulk-options:has(.neo-rename--dialog-table-row-scroll-wrapper .neo-rename--dialog-table-row:nth-child(3 of .neo-rename--dialog-table-row)) &)  { transform: translate(-4px, 4px) scale(1.0); box-shadow: 0 0 10px #00000040, 0 0 5px #FFFFFF, 6px -6px 0px #D0D0D0, 6px -6px 5px #FFFFFF, 12px -12px 0px #E0E0E0, 12px -12px 5px #FFFFFF, 18px -18px 0px #FFFFFF; }
                &:is(.neo-rename--dialog-show-bulk-options:has(.neo-rename--dialog-table-row-scroll-wrapper .neo-rename--dialog-table-row:nth-child(4 of .neo-rename--dialog-table-row)) &)  { transform: translate(-6px, 6px) scale(1.0); box-shadow: 0 0 10px #00000040, 0 0 5px #FFFFFF, 6px -6px 0px #D0D0D0, 6px -6px 5px #FFFFFF, 12px -12px 0px #E0E0E0, 12px -12px 5px #FFFFFF, 18px -18px 0px #F0F0F0; }
                transition: box-shadow 0.2s, transform 0.2s;

                &.neo-rename--dialog-file-type-icon { width: 100px; height: 100px; }
                &.neo-rename--dialog-file-type-icon { mask-repeat: no-repeat; mask-position: center center; mask-size: contain; background-image: linear-gradient(to right top, #FF00FF, #000000, #00FF00); }
                &.neo-rename--dialog-file-type-icon[data-neo-rename--file-type="video"] { mask-image: url(./img/_global-file-type-video-icon.svg); }
                &.neo-rename--dialog-file-type-icon[data-neo-rename--file-type="audio"] { mask-image: url(./img/_global-file-type-audio-icon.svg); }
                &.neo-rename--dialog-file-type-icon[data-neo-rename--file-type="pdf"]   { mask-image: url(./img/_global-file-type-pdf-icon.svg); }
                &.neo-rename--dialog-file-type-icon[data-neo-rename--file-type="txt"]   { mask-image: url(./img/_global-file-type-txt-icon.svg); }
                &.neo-rename--dialog-file-type-icon[data-neo-rename--file-type="zip"]   { mask-image: url(./img/_global-file-type-zip-icon.svg); }
                &.neo-rename--dialog-file-type-icon[data-neo-rename--file-type="other"] { mask-image: url(./img/_global-file-type-file-icon.svg); }
                &.neo-rename--dialog-file-type-icon[data-neo-rename--file-type="done"]  { mask-image: url(./img/neo-rename--done-icon.svg); }

                &:is(.neo-rename--dialog:has(.neo-rename--dialog-table-row-scroll-wrapper .neo-rename--dialog-table-row) &):not(.neo-rename--dialog-file-type-icon) {
                    --size: 20px;
                    --color: #00000010; --color-light: #ffffff10;
                    background-color: var(--color); background-size: var(--size) var(--size); background-position: 0 0, calc(var(--size) / 2) calc(var(--size) / 2);
                    animation: neo-rename--dialog-checkerboard-move 4s linear infinite;
                    background-image: linear-gradient( 45deg, var(--color) 25%, var(--color-light) 0%, var(--color-light) 75%, var(--color) 0%, var(--color)), linear-gradient( 45deg, var(--color) 25%, var(--color-light) 0%, var(--color-light) 75%, var(--color) 0%, var(--color));
                }
            }
        }

        .neo-rename--dialog-input-section {
            display: flex; justify-content: center; align-items: center; --gap: 20px; --input-row-height: 2.8em;
            --input-border-color: #A0A0A0;
            .neo-rename--dialog-input-layout { display: flex; flex-direction: column; align-items: center; max-width: 100%; }
            .neo-rename--dialog-input-main-row { display: flex; flex-direction: row; align-items: stretch; gap: var(--gap); max-width: 100%; margin-top: var(--section-padding); }

            @media (max-width: 767px) {
                .neo-rename--dialog-input-main-row { flex-direction: column; }
                .neo-rename--dialog-input-column:not(#more-specificity) { max-width: 100%; }
                .neo-rename--dialog-input:not(#more-specificity) { flex-grow: 1; min-width: 0px; }
            }

            .neo-rename--dialog-alt-text-row {
                display: none; width: fit-content; max-width: 100%; box-sizing: border-box; position: relative;
                margin-top: 10px;
                &:is(.neo-rename--dialog-show-alt-text &) { display: flex; flex-direction: column; align-items: stretch; gap: 1px; }
                .neo-rename--dialog-alt-text-label { visibility: hidden; flex: 0 0 auto; font-size: 0.74em; line-height: 1; color: #606060; letter-spacing: 0; white-space: nowrap; }
                &[data-neo-rename--input-has-value] .neo-rename--dialog-alt-text-label { visibility: visible; }
                .neo-rename--dialog-alt-text-input-wrapper { --neo-global--ai-generation-border-radius: 4px; flex: 0 0 auto; min-width: 140px; max-width: 100%; position: relative; display: flex; }
                .neo-rename--dialog-alt-text-input {
                    position: absolute; inset: 0; width: 100%; min-width: 0; max-width: 100%; margin: 0; min-height: calc(1.25em + 10px); max-height: calc(4.375em + 10px); padding: 4px 2.8em 4px 4px; box-sizing: border-box; border: 1px solid var(--input-border-color); border-radius: 4px; resize: none; overflow: auto; font-size: 0.88em; line-height: 1.25; color: #606060;
                    &:disabled { background-color: transparent; opacity: 1; }
                    &:focus { box-shadow: none; border-color: var(--input-border-color); } &:focus-visible { outline: 1px solid blue; }
                }
                .neo-rename--dialog-alt-text-measure { visibility: hidden; pointer-events: none; white-space: pre; min-width: 1px; max-width: none; min-height: 1.25em; padding: 4px 2.8em 4px 4px; box-sizing: border-box; border: 1px solid transparent; font-size: 0.88em; line-height: 1.25; }
                .neo-rename--dialog-alt-text-input-wrapper:has(.neo-rename--dialog-alt-text-undo-button:not(.neo-rename--dialog-alt-text-button-hidden)) .neo-rename--dialog-alt-text-input { padding-right: 4.8em; }
                .neo-rename--dialog-alt-text-input-wrapper:has(.neo-rename--dialog-alt-text-undo-button:not(.neo-rename--dialog-alt-text-button-hidden)) .neo-rename--dialog-alt-text-measure { padding-right: 4.8em; }
                .neo-rename--dialog-alt-text-ai-button-tooltip, .neo-rename--dialog-alt-text-undo-button-tooltip {
                    position: absolute; right: 0; top: 0; bottom: 0; width: 2.8em; height: 100%; display: flex; align-items: center; justify-content: center; color: #606060;
                }
                .neo-rename--dialog-alt-text-input-wrapper:has(.neo-rename--dialog-alt-text-undo-button:not(.neo-rename--dialog-alt-text-button-hidden)) .neo-rename--dialog-alt-text-ai-button-tooltip { right: 2em; }
                .neo-rename--dialog-alt-text-ai-button, .neo-rename--dialog-alt-text-undo-button {
                    position: static; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: inherit;
                    img { width: 1em; height: 1em; opacity: 0.75; }
                    &:hover img { opacity: 1; }
                }
                .neo-rename--dialog-alt-text-undo-button-tooltip:has(.neo-rename--dialog-alt-text-button-hidden), .neo-rename--dialog-alt-text-ai-button-tooltip:has(.neo-rename--dialog-alt-text-ai-button:disabled:not([data-neo-global--ai-generating])), .neo-rename--dialog-alt-text-undo-button-tooltip:has(.neo-rename--dialog-alt-text-undo-button:disabled) { display: none; }
                @media (hover: hover) and (pointer: fine) { .neo-rename--dialog-alt-text-input-wrapper:not(:hover):not(:focus-within) .neo-rename--dialog-alt-text-ai-button-tooltip:not(:has([data-neo-global--ai-generating])), .neo-rename--dialog-alt-text-input-wrapper:not(:hover):not(:focus-within) .neo-rename--dialog-alt-text-undo-button-tooltip { opacity: 0; pointer-events: none; } }
            }

            .neo-rename--dialog-input-column {
                display: flex; flex-direction: column;
                max-width: calc(100% - var(--gap) / 2 - var(--section-padding));
                justify-content: flex-end;

                .neo-rename--dialog-input-column-row {
                    --neo-global--ai-generation-border-radius: 4px;
                    display: flex; flex-direction: row;
                    height: var(--input-row-height);
                    position: relative;

                    .neo-rename--dialog-input, .neo-rename--dialog-select {
                        margin: 0; font-size: 1em;
                        border-color: var(--input-border-color);
                        &:focus { box-shadow: none; border-color: var(--input-border-color); } &:focus-visible { outline: 1px solid blue; z-index: 1; }
                    }
                    .neo-rename--dialog-select { --neo-select-border-color-neo-rename: var(--input-border-color); --neo-select-border-radius-neo-rename: 4px 0 0 4px; --neo-select-padding-neo-rename: 0 1.35em 0 0.75em; --neo-select-background-neo-rename: #ffffff; }
                    &::before {
                        content: attr(data-neo-rename--placeholder);
                        position: absolute; left: calc(var(--neo-rename--dialog-select-width) + var(--neo-rename--dialog-input-padding-horizontal)); right: var(--neo-rename--dialog-input-padding-horizontal); top: 0; bottom: 0;
                        display: flex; align-items: center;
                        color: rgb(117, 117, 117);
                        pointer-events: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
                        z-index: 2;
                    }
                    &[data-neo-rename--input-has-value]::before { content: ""; }
                    --neo-rename--dialog-input-padding-horizontal: 8px;
                    .neo-rename--dialog-input { padding: 0 var(--neo-rename--dialog-input-padding-horizontal); }
                    .neo-rename--dialog-input { max-width: 100%; }
                    .neo-rename--dialog-input::-webkit-search-cancel-button { display: none; }
                    .neo-rename--dialog-input::placeholder, .neo-rename--dialog-input::-webkit-input-placeholder { color: transparent; }
                    .neo-rename--dialog-input::-webkit-calendar-picker-indicator { display: none !important; }
                    .neo-rename--dialog-input  { border-left:  none; border-radius: 0 4px 4px 0; }
                    .neo-rename--dialog-select { border-right: none; border-radius: 4px 0 0 4px; }
                    .neo-rename--dialog-select::part(trigger) { border-right: none; border-radius: var(--neo-select-border-radius-neo-rename); justify-content: center; }
                    .neo-rename--dialog-select::part(selected-icon) { width: 1.15em; height: 1.15em; }
                    --neo-rename--dialog-select-width: 3.6em;
                    .neo-rename--dialog-select {
                        &:disabled { opacity: 1.0; background-color: inherit; }
                        width: 3.6em;
                        height: 100%;
                        padding: 0; box-sizing: border-box;
                    }

                    --neo-rename--dialog-input-button-width: 2em;
                    --neo-rename--dialog-title-ai-button-right: 1.45em;
                    .neo-rename--dialog-ai-icon-button {
                        img { display: block; width: 1em; height: 1em; opacity: 0.75; }
                        &:not([data-neo-global--ai-generating]):hover img { opacity: 1; }
                    }
                    .neo-rename--dialog-undo-clean-button-tooltip, .neo-rename--dialog-filter-clear-button-tooltip, .neo-rename--dialog-clear-button-tooltip, .neo-rename--dialog-title-ai-button-tooltip, .neo-rename--dialog-explain-mode-button {
                        position: absolute; top: 0; bottom: 0; right: 0; margin: auto;
                        z-index: 1;
                        width: var(--neo-rename--dialog-input-button-width); height: 100%;
                        display: flex; align-items: center; justify-content: center; font-size: 1.2em; color: #606060;
                        &:hover { color: #000000; }
                        &:disabled:not([data-neo-global--ai-generating]), &:has(>button:disabled:not([data-neo-global--ai-generating])), &.neo-rename--dialog-explain-mode-button-disabled { display: none; }
                        &:is(.neo-rename--dialog-input:disabled ~ &):not(.neo-rename--dialog-explain-mode-button) { display: none; }
                    }
                    .neo-rename--dialog-undo-clean-button, .neo-rename--dialog-clear-button, .neo-rename--dialog-title-ai-button { position: static; margin: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: inherit; font-size: inherit; }
                    .neo-rename--dialog-clear-button img { width: 1em; height: 1em; opacity: 0.75; }
                    .neo-rename--dialog-clear-button:hover img { opacity: 1; }
                    .neo-rename--dialog-title-ai-button-tooltip { right: var(--neo-rename--dialog-title-ai-button-right); }
                    &:has(.neo-rename--dialog-undo-clean-button-tooltip:not(:has(>button:disabled)), .neo-rename--dialog-filter-clear-button-tooltip:not(:has(>button:disabled)), .neo-rename--dialog-clear-button-tooltip:not(:has(>button:disabled)), .neo-rename--dialog-title-ai-button-tooltip:not(:has(>button:disabled)), .neo-rename--dialog-explain-mode-button:not(.neo-rename--dialog-explain-mode-button-disabled)) .neo-rename--dialog-input:not(:disabled) { padding-right: var(--neo-rename--dialog-input-button-width); box-sizing: border-box; }
                    &:has(.neo-rename--dialog-title-ai-button-tooltip:not(:has(>button:disabled)), .neo-rename--dialog-title-ai-button[data-neo-global--ai-generating]) .neo-rename--dialog-input:not(:disabled) { padding-right: calc(var(--neo-rename--dialog-title-ai-button-right) + var(--neo-rename--dialog-input-button-width)); }

                    &:nth-child(1) { display: none; }
                    &:is(.neo-rename--dialog-show-bulk-options &) {
                        &:nth-child(1) {
                            display: flex;
                            .neo-rename--dialog-input, .neo-rename--dialog-select-wrapper { margin-bottom: -1px; }
                            .neo-rename--dialog-select { --neo-select-border-radius-neo-rename: 4px 0 0 0; border-radius: 4px 0 0 0; }
                            .neo-rename--dialog-input  { border-radius: 0 4px 0 0; }
                        }
                        &:nth-child(2) {
                            .neo-rename--dialog-select { --neo-select-border-radius-neo-rename: 0 0 0 4px; border-radius: 0 0 0 4px; }
                            .neo-rename--dialog-input  { border-radius: 0 0 4px 0; }
                        }
                    }
                }

                .neo-rename--dialog-rename-button {
                    background-color: var(--wp-admin-theme-color, #2271b1); color: white; border-radius: 4px; padding: 10px; font-size: 1em;
                    height: var(--input-row-height);
                    &:not(:disabled):hover { filter: brightness(110%); }
                    &:disabled { opacity: 0.7; filter: grayscale(100%); cursor: default; }
                    &.neo-rename--done { background: #00a32a; }
                    .neo-rename--spinner {
                        display: none;
                        border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%;
                        width: 12px; height: 12px;
                        animation: neo-rename--dialog-rename-button-spin 1s linear infinite;
                    }

                    .neo-rename--spinner                   { :is(.neo-rename--dialog-rename-button.neo-rename--loading &) { display: inline-block; } }
                    .neo-rename--dialog-rename-button-text { :is(.neo-rename--dialog-rename-button.neo-rename--loading &) { display: none; } }
                }
            }
        }

        .neo-rename--dialog-table-section {
            overflow-y: hidden;
            .neo-rename--dialog-table-pro-overlay {
                position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
                &.neo-rename--dialog-table-pro-overlay-hidden { display: none; }
                .neo-rename--dialog-table-pro-overlay-button::part(button) { filter: drop-shadow(0 0 100px rgba(0, 0, 0, 1)); font-size: 1.5em; padding: 0.2em 1.2em; }
            }
            .neo-rename--dialog-table {
                display: flex; flex-direction: column; width: 100%;
                overflow-y: hidden;
                --row-height: 2em;

                &:is(.neo-rename--dialog-show-bulk-options &) .neo-rename--dialog-table-row-scroll-wrapper {
                    overflow-y: auto; overscroll-behavior: contain;
                    scrollbar-width: thin;
                    &:focus-visible::before { content: ""; position: absolute; top: var(--row-height); bottom: var(--row-height); left: 0; right: 0; border: 2px solid blue; pointer-events: none; }
                }
                .neo-rename--dialog-table-empty-state { align-items: center; justify-content: center; text-align: center; color: darkblue; font-weight: bold; padding: 10px; flex: 1; }
                .neo-rename--dialog-table-empty-state:empty { display: none; }

                .neo-rename--dialog-table-row {
                    display: flex; flex-direction: row;
                    height: var(--row-height); min-height: var(--row-height); max-height: var(--row-height);

                    &.neo-rename--dialog-table-row-header {
                        font-weight: bold; user-select: none;
                        .neo-rename--dialog-table-row-cell {
                            gap: 8px;
                            .neo-rename--dialog-table-checkbox {
                                margin: 0;
                                width: 1.2em; height: 1.2em; &::before { width: 1.5em; height: 1.5em; }
                            }
                            position: relative; .neo-rename--dialog-checkbox-hide-unchanged-wrapper { position: absolute; right: 0; }
                            .neo-rename--dialog-checkbox-hide-unchanged-wrapper { transition: opacity 0.2s; &.neo-rename--dialog-checkbox-hide-unchanged-hidden { opacity: 0; } }
                            @media (max-width: 767px) { .neo-rename--dialog-checkbox-hide-unchanged-wrapper { display: none; } }
                            &:nth-child(3) { justify-content: flex-end; }
                            neo-info-tooltip-neo-rename { font-weight: normal; }
                        }
                    }

                    &:is(.neo-rename--dialog-table-row-scroll-wrapper &) {
                        &.neo-rename--dialog-table-row-odd { background-color: #ffffff; } &.neo-rename--dialog-table-row-even { background-color: #F7F7F7; }
                        &:hover { background-color: #e0e0e0; }
                        &.neo-rename--dialog-table-row-excluded .neo-rename--dialog-table-row-cell:is(:nth-child(1), :nth-child(2)) { text-decoration: line-through; opacity: 0.3; }
                        .neo-rename--dialog-table-row-cell {
                            &:nth-child(1), &:nth-child(2) { white-space: pre; }
                            del { text-decoration: line-through; background: #FFF5F5; color: #DE2121; } ins { text-decoration: none; background: #EBFBEE; color: #278237; }
                            &:is(.neo-rename--dialog-table-row:has(>:is(:nth-child(1), :nth-child(2)):hover) &) { del:has(+ins) { display: none; } del + ins { background: #E7F5FF; color: #1971C2; } }
                            &:is(.neo-rename--dialog-table-row:has(>:is(:nth-child(1), :nth-child(2)):hover) &) { del:not(:has(+ins)) { width: 0px; display: inline-flex; border-right: 2px solid #DE2121; border-radius: 1px; margin-right: 1px; overflow: hidden; } }
                        }
                    }

                    .neo-rename--dialog-table-row-cell {
                        display: flex; flex-direction: row; align-items: center;
                        width: 100%; padding: 0px 10px;
                        text-wrap: nowrap;
                        &:not(.neo-rename--dialog-table-row-header &):is(:nth-child(1), :nth-child(2)) {
                            &:hover { overflow-x: auto; scrollbar-width: none; }
                            &:not(:hover) { overflow-x: auto; &>.neo-rename--dialog-diff-ellipsis { max-width: 100%; text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; } }

                            & { flex-direction: column; align-items: flex-start; justify-content: center; }
                            &>.neo-rename--dialog-diff-ellipsis { overflow-y: hidden; }
                            .neo-rename--dialog-diff-ellipsis-copy-for-width {
                                height: 0; visibility: hidden; user-select: none;
                                :is(del, ins):not(#more-specificity) { display: inline; width: fit-content; border-right: none; margin-right: 0px; }
                            }
                        }
                        &:nth-child(3) { width: 4.5em; min-width: 4.5em; gap: 16px; }
                        &:nth-child(3) { user-select: none; }
                        &:nth-child(3)>button {
                            border: none; background: transparent; cursor: pointer; padding: 0;
                            &.neo-rename--dialog-action-button {
                                filter: brightness(100%); &:hover { filter: brightness(115%); }
                                & { opacity: 0; } &:is(.neo-rename--dialog-table-row:hover &) { opacity: 1; }
                                &.neo-rename--dialog-action-button-preview                                                  { &::after { content: "👁️"; } }
                                &.neo-rename--dialog-action-button-exclude                                                  { &::after { content: "❌"; } }
                                &.neo-rename--dialog-action-button-exclude { &:is(.neo-rename--dialog-table-row-excluded &) { &::after { content: "♻️"; } } }
                            }
                            &.neo-rename--dialog-rename-status-button {
                                pointer-events: none; cursor: default;
                                &[data-neo-rename--status=""]         { &::after { content: ""; }   }
                                &[data-neo-rename--status="waiting"]  { &::after { content: ""; }   }
                                &[data-neo-rename--status="success"]  { &::after { content: "✅"; } }
                                &[data-neo-rename--status="error"]    { &::after { content: "❌"; } }
                                &[data-neo-rename--status="skipped"]  { &::after { content: "⏭️"; } }
                                &[data-neo-rename--status="progress"] { &::after { content: "⌛"; display: block; animation: neo-rename--dialog-hourglass 10s ease-in-out infinite; } }
                            }

                            &.neo-rename--dialog-rename-status-button { display: none; }
                            :is(.neo-rename--dialog:is([data-neo-rename--state="progress"], [data-neo-rename--state="done"], [data-neo-rename--state="error"]) &) {
                                &.neo-rename--dialog-rename-status-button { display: inline-block; }
                                &.neo-rename--dialog-action-button { display: none; }
                            }
                        }
                    }

                    &.neo-rename--dialog-table-row-footer {
                        justify-content: center; align-items: center;
                        #neo-rename--dialog-table-footer-text { font-size: 0.9em; color: gray; }

                        position: relative;
                        #neo-rename--dialog-progress-bar {
                            opacity: min(var(--progress) * 999999, 1.0);
                            &, &::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; border-radius: 2px; background-color: lightgray; }
                            &::after { background-color: green; transform-origin: left; transform: scaleX(var(--progress)); transition: transform 1s linear, background-color 0.5s ease; }
                            &:is(.neo-rename--dialog[data-neo-rename--state="error"] &)::after { background-color: red; }
                        }
                    }
                }

                &:is(.neo-rename--dialog-show-bulk-options &) {
                    position: relative;
                    .neo-rename--dialog-table-row-shadow-container {
                        position: absolute; inset: 0; top: var(--row-height); bottom: var(--row-height); pointer-events: none; border-radius: 4px; box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.15);
                    }
                }

                &:is(.neo-rename--dialog:not(.neo-rename--dialog-show-bulk-options) &) {
                    width: fit-content;
                    display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto;
                    gap: 0 20px;
                    overflow: hidden;
                    .neo-rename--dialog-table-row-shadow-container, .neo-rename--dialog-table-row-scroll-wrapper, .neo-rename--dialog-table-row { display: contents; }
                    .neo-rename--dialog-table-row {
                        .neo-rename--dialog-table-row-cell { overflow-y: hidden; }
                        .neo-rename--dialog-table-row-cell { height: inherit; }
                        .neo-rename--dialog-table-row-cell:nth-child(3) { display: none; }
                        &#neo-rename--dialog-table-row-template .neo-rename--dialog-table-row-cell { width: 300px; height: 1em; margin: calc((var(--row-height) - 1em) / 2) 0; background-color: rgb(231,231,231); border-radius: 999px; }
                    }
                    .neo-rename--dialog-table-row-footer:not(#more-specificity) { display: none; }
                }
            }
        }

        .neo-rename--dialog-warning-section {
            transform: translateY(-100%);
            transition: transform 0.1s ease-out;
            p { margin: 20px 0; }
            &.neo-rename--dialog-section-dropout { transform: translateY(0%); }
        }
    }

    .neo-rename--dialog-settings-button { position: absolute; top: 0; right: 30px; z-index: 10; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; user-select: none; cursor: pointer; }
    .neo-rename--dialog-settings-button img { width: 15px; height: 15px; opacity: 0.8; transform: translateY(-1px); }
    .neo-rename--dialog-close-button {
        position: absolute; top: 0; right: 0; z-index: 10;
        width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
        background-color: transparent; border: none; user-select: none; cursor: pointer;
    }
    .neo-rename--dialog-close-button img { width: 20px; height: 20px; }
    .neo-rename--dialog-settings-button:hover img { transform: translateY(-1px) scale(1.1); }
    .neo-rename--dialog-close-button:hover img { transform: scale(1.1); }

    .neo-rename--dialog-box { animation: neo-rename--dialog-box-scale 0.2s ease-out; animation-fill-mode: forwards; }
}

@keyframes neo-rename--dialog-box-scale          { from { transform: scale(0.2); } to { transform: scale(1.0); } }
@keyframes neo-rename--dialog-image-spin         { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes neo-rename--dialog-rename-button-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}
@keyframes neo-rename--dialog-checkerboard-move  { 0% { background-position: 0 0, calc(var(--size) / 2) calc(var(--size) / 2); } 100% { background-position: calc(var(--size) * -1) 0, calc(var(--size) / 2 + var(--size) * -1) calc(var(--size) / 2); } }
@keyframes neo-rename--dialog-hourglass          { 0%, 24% { transform: rotate(0deg); } 26%, 74% { transform: rotate(180deg); } 76%, 100% { transform: rotate(360deg); } }
