/*
 * AutoClass classification workflow overrides.
 * Loaded after accounting-tagging-modal.css so legacy XAF rules cannot
 * reposition or resize the progressive workflow.
 */

.accounting-tagging-progressive-workflow.is-progressive-ready {
    counter-reset: ac-step;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step {
    counter-increment: ac-step;
    flex: 1 1 100% !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group {
    background: var(--ac-config-surface, #fff) !important;
    border: 1px solid var(--ac-config-border, #d7e1e4) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(18, 52, 65, .05) !important;
    height: auto !important;
    overflow: hidden !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-header {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    gap: 7px !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    min-height: 48px !important;
    padding: 10px 16px 4px !important;
    text-align: left !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-header::before {
    align-items: center;
    background: var(--ac-config-accent, #168da3);
    border-radius: 50%;
    color: #fff;
    content: counter(ac-step);
    display: inline-flex;
    flex: 0 0 28px;
    font-size: .78rem;
    font-weight: 750;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-header
    .dxbl-text {
    color: var(--ac-config-text, #172431) !important;
    font-size: .9rem !important;
    font-weight: 750 !important;
    padding: 0 !important;
    text-align: left !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-header
    .dxbl-text::after {
    display: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready .ac-workflow-helper {
    color: var(--ac-config-muted, #687785) !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
    margin: 0 16px 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready .ac-workflow-command {
    background: var(--ac-config-surface, #fff) !important;
    border: 1px solid var(--ac-config-accent, #168da3) !important;
    border-radius: 8px !important;
    color: var(--ac-config-text, #172431) !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    min-height: 38px !important;
    padding: 7px 14px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready .ac-workflow-edit-setup {
    margin-inline-start: 0 !important;
    white-space: nowrap !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-workflow-continue-prompt {
    color: var(--ac-config-muted, #687785) !important;
    font-size: .76rem !important;
    line-height: 1.3 !important;
    margin-inline-start: auto !important;
    max-width: 320px !important;
    text-align: right !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready.is-setup-open
    .ac-workflow-edit-setup {
    background: var(--ac-config-accent, #168da3) !important;
    border-color: var(--ac-config-accent, #168da3) !important;
    color: #fff !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready.is-setup-open
    .ac-workflow-edit-setup:hover {
    background: #11788b !important;
    border-color: #11788b !important;
    box-shadow: 0 4px 12px rgba(22, 141, 163, .2) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready:not(.is-setup-open)
    .ac-workflow-edit-setup {
    margin-inline-start: auto !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready:not(.is-setup-open)
    :is(.accounting-tagging-suggestion-fields, .accounting-tagging-classification-settings) {
    display: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready.is-setup-open
    :is(.accounting-tagging-workflow-step-classify,
        .accounting-tagging-workflow-step-review) {
    display: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 0 14px 14px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    :is(.dxbl-toolbar, [role="toolbar"]) {
    align-items: stretch !important;
    display: grid !important;
    gap: 14px !important;
    height: auto !important;
    position: static !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar, [role="toolbar"]) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Jemi remains the primary path. The optional legacy ML action is placed at
   the far right when a host administrator enables it for the tenant. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item):has(button[data-action-name="Jemi Suggestions"]),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="Jemi Suggestions"] {
    order: 1 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item):has(button[data-action-name="Classify by Legal Entity"]),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="Classify by Legal Entity"] {
    order: 2 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item):has(button[data-action-name="ML Suggestions"]),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="ML Suggestions"] {
    order: 3 !important;
}

/* Translation is an administrative utility and stays after every end-user
   classification route when the server authorises and renders it. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item):has(button[data-action-name="Translate"]),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item):has(button[data-action-name="AutoClassTranslation"]),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(button[data-action-name="Translate"], button[data-action-name="AutoClassTranslation"]) {
    order: 99 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item) {
    height: 72px !important;
    min-width: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name] {
    align-items: center !important;
    background: var(--ac-config-surface, #fff) !important;
    border: 1px solid var(--ac-config-border, #d7e1e4) !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 9px rgba(18, 52, 65, .06) !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    height: 72px !important;
    justify-content: stretch !important;
    max-height: 72px !important;
    min-height: 72px !important;
    padding: 12px 14px !important;
    text-align: left !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name]
    > :is(.dxbl-image, [class*="image"], [class*="icon"]) {
    align-self: center !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    justify-self: start !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name]
    > .dxbl-text {
    align-self: end !important;
    color: var(--ac-config-text, #172431) !important;
    display: block !important;
    font-size: .9rem !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    button[data-action-name="ML Suggestions"]::after {
    content: "Machine learning" !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    button[data-action-name="Jemi Suggestions"]::after {
    content: "Powered by Jemi" !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    button[data-action-name="Classify by Legal Entity"]::after {
    content: "Legal entity / company / supplier" !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    button[data-action-name="Approve Suggestions"]::after {
    content: "Apply to category levels" !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    button[data-action-name="Clear Visible Suggestions"]::after {
    content: "Remove suggestions from visible rows" !important;
}

/* Taxonomy upload follows the compact command style used by the data-source
   workflow. The Jemi relationship-tree image belongs in navigation, not in
   the action label, where it created an unbalanced leading gap. */
.accounting-tagging-taxonomy-upload button[data-action-name="Upload taxonomy"] {
    align-items: center !important;
    display: inline-flex !important;
    gap: 0 !important;
    justify-content: center !important;
    min-width: 168px !important;
    padding-inline: 18px !important;
    text-align: center !important;
}

.accounting-tagging-taxonomy-upload button[data-action-name="Upload taxonomy"]
    > :is(svg, img, .dxbl-image, [class*="image"], [class*="icon"]) {
    display: none !important;
}

.accounting-tagging-taxonomy-upload button[data-action-name="Upload taxonomy"]
    > :is(.dxbl-text, span) {
    margin: 0 !important;
    text-align: center !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    button[data-action-name="Clear Visible Categories"]::after {
    content: "Remove categories from visible rows" !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    button[data-action-name="Clear Visible Company Enrichment"]::after {
    content: "Remove enrichment from visible rows" !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-review
    button[data-action-name="Approve Suggestions"] {
    background: color-mix(in srgb, #2e9e50 10%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #2e9e50 42%, var(--ac-config-border, #d7e1e4)) !important;
}

/* Give each classification route a restrained visual identity without
   competing with the workflow hierarchy. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="Jemi Suggestions"] {
    background: color-mix(in srgb, #2688d8 7%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #2688d8 28%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="Classify by Legal Entity"] {
    background: color-mix(in srgb, #7a8290 7%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #7a8290 27%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="ML Suggestions"] {
    background: color-mix(in srgb, #e49a23 8%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #e49a23 30%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    button[data-action-name] {
    background: color-mix(in srgb, #d84444 5%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #d84444 30%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name] {
    transition: background-color .16s ease, border-color .16s ease,
        box-shadow .16s ease, transform .16s ease !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name]:not(:disabled):hover {
    box-shadow: 0 7px 17px rgba(18, 52, 65, .13) !important;
    transform: translateY(-2px) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name]:not(:disabled):hover {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 11%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, var(--ac-config-accent, #168da3) 52%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-review
    button[data-action-name="Approve Suggestions"]:not(:disabled):hover {
    background: color-mix(in srgb, #2e9e50 15%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #2e9e50 60%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    button[data-action-name]:not(:disabled):hover {
    background: color-mix(in srgb, #d84444 9%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #d84444 48%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name]:focus-visible {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ac-config-accent, #168da3) 24%, transparent),
        0 5px 14px rgba(18, 52, 65, .11) !important;
    outline: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-action-section
        button[data-action-name] {
        transition: none !important;
    }

    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-action-section
        button[data-action-name]:not(:disabled):hover {
        transform: none !important;
    }
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name]::after {
    align-self: start !important;
    color: var(--ac-config-muted, #687785) !important;
    display: block !important;
    font-size: .72rem !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    line-height: 1.2 !important;
    margin-top: 3px !important;
    text-align: left !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-review
    .dxbl-btn-toolbar[role="toolbar"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 5%, var(--ac-config-surface, #fff)) !important;
    border: 1px solid color-mix(in srgb, var(--ac-config-accent, #168da3) 34%, var(--ac-config-border, #d7e1e4)) !important;
    border-radius: 10px !important;
    margin: 14px 0 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel
    > .dxbl-group {
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel
    > .dxbl-group
    > .dxbl-group-header {
    align-items: center !important;
    background: var(--ac-config-surface, #fff) !important;
    border: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    min-height: 62px !important;
    padding: 10px 16px !important;
    text-align: left !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel
    > .dxbl-group
    > .dxbl-group-header
    .dxbl-text {
    align-items: flex-start !important;
    color: var(--ac-config-text, #172431) !important;
    display: flex !important;
    flex-direction: column !important;
    font-size: .88rem !important;
    gap: 4px !important;
    text-align: left !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 16px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    .dxbl-group-body-content
    > .dxbl-row {
    align-items: end !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1040px) 220px !important;
    justify-content: start !important;
    margin: 0 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rule-fields {
    max-width: 1040px !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rule-fields
    > .dxbl-row {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(320px, .82fr) minmax(520px, 1.18fr) !important;
    margin: 0 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rule-fields
    > .dxbl-row
    > .dxbl-fl-item {
    flex: none !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    :is(.dxbl-text-edit, .dxbl-text-edit-input) {
    min-height: 42px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    .dxbl-group-body-content
    > .dxbl-row
    > .dxbl-fl-item:has(button[data-action-name^="Create"]) {
    align-self: end !important;
    height: auto !important;
    max-width: 220px !important;
    min-height: 0 !important;
    padding: 0 !important;
    width: 220px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    :is(.dxbl-toolbar, [role="toolbar"]) {
    display: flex !important;
    height: auto !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    width: 220px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item) {
    height: 42px !important;
    min-width: 200px !important;
    width: 200px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"] {
    align-items: center !important;
    border-radius: 9px !important;
    display: flex !important;
    font-size: .86rem !important;
    height: 42px !important;
    justify-content: flex-start !important;
    min-height: 42px !important;
    min-width: 200px !important;
    padding: 8px 14px !important;
    width: 200px !important;
}

/* Inline project navigation is presented as a compact row command. Keep its
   caption clean instead of inheriting the browser's hyperlink underline. */
:is(a, button)[data-action-name*="Open Project"],
:is(a, button)[data-action-name="OpenAutoClassProject"],
:is(a, button)[data-action-name="OpenAutoClass"],
:is(a, button)[data-action-name="OpenSupplierAIProject"],
:is(a, button)[data-action-name*="Open Project"] :is(span, .dxbl-text),
:is(a, button)[data-action-name="OpenAutoClassProject"] :is(span, .dxbl-text),
:is(a, button)[data-action-name="OpenAutoClass"] :is(span, .dxbl-text),
:is(a, button)[data-action-name="OpenSupplierAIProject"] :is(span, .dxbl-text) {
    text-decoration: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"]
    .dxbl-text {
    display: block !important;
    white-space: nowrap !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"]:not(:disabled) {
    background: var(--ac-config-accent, #168da3) !important;
    border-color: var(--ac-config-accent, #168da3) !important;
    color: #fff !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"]:disabled {
    background: var(--ac-config-surface-muted, #f2f5f6) !important;
    border-color: var(--ac-config-border, #d7e1e4) !important;
    color: var(--ac-config-muted, #687785) !important;
    opacity: 1 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    .dxbl-btn-toolbar[role="toolbar"] {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    button[data-action-name] {
    height: 72px !important;
    min-height: 72px !important;
    width: 100% !important;
}

@media (max-width: 1380px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rules
        .dxbl-group-body-content
        > .dxbl-row {
        grid-template-columns: minmax(0, 1fr) 220px !important;
    }
}

@media (max-width: 980px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-action-section-generate
        :is(.dxbl-toolbar, [role="toolbar"]),
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-action-section-review
        .dxbl-btn-toolbar[role="toolbar"],
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-cleanup-section
        .dxbl-btn-toolbar[role="toolbar"] {
        grid-template-columns: 1fr !important;
    }

    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rules
        .dxbl-group-body-content
        > .dxbl-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rule-fields
        > .dxbl-row {
        grid-template-columns: 1fr !important;
    }
}

/* Project overview controls ---------------------------------------------- */
@media (min-width: 1451px) {
    .accounting-tagging-integrated-insights {
        grid-template-columns:
            minmax(250px, 1.45fr)
            minmax(110px, .62fr)
            minmax(150px, .82fr)
            minmax(120px, .68fr)
            minmax(135px, .74fr)
            minmax(120px, .68fr)
            minmax(135px, .74fr)
            minmax(390px, 1.9fr) !important;
    }
}

.accounting-tagging-processing-panel {
    border-left: 1px solid rgba(255, 255, 255, .12);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}

.accounting-tagging-processing-panel:has(
    > .accounting-tagging-integrated-controls) {
    grid-template-columns: minmax(0, 1fr) minmax(82px, auto);
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status {
    border-left: 0;
    grid-template-rows: auto auto 4px auto auto;
    min-width: 0;
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status > small {
    line-height: 1.25;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status-meta {
    align-items: start;
    display: grid;
    gap: 4px 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
    white-space: normal;
}

.accounting-tagging-processing-panel
    .accounting-tagging-integrated-controls {
    align-content: center;
    align-self: stretch;
    border-left: 1px solid rgba(255, 255, 255, .1);
    margin: 0;
    min-width: 0;
    padding: 12px;
}

.accounting-tagging-ai-scan-stat {
    grid-template-rows: auto auto 4px auto auto !important;
    row-gap: 5px !important;
}

.accounting-tagging-ai-scan-stat > span {
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.accounting-tagging-ai-scan-stat.is-warning {
    background: rgba(255, 184, 77, .1) !important;
}

.accounting-tagging-scan-balance {
    align-items: center !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    min-width: 0 !important;
    padding-top: 0 !important;
    width: 100% !important;
}

.accounting-tagging-scan-balance > strong {
    flex: 0 0 auto !important;
    line-height: 1 !important;
}

.accounting-tagging-scan-warning {
    align-items: center !important;
    background: rgba(255, 232, 164, .13) !important;
    border: 1px solid rgba(255, 230, 160, .16) !important;
    border-radius: 999px !important;
    color: #ffdfa0 !important;
    display: inline-flex !important;
    font-size: .54rem !important;
    font-weight: 700 !important;
    justify-self: start !important;
    line-height: 1 !important;
    max-width: 100% !important;
    min-height: 15px !important;
    overflow: hidden !important;
    padding: 2px 6px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.accounting-tagging-scan-balance .accounting-tagging-scan-warning {
    min-width: 0 !important;
    width: fit-content !important;
}

.accounting-tagging-buy-scans {
    align-items: center !important;
    align-self: start !important;
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255, 255, 255, .34) !important;
    border-radius: 7px !important;
    color: #fff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font: inherit !important;
    font-size: .64rem !important;
    font-weight: 750 !important;
    justify-content: center !important;
    justify-self: start !important;
    line-height: 1 !important;
    margin: 3px 0 0 !important;
    min-height: 28px !important;
    padding: 6px 10px !important;
    width: max-content !important;
}

.accounting-tagging-buy-scans:hover {
    background: rgba(255, 255, 255, .22) !important;
    border-color: rgba(255, 255, 255, .55) !important;
}

.accounting-tagging-buy-scans:focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
}

/* Gate later workflow stages from the first rendered frame. The readiness
   attributes come from the server-side project model, so there is no flash of
   taxonomy or classification controls while the client script initialises. */
.dxbl-modal-content:has(
    .accounting-tagging-integrated-insights[data-ac-transform-complete="false"])
    .accounting-tagging-taxonomy-step,
.dxbl-modal-content:has(
    .accounting-tagging-integrated-insights[data-ac-transform-complete="false"])
    .accounting-tagging-results-shell,
.dxbl-modal-content:has(
    .accounting-tagging-integrated-insights[data-ac-transform-complete="false"])
    .dxbl-fl-gt:has(> dxbl-tabs):not(.accounting-tagging-process-tabs),
.dxbl-modal-content:has(
    .accounting-tagging-integrated-insights[data-ac-transform-complete="false"])
    [data-ac-nav-kind="results"],
.dxbl-modal-content:has(.ac-workspace-import.is-awaiting-transform)
    .accounting-tagging-results-shell,
.dxbl-modal-content:has(.ac-workspace-import.is-awaiting-transform)
    .dxbl-fl-gt:has(> dxbl-tabs):not(.accounting-tagging-process-tabs),
.dxbl-modal-content:has(.ac-workspace-import.is-awaiting-transform)
    [data-ac-nav-kind="results"],
.ac-results-withheld .accounting-tagging-results-shell,
.ac-results-withheld
    .dxbl-fl-gt:has(> dxbl-tabs):not(.accounting-tagging-process-tabs),
.ac-results-withheld [data-ac-nav-kind="results"],
.ac-classification-unavailable {
    display: none !important;
}

@media (min-width: 1181px) and (max-width: 1450px) {
    .accounting-tagging-integrated-insights {
        grid-template-columns:
            repeat(2, minmax(260px, 1fr)) !important;
    }
}

@media (max-width: 1180px) {
    .accounting-tagging-processing-panel {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .accounting-tagging-integrated-insights {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .accounting-tagging-integrated-identity,
    .accounting-tagging-processing-panel {
        grid-column: 1 / -1;
    }

    .accounting-tagging-integrated-more-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .accounting-tagging-integrated-insights,
    .accounting-tagging-integrated-more-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .accounting-tagging-processing-panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .accounting-tagging-processing-panel
        .accounting-tagging-integrated-controls {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .1);
        grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
        padding-top: 8px;
    }

    .accounting-tagging-processing-panel
        .accounting-tagging-live-status-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .accounting-tagging-integrated-jobs {
        grid-column: 1;
    }
}

/* Final workflow rhythm and field alignment ------------------------------ */
.accounting-tagging-progressive-workflow.is-progressive-ready {
    gap: 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-header {
    min-height: 44px !important;
    padding: 9px 14px 3px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 0 12px 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-workflow-helper {
    margin: 0 14px 10px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel {
    margin-top: 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel
    > .dxbl-group
    > .dxbl-group-header {
    min-height: 52px !important;
    padding: 9px 14px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-native-review-panel
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    .dxbl-group-body-content
    > .dxbl-row {
    gap: 12px !important;
    grid-template-columns: minmax(0, 1040px) 210px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rule-fields
    > .dxbl-row {
    gap: 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    .dxbl-group-body-content
    > .dxbl-row
    > .dxbl-fl-item:has(button[data-action-name^="Create"]) {
    align-items: flex-end !important;
    align-self: end !important;
    display: flex !important;
    height: 70px !important;
    max-width: 210px !important;
    width: 210px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    :is(.dxbl-toolbar, [role="toolbar"]) {
    align-items: flex-end !important;
    width: 210px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    .dxbl-group-body-content {
    padding: 12px !important;
}

/* Present taxonomy selection and upload as two related choices rather than
   full-width strips. */
.accounting-tagging-taxonomy-step
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content
    > .dxbl-row {
    align-items: stretch !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 0 !important;
}

.accounting-tagging-taxonomy-step
    :is(.accounting-tagging-taxonomy-selection,
        .accounting-tagging-taxonomy-upload) {
    flex: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-taxonomy-step
    :is(.accounting-tagging-taxonomy-selection,
        .accounting-tagging-taxonomy-upload)
    > .dxbl-group {
    background: var(--ac-config-surface, #fff) !important;
    border: 1px solid var(--ac-config-border, #d7e1e4) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    height: 100% !important;
    overflow: hidden !important;
}

.accounting-tagging-taxonomy-step
    :is(.accounting-tagging-taxonomy-selection,
        .accounting-tagging-taxonomy-upload)
    > .dxbl-group
    > .dxbl-group-header {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ac-config-border, #d7e1e4) !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
}

.accounting-tagging-taxonomy-step
    :is(.accounting-tagging-taxonomy-selection,
        .accounting-tagging-taxonomy-upload)
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 12px !important;
}

.accounting-tagging-taxonomy-step
    .accounting-tagging-taxonomy-upload
    .dxbl-group-body-content
    > .dxbl-row {
    align-items: end !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 180px !important;
    margin: 0 !important;
}

.accounting-tagging-taxonomy-step
    .accounting-tagging-taxonomy-upload
    .dxbl-group-body-content
    > .dxbl-row
    > .dxbl-fl-item {
    flex: none !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

@media (max-width: 1550px) and (min-width: 1051px) {
    .accounting-tagging-taxonomy-step
        .accounting-tagging-taxonomy-upload
        .dxbl-group-body-content
        > .dxbl-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .accounting-tagging-taxonomy-step
        .accounting-tagging-taxonomy-upload
        .dxbl-group-body-content
        > .dxbl-row
        > .dxbl-fl-item:has(button[data-action-name]) {
        grid-column: 2 !important;
        justify-self: end !important;
        width: 180px !important;
    }
}

.accounting-tagging-taxonomy-step
    .accounting-tagging-taxonomy-upload
    :is(.dxbl-toolbar, [role="toolbar"], .dxbl-toolbar-group,
        .dxbl-toolbar-item, button[data-action-name]) {
    max-width: none !important;
    min-height: 42px !important;
    min-width: 0 !important;
    width: 100% !important;
}

.accounting-tagging-taxonomy-step
    .accounting-tagging-taxonomy-upload
    button[data-action-name] {
    background: var(--ac-config-accent, #168da3) !important;
    border: 1px solid var(--ac-config-accent, #168da3) !important;
    border-radius: 8px !important;
    box-shadow: 0 3px 8px color-mix(in srgb, var(--ac-config-accent, #168da3) 18%, transparent) !important;
    color: #fff !important;
    font-size: .76rem !important;
    font-weight: 650 !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 7px 14px !important;
    transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease !important;
}

.accounting-tagging-taxonomy-step
    .accounting-tagging-taxonomy-upload
    button[data-action-name]
    :is(.dxbl-text, span) {
    color: inherit !important;
}

.accounting-tagging-taxonomy-step
    .accounting-tagging-taxonomy-upload
    button[data-action-name]:not(:disabled):hover {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 88%, #075f70) !important;
    border-color: color-mix(in srgb, var(--ac-config-accent, #168da3) 88%, #075f70) !important;
    box-shadow: 0 5px 12px color-mix(in srgb, var(--ac-config-accent, #168da3) 24%, transparent) !important;
}

.accounting-tagging-taxonomy-step
    .accounting-tagging-taxonomy-upload
    button[data-action-name]:disabled {
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: .55 !important;
}

@media (max-width: 1050px) {
    .accounting-tagging-taxonomy-step
        > .dxbl-group
        > .dxbl-group-body
        > .dxbl-group-body-content
        > .dxbl-row {
        grid-template-columns: 1fr !important;
    }

    .accounting-tagging-taxonomy-step
        .accounting-tagging-taxonomy-upload
        .dxbl-group-body-content
        > .dxbl-row {
        grid-template-columns: 1fr !important;
    }
}

/* Data source and mapping ------------------------------------------------- */
.ac-workspace-import {
    --ac-import-accent: var(--ac-config-accent, #168da3);
    --ac-import-border: var(--ac-config-border, #d7e1e4);
    --ac-import-complete: #2f9d61;
    --ac-import-muted: var(--ac-config-muted, #687785);
    --ac-import-surface: var(--ac-config-surface, #fff);
    --ac-import-soft: color-mix(in srgb, var(--ac-import-accent) 4%, var(--ac-import-surface));
    background: var(--ac-import-soft) !important;
    border: 1px solid var(--ac-import-border) !important;
    border-radius: 12px !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 16px !important;
    width: 100% !important;
}

.ac-workspace-import-header {
    align-items: center !important;
    display: flex !important;
    gap: 24px !important;
    justify-content: space-between !important;
}

.ac-workspace-import-header > div:first-child {
    min-width: 0 !important;
}

.ac-workspace-import-header h3 {
    color: var(--ac-config-text, #172431) !important;
    font-size: 1.08rem !important;
    line-height: 1.2 !important;
    margin: 3px 0 4px !important;
}

.ac-workspace-import-header p,
.ac-workspace-source-heading p,
.ac-workspace-transform-heading p {
    color: var(--ac-import-muted) !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.ac-workspace-import-eyebrow {
    color: var(--ac-import-accent) !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.ac-workspace-import-steps {
    align-items: center !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: flex-end !important;
}

.ac-workspace-import-steps span {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--ac-import-muted) !important;
    display: inline-flex !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    gap: 7px !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

.ac-workspace-import-steps span b,
.ac-workspace-import-summary-step {
    align-items: center !important;
    background: color-mix(in srgb, var(--ac-import-muted) 10%, var(--ac-import-surface)) !important;
    border-radius: 50% !important;
    color: var(--ac-import-muted) !important;
    display: inline-flex !important;
    border: 1px solid color-mix(in srgb, var(--ac-import-muted) 22%, transparent) !important;
    box-sizing: border-box !important;
    flex: 0 0 30px !important;
    font-size: .72rem !important;
    height: 30px !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 30px !important;
}

.ac-workspace-import-steps span b svg {
    display: block !important;
    fill: none !important;
    height: 15px !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.8 !important;
    width: 15px !important;
}

.ac-workspace-import-steps span.is-active,
.ac-workspace-import-summary-step,
.ac-workspace-import-steps span.is-active b {
    color: var(--ac-import-accent) !important;
}

.ac-workspace-import-steps span.is-active b {
    background: var(--ac-import-accent) !important;
    border-color: var(--ac-import-accent) !important;
    color: #fff !important;
}

.ac-workspace-import-steps span.is-complete,
.ac-workspace-import-steps span.is-complete b {
    color: var(--ac-import-complete) !important;
}

.ac-workspace-import-steps span.is-complete b,
.ac-workspace-source-step.is-complete .ac-workspace-import-summary-step,
.is-complete > summary .ac-workspace-import-summary-step {
    background: var(--ac-import-complete) !important;
    border-color: var(--ac-import-complete) !important;
    color: #fff !important;
}

.ac-workspace-import-steps span.is-locked {
    color: color-mix(in srgb, var(--ac-import-muted) 78%, transparent) !important;
}

.ac-workspace-import-steps span.is-locked b {
    background: color-mix(in srgb, var(--ac-import-muted) 8%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, var(--ac-import-muted) 16%, transparent) !important;
    color: color-mix(in srgb, var(--ac-import-muted) 78%, transparent) !important;
}

.ac-workspace-source-step,
.ac-workspace-import-mapping-section,
.ac-workspace-transform {
    background: var(--ac-import-surface) !important;
    border: 1px solid var(--ac-import-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(18, 52, 65, .035) !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 14px !important;
}

.ac-workspace-source-heading,
.ac-workspace-transform-heading {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: max-content minmax(0, 1fr) auto !important;
    margin: 0 0 12px !important;
}

.ac-workspace-source-heading h4,
.ac-workspace-transform-heading h4 {
    color: var(--ac-config-text, #172431) !important;
    font-size: .9rem !important;
    line-height: 1.25 !important;
    margin: 0 0 3px !important;
}

.ac-workspace-step-complete {
    align-items: flex-end !important;
    color: #17823b !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    max-width: 340px !important;
    min-width: 0 !important;
    text-align: right !important;
}

.ac-workspace-step-complete small {
    color: var(--ac-import-muted) !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ac-workspace-import-upload {
    align-items: stretch !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr) !important;
}

.ac-workspace-import-file-picker {
    display: grid !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.ac-workspace-import-file-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
}

.ac-workspace-import-file-actions > span {
    color: var(--ac-import-muted) !important;
    flex: 1 1 220px !important;
    font-size: .78rem !important;
}

.ac-workspace-import-danger {
    background: color-mix(in srgb, var(--bs-danger, #b42318) 10%, var(--ac-import-surface)) !important;
    border: 1px solid color-mix(in srgb, var(--bs-danger, #b42318) 55%, var(--ac-import-border)) !important;
    border-radius: 7px !important;
    color: var(--bs-danger-text-emphasis, #842029) !important;
    cursor: pointer !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    padding: 7px 11px !important;
}

.ac-workspace-import-danger:disabled {
    cursor: not-allowed !important;
    opacity: .55 !important;
}

.ac-workspace-import-drop {
    align-content: center !important;
    align-items: center !important;
    background: color-mix(in srgb, var(--ac-import-accent) 5%, var(--ac-import-surface)) !important;
    border: 1px dashed color-mix(in srgb, var(--ac-import-accent) 68%, var(--ac-import-border)) !important;
    border-radius: 9px !important;
    cursor: pointer !important;
    display: grid !important;
    column-gap: 12px !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 68px !important;
    padding: 10px 12px !important;
    position: relative !important;
}

.ac-workspace-import-drop strong,
.ac-workspace-import-drop small {
    grid-column: 2 !important;
    min-width: 0 !important;
}

.ac-workspace-import-drop strong {
    color: var(--ac-config-text, #172431) !important;
    line-height: 1.18 !important;
    margin: 0 0 2px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ac-workspace-import-drop small {
    color: var(--ac-import-muted) !important;
    line-height: 1.18 !important;
    margin: 0 !important;
}

.ac-workspace-source-identity {
    align-items: center !important;
    border: 1px solid var(--ac-import-border) !important;
    border-radius: 9px !important;
    display: flex !important;
    gap: 8px 16px !important;
    justify-content: space-between !important;
    margin-top: 10px !important;
    padding: 10px 12px !important;
}

.ac-workspace-source-identity > div,
.ac-workspace-source-identity:not(:has(> div)) {
    min-width: 0 !important;
}

.ac-workspace-source-identity strong,
.ac-workspace-source-identity span {
    display: block !important;
}

.ac-workspace-source-identity strong {
    color: var(--ac-config-text, #172431) !important;
    font-size: .86rem !important;
    line-height: 1.25 !important;
}

.ac-workspace-source-identity span {
    color: var(--ac-import-muted) !important;
    font-size: .78rem !important;
    line-height: 1.35 !important;
}

.ac-workspace-source-identity.is-success {
    background: color-mix(in srgb, #27a565 8%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, #27a565 38%, var(--ac-import-border)) !important;
}

.ac-workspace-source-identity.is-warning {
    background: color-mix(in srgb, #e9a31b 8%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, #e9a31b 42%, var(--ac-import-border)) !important;
}

.ac-workspace-source-identity label {
    align-items: center !important;
    cursor: pointer !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
    white-space: nowrap !important;
}

.ac-workspace-import-upload-icon {
    align-items: center !important;
    background: var(--ac-import-accent) !important;
    border-radius: 8px !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 1.25rem !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    height: 38px !important;
    justify-content: center !important;
    width: 38px !important;
}

.ac-workspace-import-drop input[type="file"] {
    height: 1px !important;
    inset: auto !important;
    opacity: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    width: 1px !important;
}

.ac-workspace-import-options {
    align-content: start !important;
    background: var(--ac-import-surface) !important;
    border: 1px solid var(--ac-import-border) !important;
    border-radius: 9px !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 68px !important;
    padding: 12px 14px !important;
}

.ac-workspace-import-options-title {
    color: var(--ac-config-text, #172431) !important;
    font-size: .78rem !important;
}

.ac-workspace-import-option-fields {
    align-items: center !important;
    display: grid !important;
    gap: 12px 18px !important;
    grid-template-columns: minmax(250px, 1fr) minmax(280px, .9fr) !important;
}

.ac-workspace-import-csv-fields {
    align-items: end !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(2, minmax(100px, 1fr)) !important;
}

.ac-workspace-import-field {
    color: var(--ac-config-text, #172431) !important;
    display: grid !important;
    font-size: .72rem !important;
    font-weight: 650 !important;
    gap: 5px !important;
    margin: 0 !important;
    min-width: 0 !important;
}

.ac-workspace-import-field input {
    background: var(--ac-import-surface) !important;
    border: 1px solid var(--ac-import-border) !important;
    border-radius: 7px !important;
    color: var(--ac-config-text, #172431) !important;
    font: inherit !important;
    font-weight: 500 !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 6px 10px !important;
    width: 100% !important;
}

.ac-workspace-import-field input:focus-visible {
    border-color: var(--ac-import-accent) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ac-import-accent) 18%, transparent) !important;
    outline: none !important;
}

.ac-workspace-import-option-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    padding-top: 2px !important;
}

.ac-workspace-import-option-actions .ac-workspace-import-secondary {
    justify-self: auto !important;
}

.ac-workspace-data-quality-action:not(:disabled) {
    border-color: color-mix(in srgb, var(--ac-import-accent) 65%, var(--ac-import-border)) !important;
    color: var(--ac-import-accent) !important;
}

.ac-workspace-data-quality-progress {
    margin: 10px 0 0 !important;
}

.ac-workspace-import-checkbox {
    align-items: center !important;
    cursor: pointer !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    margin: 0 !important;
}

.ac-workspace-import-checkbox > input {
    height: 1px !important;
    opacity: 0 !important;
    position: absolute !important;
    width: 1px !important;
}

.ac-workspace-import-checkbox > span:first-of-type {
    align-items: center !important;
    background: var(--ac-import-surface) !important;
    border: 1px solid color-mix(in srgb, var(--ac-import-muted) 55%, var(--ac-import-border)) !important;
    border-radius: 5px !important;
    display: inline-flex !important;
    height: 20px !important;
    justify-content: center !important;
    transition: background-color .15s ease, border-color .15s ease !important;
    width: 20px !important;
}

.ac-workspace-import-checkbox > input:checked + span:first-of-type {
    background: var(--ac-import-accent) !important;
    border-color: var(--ac-import-accent) !important;
}

.ac-workspace-import-checkbox > input:checked + span:first-of-type::after {
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    content: "" !important;
    height: 9px !important;
    transform: rotate(45deg) translate(-1px, -1px) !important;
    width: 5px !important;
}

.ac-workspace-import-checkbox > input:focus-visible + span:first-of-type {
    outline: 2px solid color-mix(in srgb, var(--ac-import-accent) 55%, transparent) !important;
    outline-offset: 2px !important;
}

.ac-workspace-import-checkbox > span:last-of-type {
    display: grid !important;
    gap: 1px !important;
}

.ac-workspace-import-checkbox b {
    color: var(--ac-config-text, #172431) !important;
    font-size: .78rem !important;
}

.ac-workspace-import-checkbox small {
    color: var(--ac-import-muted) !important;
    font-size: .7rem !important;
}

@media (max-width: 980px) {
    .ac-workspace-import-option-fields {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    .ac-workspace-import-csv-fields {
        grid-template-columns: 1fr !important;
    }

    .ac-workspace-import-option-actions {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .ac-workspace-import-option-actions .ac-workspace-import-secondary {
        width: 100% !important;
    }
}

.ac-workspace-import-secondary,
.ac-workspace-import-primary,
.ac-workspace-import-ai {
    align-items: center !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    font-size: .76rem !important;
    font-weight: 650 !important;
    justify-content: center !important;
    min-height: 36px !important;
    padding: 7px 14px !important;
    width: max-content !important;
}

.ac-workspace-import-secondary {
    justify-self: end !important;
}

.ac-workspace-import-footer-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
}

.ac-workspace-import-footer-actions .ac-workspace-import-secondary,
.ac-workspace-import-footer-actions .ac-workspace-import-primary {
    justify-self: auto !important;
}

.ac-workspace-mapping-lock-note,
.ac-workspace-scan-guidance {
    align-items: start !important;
    background: color-mix(in srgb, var(--ac-import-accent) 5%, var(--ac-import-surface)) !important;
    border: 1px solid color-mix(in srgb, var(--ac-import-accent) 24%, var(--ac-import-border)) !important;
    border-radius: 8px !important;
    color: var(--ac-config-text, #172431) !important;
    display: grid !important;
    gap: 9px !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    margin-top: 10px !important;
    padding: 9px 11px !important;
}

.ac-workspace-mapping-lock-note.is-locked {
    background: color-mix(in srgb, var(--ac-import-muted) 6%, var(--ac-import-surface)) !important;
    border-color: var(--ac-import-border) !important;
}

.ac-workspace-mapping-lock-note div {
    display: grid !important;
    gap: 2px !important;
}

.ac-workspace-mapping-lock-note small,
.ac-workspace-scan-guidance span {
    color: var(--ac-import-muted) !important;
    font-size: .74rem !important;
    line-height: 1.4 !important;
}

.ac-workspace-scan-guidance {
    grid-template-columns: auto minmax(0, 1fr) !important;
}

.ac-workspace-import-message {
    border-radius: 8px !important;
    font-size: .78rem !important;
    margin: 0 !important;
    padding: 9px 12px !important;
}

.ac-workspace-import-mapping-section > summary {
    align-items: center !important;
    cursor: pointer !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: max-content minmax(0, 1fr) auto !important;
    list-style: none !important;
}

.ac-workspace-import-mapping-section > summary::-webkit-details-marker {
    display: none !important;
}

.ac-workspace-import-summary-copy {
    display: grid !important;
    gap: 2px !important;
}

.ac-workspace-import-summary-copy small,
.ac-workspace-import-summary-stats small {
    color: var(--ac-import-muted) !important;
}

.ac-workspace-import-summary-stats {
    display: grid !important;
    gap: 2px !important;
    text-align: right !important;
}

.ac-workspace-import-mapping-content {
    border-top: 1px solid var(--ac-import-border) !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
}

.ac-workspace-import-summary {
    flex-wrap: wrap !important;
    width: 100% !important;
}

.ac-workspace-import-summary > .ac-workspace-import-ai {
    gap: 10px !important;
    margin-left: auto !important;
}

.ac-workspace-import-mapping-sort {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    margin-left: auto;
}

.ac-workspace-import-mapping-sort label {
    color: var(--ac-import-muted);
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.ac-workspace-import-mapping-sort select,
.ac-workspace-import-mapping-sort button {
    background: var(--ac-import-surface);
    border: 1px solid var(--ac-import-border);
    border-radius: 8px;
    color: var(--ac-import-text);
    min-height: 34px;
}

.ac-workspace-import-mapping-sort select {
    cursor: pointer;
    min-width: 132px;
    padding: 5px 28px 5px 10px;
}

.ac-workspace-import-mapping-sort button {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 800;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.ac-workspace-import-mapping-sort select:focus-visible,
.ac-workspace-import-mapping-sort button:focus-visible {
    outline: 2px solid var(--ac-import-accent);
    outline-offset: 2px;
}

.ac-workspace-import-mapping-sort + .ac-workspace-import-ai {
    margin-left: 4px !important;
}

.ac-workspace-import-mapping-tools {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1.5fr) minmax(145px, .7fr) minmax(145px, .7fr) minmax(125px, .55fr) auto;
    margin-top: 12px;
    width: 100%;
}

.ac-workspace-import-mapping-tools > label {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.ac-workspace-import-mapping-tools > label > span {
    color: var(--ac-import-muted);
    font-size: .72rem;
    font-weight: 700;
}

.ac-workspace-import-mapping-tools input,
.ac-workspace-import-mapping-tools select {
    background: var(--ac-import-surface);
    border: 1px solid var(--ac-import-border);
    border-radius: 8px;
    color: var(--ac-import-text);
    font: inherit;
    min-height: 38px;
    min-width: 0;
    padding: 7px 10px;
    width: 100%;
}

.ac-workspace-import-mapping-tools select {
    cursor: pointer;
    padding-right: 28px;
}

.ac-workspace-import-mapping-tools input::placeholder {
    color: var(--ac-import-muted);
    opacity: .86;
}

.ac-workspace-import-mapping-tools input:focus-visible,
.ac-workspace-import-mapping-tools select:focus-visible,
.ac-workspace-import-mapping-results button:focus-visible,
.ac-workspace-import-mapping-empty button:focus-visible {
    outline: 2px solid var(--ac-import-accent);
    outline-offset: 2px;
}

.ac-workspace-import-mapping-results {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    min-height: 38px;
    white-space: nowrap;
}

.ac-workspace-import-mapping-results > span {
    color: var(--ac-import-muted);
    font-size: .74rem;
    font-weight: 650;
}

.ac-workspace-import-mapping-results button,
.ac-workspace-import-mapping-empty button {
    background: transparent;
    border: 0;
    color: var(--ac-import-accent);
    cursor: pointer;
    font: inherit;
    font-size: .74rem;
    font-weight: 700;
    padding: 4px;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ac-workspace-import-mapping-empty td {
    padding: 28px 16px !important;
    text-align: center !important;
}

.ac-workspace-import-mapping-empty td > strong {
    color: var(--ac-import-muted) !important;
    display: block !important;
    margin-bottom: 6px !important;
}

@media (max-width: 1180px) {
    .ac-workspace-import-mapping-tools {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ac-workspace-import-mapping-results {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .ac-workspace-import-mapping-tools {
        grid-template-columns: minmax(0, 1fr);
    }

    .ac-workspace-import-mapping-results {
        grid-column: auto;
    }
}

.ac-workspace-import-summary > .ac-workspace-import-ai > span:first-child {
    color: var(--ac-import-accent) !important;
    flex: 0 0 auto !important;
    font-size: .9rem !important;
    line-height: 1 !important;
}

/* Mapping quality and examples */
.ac-workspace-mapping-type-alert {
    align-items: flex-start !important;
    background: color-mix(in srgb, #dc3f3f 9%, var(--ac-import-surface)) !important;
    border: 1px solid color-mix(in srgb, #dc3f3f 42%, var(--ac-import-border)) !important;
    border-radius: 9px !important;
    color: var(--ac-import-text) !important;
    display: flex !important;
    gap: 10px !important;
    margin-top: 12px !important;
    padding: 10px 12px !important;
}

.ac-workspace-mapping-type-alert > span {
    align-items: center !important;
    background: #b42318 !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    flex: 0 0 22px !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    height: 22px !important;
    justify-content: center !important;
}

.ac-workspace-mapping-type-alert div {
    display: grid !important;
    gap: 2px !important;
}

.ac-workspace-mapping-type-alert strong {
    color: #b42318 !important;
    font-size: .8rem !important;
}

.ac-workspace-mapping-type-alert small {
    color: var(--ac-import-muted) !important;
    font-size: .74rem !important;
}

.ac-workspace-import-mapping-wrap {
    border: 1px solid var(--ac-import-border) !important;
    border-radius: 9px !important;
    margin-top: 12px !important;
    overflow: auto !important;
}

.ac-workspace-import-mapping {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    min-width: 820px !important;
    table-layout: fixed !important;
    width: 100% !important;
}

.ac-workspace-import-mapping col.is-source { width: 24% !important; }
.ac-workspace-import-mapping col.is-target { width: 28% !important; }
.ac-workspace-import-mapping col.is-quality { width: 27% !important; }
.ac-workspace-import-mapping col.is-samples { width: 21% !important; }

.ac-workspace-import-mapping th {
    background: var(--ac-import-soft) !important;
    border-bottom: 1px solid var(--ac-import-border) !important;
    color: var(--ac-import-muted) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    padding: 10px 12px !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.ac-workspace-import-mapping td {
    background: var(--ac-import-surface) !important;
    border-bottom: 1px solid var(--ac-import-border) !important;
    color: var(--ac-import-text) !important;
    min-width: 0 !important;
    padding: 11px 12px !important;
    vertical-align: middle !important;
}

.ac-workspace-import-mapping tbody tr:last-child td {
    border-bottom: 0 !important;
}

.ac-workspace-import-mapping tbody tr:hover td {
    background: color-mix(in srgb, var(--ac-import-accent) 3%, var(--ac-import-surface)) !important;
}

.ac-workspace-import-mapping tbody tr.has-type-warning td {
    background: color-mix(in srgb, #dc3f3f 5%, var(--ac-import-surface)) !important;
}

.ac-workspace-import-mapping tbody tr.is-excluded:not(.has-type-warning) td {
    background: color-mix(in srgb, var(--ac-import-muted) 3%, var(--ac-import-surface)) !important;
}

.ac-workspace-import-mapping tbody tr.is-mapped .ac-workspace-import-source-cell > strong {
    font-weight: 600 !important;
}

.ac-workspace-import-mapping tbody tr.is-excluded .ac-workspace-import-source-cell > strong {
    font-weight: 750 !important;
}

.ac-workspace-import-type-warning {
    background: color-mix(in srgb, #dc3f3f 12%, var(--ac-import-surface)) !important;
    border: 1px solid color-mix(in srgb, #dc3f3f 34%, transparent) !important;
    border-radius: 999px !important;
    color: #b42318 !important;
    display: inline-flex !important;
    font-size: .72rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    margin-bottom: 5px !important;
    padding: 5px 8px !important;
}

.ac-workspace-import-type-warning-copy {
    color: #b42318 !important;
    max-width: 280px !important;
    white-space: normal !important;
}

.ac-workspace-import-mapping td > strong {
    display: block !important;
    font-size: .82rem !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ac-workspace-import-source-cell {
    align-items: flex-start !important;
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
}

.ac-workspace-import-source-cell > strong {
    display: block !important;
    font-size: .82rem !important;
    line-height: 1.3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ac-workspace-import-map-state {
    align-items: center !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    gap: 4px !important;
    justify-self: start !important;
    line-height: 1 !important;
    padding: 4px 7px !important;
    white-space: nowrap !important;
}

.ac-workspace-import-map-state.is-mapped {
    background: color-mix(in srgb, #22a45a 12%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, #22a45a 30%, transparent) !important;
    color: #17753f !important;
}

.ac-workspace-import-map-state.is-unmapped {
    background: color-mix(in srgb, var(--ac-import-muted) 8%, var(--ac-import-surface)) !important;
    border-color: var(--ac-import-border) !important;
    color: var(--ac-import-muted) !important;
}

.ac-workspace-import-confidence {
    align-items: center !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 0 5px !important;
    padding: 5px 8px !important;
    white-space: nowrap !important;
}

.ac-workspace-import-confidence.is-high {
    background: color-mix(in srgb, #22a45a 13%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, #22a45a 34%, transparent) !important;
    color: #17753f !important;
}

.ac-workspace-import-confidence.is-medium {
    background: color-mix(in srgb, #e99a16 14%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, #d98905 36%, transparent) !important;
    color: #9a5b00 !important;
}

.ac-workspace-import-confidence.is-low {
    background: color-mix(in srgb, #dc3f3f 11%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, #dc3f3f 30%, transparent) !important;
    color: #b42318 !important;
}

.ac-workspace-import-reason,
.ac-workspace-import-samples {
    color: var(--ac-import-muted) !important;
    display: block !important;
    font-size: .72rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    max-width: 220px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}


.ac-workspace-import-footer {
    align-items: center !important;
    border-top: 1px solid var(--ac-import-border) !important;
    display: flex !important;
    gap: 14px !important;
    justify-content: space-between !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
}

.ac-workspace-import-footer-status {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.ac-workspace-transform {
    display: grid !important;
    gap: 12px !important;
}

.ac-workspace-transform-heading {
    margin-bottom: 0 !important;
}

.ac-workspace-transform-action {
    justify-self: end !important;
    white-space: nowrap !important;
}

.ac-workspace-transform-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
}

.ac-workspace-transform-cancel {
    background: color-mix(in srgb, #c83f49 8%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, #c83f49 48%, var(--ac-import-border)) !important;
    color: #a92732 !important;
    justify-self: auto !important;
}

.ac-workspace-transform-cancel:hover:not(:disabled) {
    background: color-mix(in srgb, #c83f49 14%, var(--ac-import-surface)) !important;
    border-color: #c83f49 !important;
}

.ac-workspace-transform-progress {
    background: var(--ac-import-soft) !important;
    border-radius: 8px !important;
    display: grid !important;
    gap: 8px !important;
    padding: 10px 12px !important;
}

.ac-workspace-transform-status {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
}

.ac-workspace-transform-status > div {
    display: grid !important;
    gap: 2px !important;
}

.ac-workspace-transform-status small {
    color: var(--ac-import-muted) !important;
}

/* Taxonomy is the fourth data-preparation step and visually continues the
   same workflow even though XAF renders it as the following layout group. */
.accounting-tagging-taxonomy-step {
    background: var(--ac-config-surface, #fff) !important;
    border: 1px solid var(--ac-config-border, #d7e1e4) !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(18, 52, 65, .035) !important;
    margin: 12px 0 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-taxonomy-step > .dxbl-group {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.accounting-tagging-taxonomy-step > .dxbl-group > .dxbl-group-header {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    min-height: 52px !important;
    padding: 11px 14px !important;
}

.accounting-tagging-taxonomy-step > .dxbl-group > .dxbl-group-header::before {
    align-items: center !important;
    background: var(--ac-config-accent, #168da3) !important;
    border-radius: 50% !important;
    color: #fff !important;
    content: "4" !important;
    display: inline-flex !important;
    flex: 0 0 26px !important;
    font-size: .72rem !important;
    font-weight: 750 !important;
    height: 26px !important;
    justify-content: center !important;
    margin-right: 10px !important;
    width: 26px !important;
}

.accounting-tagging-taxonomy-step > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 3%, var(--ac-config-surface, #fff)) !important;
    border-top: 1px solid var(--ac-config-border, #d7e1e4) !important;
    padding: 14px !important;
}

.accounting-tagging-taxonomy-step .accounting-tagging-taxonomy-selection,
.accounting-tagging-taxonomy-step .accounting-tagging-taxonomy-upload {
    max-width: none !important;
}

/* Ensure DevExpress adaptive wrappers fill the workflow grid. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    :is(.dxbl-toolbar, .dxbl-btn-toolbar, [role="toolbar"], .dxbl-toolbar-group) {
    max-width: none !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar, .dxbl-btn-toolbar, [role="toolbar"]) {
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-review
    :is(.dxbl-toolbar, .dxbl-btn-toolbar, [role="toolbar"]) {
    grid-template-columns: minmax(220px, 360px) !important;
    justify-content: start !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    dxbl-toolbar.dxbl-toolbar.dxbl-toolbar-adaptive {
    display: block !important;
    grid-template-columns: none !important;
    height: auto !important;
    min-width: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    dxbl-toolbar
    > .dxbl-btn-toolbar[role="toolbar"] {
    align-self: stretch !important;
    justify-self: stretch !important;
    max-width: none !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    :is(.dxbl-toolbar-hidden-item, .dxbl-adaptive-group) {
    display: flex !important;
    min-width: 0 !important;
    visibility: visible !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    dxbl-toolbar-item[style*="display: none"] {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    .dxbl-toolbar-group
    > dxbl-toolbar-item,
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    .dxbl-toolbar-group
    > dxbl-toolbar-item
    > button[data-action-name] {
    min-width: 0 !important;
    visibility: visible !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    dxbl-toolbar.dxbl-toolbar-adaptive
    > div.dxbl-btn-toolbar[role="toolbar"] {
    display: grid !important;
    height: 72px !important;
    min-width: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    dxbl-toolbar.dxbl-toolbar-adaptive
    > div.dxbl-btn-toolbar[role="toolbar"]
    > div.dxbl-btn-group.dxbl-toolbar-group.dxbl-toolbar-hidden-item {
    display: flex !important;
    height: 72px !important;
    min-width: 0 !important;
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    width: auto !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    dxbl-toolbar.dxbl-toolbar-adaptive
    > div.dxbl-btn-toolbar[role="toolbar"]
    > div.dxbl-btn-group.dxbl-toolbar-group.dxbl-toolbar-hidden-item
    > dxbl-toolbar-item.dxbl-toolbar-item-collapsed {
    display: block !important;
    height: 72px !important;
    position: static !important;
    visibility: visible !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    .dxbl-toolbar-btn-ellipsis,
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    .dxbl-toolbar-placeholder,
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    .dxbl-virtual-toolbar {
    display: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section
    button[data-action-name]
    > span {
    align-self: end !important;
    color: var(--ac-config-text, #172431) !important;
    display: block !important;
    font-size: .9rem !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
}

.accounting-tagging-data-preparation-workflow > .dxbl-group {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 4%, var(--ac-config-surface, #fff)) !important;
    border: 1px solid var(--ac-config-border, #d7e1e4) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(18, 52, 65, .05) !important;
    overflow: hidden !important;
}

.accounting-tagging-data-preparation-workflow
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 16px !important;
}

.accounting-tagging-data-preparation-workflow .ac-workspace-import {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.accounting-tagging-data-preparation-workflow
    .accounting-tagging-taxonomy-step {
    margin-top: 12px !important;
}

.ac-workspace-data-quality {
    background: color-mix(in srgb, var(--ac-config-danger, #c33) 5%, var(--ac-config-surface, #fff));
    border: 1px solid color-mix(in srgb, var(--ac-config-danger, #c33) 42%, var(--ac-config-border, #d7e1e4));
    border-radius: 12px;
    color: var(--ac-config-text, #172431);
    display: grid;
    gap: 14px;
    margin: 12px 0;
    padding: 18px;
}

.ac-workspace-data-quality > header {
    align-items: start;
    display: grid;
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr);
}

.ac-workspace-data-quality-icon {
    align-items: center;
    background: color-mix(in srgb, var(--ac-config-danger, #c33) 14%, transparent);
    border-radius: 50%;
    color: var(--ac-config-danger, #b42318);
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.ac-workspace-data-quality.is-success {
    background: color-mix(in srgb, #2f9d61 6%, var(--ac-config-surface, #fff));
    border-color: color-mix(in srgb, #2f9d61 42%, var(--ac-config-border, #d7e1e4));
}

.ac-workspace-data-quality.is-success .ac-workspace-data-quality-icon {
    background: color-mix(in srgb, #2f9d61 15%, transparent);
    color: #237a4a;
}

.ac-workspace-data-quality.is-success > header small {
    color: #237a4a;
}

.ac-workspace-import-summary-stats em {
    background: color-mix(in srgb, var(--ac-import-accent) 10%, var(--ac-import-surface));
    border: 1px solid color-mix(in srgb, var(--ac-import-accent) 28%, var(--ac-import-border));
    border-radius: 999px;
    color: var(--ac-import-accent);
    font-size: .7rem;
    font-style: normal;
    font-weight: 700;
    padding: 3px 8px;
    white-space: nowrap;
}

.ac-workspace-data-quality > header small {
    color: var(--ac-config-danger, #b42318);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.ac-workspace-data-quality > header h4 {
    font-size: 1.05rem;
    margin: 2px 0 3px;
}

.ac-workspace-data-quality > header p,
.ac-workspace-data-quality article p,
.ac-workspace-data-quality > footer {
    color: var(--ac-config-muted, #66757f);
    margin: 0;
}

.ac-workspace-data-quality-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ac-workspace-data-quality-metrics span {
    background: color-mix(in srgb, var(--ac-config-surface, #fff) 82%, transparent);
    border: 1px solid var(--ac-config-border, #d7e1e4);
    border-radius: 999px;
    padding: 7px 11px;
}

.ac-workspace-data-quality-guidance {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 5%, var(--ac-config-surface, #fff));
    border-left: 3px solid var(--ac-config-accent, #168da3);
    border-radius: 6px;
    padding: 11px 14px;
}

.ac-workspace-data-quality-guidance ol {
    margin: 7px 0 0;
    padding-left: 22px;
}

.ac-workspace-data-quality-issues {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.ac-workspace-data-quality article {
    background: var(--ac-config-surface, #fff);
    border: 1px solid var(--ac-config-border, #d7e1e4);
    border-radius: 9px;
    display: grid;
    gap: 8px;
    padding: 13px;
}

.ac-workspace-data-quality-issue-heading {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.ac-workspace-data-quality-issue-heading div {
    display: grid;
    gap: 2px;
}

.ac-workspace-data-quality-issue-heading small {
    color: var(--ac-config-muted, #66757f);
}

.ac-workspace-data-quality-issue-heading > span {
    background: color-mix(in srgb, var(--ac-config-danger, #c33) 10%, transparent);
    border-radius: 999px;
    color: var(--ac-config-danger, #b42318);
    font-size: .78rem;
    font-weight: 700;
    padding: 4px 8px;
    white-space: nowrap;
}

.ac-workspace-data-quality-examples {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ac-workspace-data-quality-examples code {
    background: color-mix(in srgb, var(--ac-config-text, #172431) 7%, transparent);
    border-radius: 4px;
    color: inherit;
    max-width: 220px;
    overflow: hidden;
    padding: 3px 6px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ac-workspace-data-quality-examples small {
    color: var(--ac-config-muted, #66757f);
}

.ac-workspace-data-quality > footer {
    align-items: center;
    border-top: 1px solid var(--ac-config-border, #d7e1e4);
    display: flex;
    font-size: .8rem;
    gap: 12px;
    justify-content: space-between;
    padding-top: 12px;
}

.ac-workspace-import-mapping select {
    appearance: auto;
    background-color: var(--ac-config-surface, #fff);
    border: 1px solid var(--ac-config-border, #cbd7dc);
    border-radius: 7px;
    color: var(--ac-config-text, #172431);
    cursor: pointer;
    font: inherit;
    min-height: 38px;
    max-width: 100%;
    min-width: 0;
    padding: 6px 34px 6px 10px;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
    width: 100%;
}

.ac-workspace-import-mapping select:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--ac-config-accent, #168da3) 58%, var(--ac-config-border, #cbd7dc));
}

.ac-workspace-import-mapping select:focus-visible {
    border-color: var(--ac-config-accent, #168da3);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ac-config-accent, #168da3) 18%, transparent);
    outline: 0;
}

.ac-workspace-import-mapping select:disabled {
    background-color: color-mix(in srgb, var(--ac-config-text, #172431) 4%, var(--ac-config-surface, #fff));
    color: var(--ac-config-muted, #66757f);
    cursor: not-allowed;
    opacity: .82;
}

.ac-workspace-import-mapping select option.is-already-mapped-option,
.ac-workspace-import-mapping select option:disabled:not(:checked) {
    color: color-mix(in srgb, var(--ac-config-muted, #66757f) 48%, var(--ac-config-surface, #fff));
    font-weight: 400;
}

.ac-workspace-import-mapping select option.is-unmapped-option {
    color: var(--ac-config-text, #172431);
    font-weight: 700;
}

.ac-workspace-import-mapping tbody tr.is-excluded select {
    border-color: color-mix(in srgb, var(--ac-config-muted, #66757f) 52%, var(--ac-config-border, #cbd7dc));
    font-weight: 650;
}

@media (max-width: 980px) {
    .ac-workspace-import-header,
    .ac-workspace-source-heading,
    .ac-workspace-transform-heading,
    .ac-workspace-import-mapping-section > summary {
        align-items: start !important;
    }

    .ac-workspace-import-header {
        flex-direction: column !important;
    }

    .ac-workspace-import-steps {
        justify-content: flex-start !important;
    }

    .ac-workspace-import-upload {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    .ac-workspace-import {
        padding: 10px !important;
    }

    .ac-workspace-source-heading,
    .ac-workspace-transform-heading,
    .ac-workspace-import-mapping-section > summary {
        grid-template-columns: max-content minmax(0, 1fr) !important;
    }

    .ac-workspace-step-complete,
    .ac-workspace-transform-action,
    .ac-workspace-import-summary-stats {
        align-items: flex-start !important;
        grid-column: 2 !important;
        justify-self: start !important;
        text-align: left !important;
    }

    .ac-workspace-import-footer {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .ac-workspace-import-summary > .ac-workspace-import-ai {
        margin-left: 0 !important;
    }

    .ac-workspace-import-primary,
    .ac-workspace-import-secondary {
        justify-self: stretch !important;
        width: 100% !important;
    }
}

/* Classification workflow component polish. These controls are rendered by
   custom Blazor property editors, so they need explicit styling rather than
   inheriting the browser's native button and range-input appearance. */
.accounting-tagging-progressive-workflow.is-progressive-ready {
    margin: 0 !important;
    max-width: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready > .dxbl-row {
    align-items: stretch !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    > .dxbl-row
    > .accounting-tagging-workflow-step {
    flex: none !important;
    margin: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    > .dxbl-row
    > .accounting-tagging-classification-progress-host {
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-classification-settings .dxbl-group-body-content {
    padding-block: 10px 12px !important;
}

.accounting-tagging-mode-toggle {
    align-items: stretch;
    background: color-mix(in srgb, var(--ac-config-text, #172431) 5%, var(--ac-config-surface, #fff));
    border: 1px solid var(--ac-config-border, #d7e1e4);
    border-radius: 12px;
    display: grid;
    gap: 4px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 70px;
    padding: 4px;
    width: min(100%, 430px);
}

.accounting-tagging-mode-toggle button {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--ac-config-text, #172431);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 62px;
    padding: 9px 12px;
    text-align: left;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.accounting-tagging-mode-toggle button:hover:not(:disabled) {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 6%, var(--ac-config-surface, #fff));
}

.accounting-tagging-mode-toggle button.selected {
    background: var(--ac-config-surface, #fff);
    border-color: color-mix(in srgb, var(--ac-config-accent, #168da3) 60%, var(--ac-config-border, #d7e1e4));
    box-shadow: 0 2px 7px rgba(18, 52, 65, .08);
    color: var(--ac-config-accent, #168da3);
}

.accounting-tagging-mode-toggle button:focus-visible {
    outline: 2px solid var(--ac-config-accent, #168da3);
    outline-offset: 2px;
}

.accounting-tagging-mode-toggle button:disabled {
    cursor: not-allowed;
    opacity: .65;
}

.accounting-tagging-mode-toggle .accounting-tagging-mode-icon {
    align-items: center;
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 10%, var(--ac-config-surface, #fff));
    border-radius: 50%;
    display: inline-flex;
    font-size: 1rem;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.accounting-tagging-mode-toggle button:nth-child(2) .accounting-tagging-mode-icon {
    color: #ef8a2f;
}

.accounting-tagging-mode-toggle button > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.accounting-tagging-mode-toggle strong {
    font-size: .88rem;
    line-height: 1.15;
}

.accounting-tagging-mode-toggle small {
    color: var(--ac-config-muted, #687785);
    font-size: .7rem;
    line-height: 1.25;
}

.accounting-tagging-confidence-control {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(280px, 460px) minmax(190px, 260px);
    width: 100%;
}

.accounting-tagging-confidence-slider {
    display: grid;
    gap: 10px;
    max-width: 460px;
    padding: 2px 4px 0;
    width: 100%;
}

.accounting-tagging-confidence-guidance {
    border-left: 2px solid color-mix(in srgb, var(--ac-config-accent, #168da3) 28%, transparent);
    display: grid;
    gap: 4px;
    padding-left: 16px;
}

.accounting-tagging-confidence-guidance strong {
    color: var(--ac-config-text, #172431);
    font-size: .78rem;
}

.accounting-tagging-confidence-guidance span {
    color: var(--ac-config-muted, #687785);
    font-size: .7rem;
    line-height: 1.4;
}

@media (max-width: 1180px) {
    .accounting-tagging-confidence-control {
        grid-template-columns: minmax(0, 1fr);
    }

    .accounting-tagging-confidence-guidance {
        border-left: 0;
        border-top: 1px solid color-mix(in srgb, var(--ac-config-accent, #168da3) 22%, transparent);
        padding-left: 0;
        padding-top: 10px;
    }
}

.accounting-tagging-confidence-slider-value {
    align-items: baseline;
    display: flex;
    gap: 10px;
}

.accounting-tagging-confidence-slider-value strong {
    color: var(--ac-config-text, #172431);
    font-size: 1.18rem;
    line-height: 1;
}

.accounting-tagging-confidence-slider-value span,
.accounting-tagging-confidence-slider-scale {
    color: var(--ac-config-muted, #687785);
    font-size: .72rem;
}

.accounting-tagging-confidence-slider input[type="range"] {
    accent-color: var(--ac-config-accent, #168da3);
    cursor: pointer;
    margin: 0;
    min-height: 20px;
    width: 100%;
}

.accounting-tagging-confidence-slider-scale {
    display: flex;
    justify-content: space-between;
    line-height: 1.2;
}

/* Inline action state replaces the old modal and must read as part of the
   workspace rather than falling back to an unformatted status fragment. */
.accounting-tagging-action-progress {
    --ac-progress-accent: var(--ac-config-accent, #168da3);
    --ac-progress-soft: color-mix(in srgb, var(--ac-progress-accent) 7%, var(--ac-config-surface, #fff));
    align-items: start;
    background: var(--ac-progress-soft);
    border: 1px solid color-mix(in srgb, var(--ac-progress-accent) 34%, var(--ac-config-border, #d7e1e4));
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: 32px minmax(0, 1fr);
    margin: 0 !important;
    padding: 11px 13px;
    scroll-margin-top: 78px;
    width: 100%;
}

.accounting-tagging-contextual-progress-host {
    min-width: 0;
    width: 100%;
}

.accounting-tagging-cleanup-progress-host {
    grid-column: 1 / -1;
}

.accounting-tagging-action-progress.is-completed {
    --ac-progress-accent: #2f9d61;
}

.accounting-tagging-action-progress.is-failed,
.accounting-tagging-action-progress.is-cancelled {
    --ac-progress-accent: #d84444;
}

.accounting-tagging-action-progress.is-blocked {
    background: color-mix(in srgb, #f59e0b 10%, var(--ac-config-surface));
    border-color: color-mix(in srgb, #f59e0b 55%, var(--ac-config-border));
    color: var(--ac-config-text);
}

.accounting-tagging-action-progress.is-blocked
    .accounting-tagging-action-progress-icon {
    background: #f59e0b;
    color: #1f2937;
}

.accounting-tagging-action-progress-icon {
    align-items: center;
    background: color-mix(in srgb, var(--ac-progress-accent) 14%, var(--ac-config-surface, #fff));
    border-radius: 50%;
    color: var(--ac-progress-accent);
    display: flex;
    font-size: .92rem;
    font-weight: 800;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.accounting-tagging-action-progress-content {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.accounting-tagging-action-progress-content > header {
    align-items: start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.accounting-tagging-action-progress-eyebrow {
    color: var(--ac-progress-accent);
    display: block;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .055em;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.accounting-tagging-action-progress h3 {
    color: var(--ac-config-text, #172431);
    font-size: .88rem;
    line-height: 1.2;
    margin: 0;
}

.accounting-tagging-action-progress p {
    color: var(--ac-config-muted, #687785);
    font-size: .76rem;
    line-height: 1.35;
    margin: 0;
    white-space: pre-line;
}

.accounting-tagging-action-progress-percent {
    color: var(--ac-progress-accent);
    font-size: .82rem;
}

.accounting-tagging-action-progress-track {
    background: color-mix(in srgb, var(--ac-progress-accent) 16%, var(--ac-config-surface, #fff));
    border-radius: 999px;
    height: 5px;
    overflow: hidden;
    width: 100%;
}

.accounting-tagging-action-progress-track > span {
    background: var(--ac-progress-accent);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
    transition: width .2s ease;
}

.accounting-tagging-action-progress-track.is-indeterminate > span {
    animation: ac-progress-indeterminate 1.25s ease-in-out infinite;
    width: 34%;
}

@keyframes ac-progress-indeterminate {
    from { transform: translateX(-110%); }
    to { transform: translateX(320%); }
}

.accounting-tagging-action-progress footer {
    align-items: center;
    color: var(--ac-config-muted, #687785);
    display: flex;
    flex-wrap: wrap;
    font-size: .7rem;
    gap: 6px 12px;
    margin-top: 1px;
}

.accounting-tagging-action-progress footer button {
    appearance: none;
    background: var(--ac-config-surface, #fff);
    border: 1px solid color-mix(in srgb, var(--ac-progress-accent) 55%, var(--ac-config-border, #d7e1e4));
    border-radius: 7px;
    color: var(--ac-config-text, #172431);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    margin-left: 0;
    min-height: 32px;
    padding: 6px 12px;
}

.accounting-tagging-action-progress-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-left: auto;
}

.accounting-tagging-action-progress .accounting-tagging-action-confirm-hint {
    margin-right: auto;
}

.accounting-tagging-action-progress footer .accounting-tagging-action-confirm-continue {
    background: var(--ac-progress-accent);
    border-color: var(--ac-progress-accent);
    color: #fff;
}

.accounting-tagging-action-progress footer .accounting-tagging-action-confirm-overwrite {
    background: transparent;
    border-color: color-mix(in srgb, var(--ac-progress-accent) 58%, var(--ac-config-border, #d7e1e4));
    color: var(--ac-progress-accent);
}

.accounting-tagging-action-progress footer .accounting-tagging-action-confirm-overwrite:hover {
    background: color-mix(in srgb, var(--ac-progress-accent) 9%, transparent);
}

.accounting-tagging-action-confirm-estimate {
    align-items: center;
    background: color-mix(in srgb, var(--ac-progress-accent) 6%, var(--ac-config-surface, #fff));
    border: 1px solid color-mix(in srgb, var(--ac-progress-accent) 24%, var(--ac-config-border, #d7e1e4));
    border-radius: 8px;
    display: flex;
    font-size: .74rem;
    gap: 18px;
    justify-content: space-between;
    max-width: 280px;
    padding: 8px 10px;
}

.accounting-tagging-action-confirm-confidence {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    max-width: 560px;
}

.accounting-tagging-action-confirm-metric {
    background: color-mix(in srgb, var(--ac-progress-accent) 6%, var(--ac-config-surface, #fff));
    border: 1px solid color-mix(in srgb, var(--ac-progress-accent) 24%, var(--ac-config-border, #d7e1e4));
    border-radius: 8px;
    display: grid;
    gap: 2px;
    padding: 10px 12px;
}

.accounting-tagging-action-confirm-metric > span {
    color: var(--ac-config-text, #172126);
    font-size: .74rem;
    font-weight: 650;
}

.accounting-tagging-action-confirm-metric > strong {
    color: var(--ac-progress-accent);
    font-size: 1.2rem;
    line-height: 1.2;
}

.accounting-tagging-action-confirm-metric > small {
    color: var(--ac-config-muted, #64747c);
    font-size: .68rem;
}

.accounting-tagging-action-confirm-metric.is-ignored {
    background: color-mix(in srgb, var(--ac-config-muted, #64747c) 7%, var(--ac-config-surface, #fff));
    border-color: color-mix(in srgb, var(--ac-config-muted, #64747c) 24%, var(--ac-config-border, #d7e1e4));
}

.accounting-tagging-action-confirm-metric.is-ignored > strong {
    color: var(--ac-config-text, #172126);
}

@media (max-width: 640px) {
    .accounting-tagging-action-confirm-confidence {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

.accounting-tagging-workflow-step-review,
.accounting-tagging-cleanup-section,
.accounting-tagging-action-progress.is-confirmation {
    scroll-margin-top: 78px;
}

.accounting-tagging-action-progress.is-confirmation {
    animation: ac-context-progress-reveal .22s ease-out both;
}

.accounting-tagging-workflow-step-review.is-context-focus > .dxbl-group,
.accounting-tagging-cleanup-section.is-context-focus > .dxbl-group {
    animation: ac-context-section-attention .9s ease-out;
}

@keyframes ac-context-progress-reveal {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ac-context-section-attention {
    0%, 100% {
        outline: 0 solid transparent;
    }
    45% {
        outline: 4px solid color-mix(in srgb, var(--ac-config-accent, #168da3) 18%, transparent);
    }
}

@media (prefers-reduced-motion: reduce) {
    .accounting-tagging-action-progress.is-confirmation,
    .accounting-tagging-workflow-step-review.is-context-focus > .dxbl-group,
    .accounting-tagging-cleanup-section.is-context-focus > .dxbl-group {
        animation: none;
    }
}

/* Keep workflow completion ticks within their navigation control at all
   widths. The previous auto-margin placement could protrude past the rail. */
.accounting-tagging-workspace-navigation-item {
    box-sizing: border-box !important;
    cursor: pointer !important;
    min-height: 48px !important;
    padding: 8px 27px 8px 11px !important;
    pointer-events: auto !important;
    position: relative !important;
    white-space: normal !important;
}

.accounting-tagging-workspace-navigation-item > span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: normal !important;
}

.accounting-tagging-workspace-navigation-item.is-workflow-complete::after {
    box-shadow: 0 0 0 2px var(--ac-rail-surface, #fff) !important;
    flex-basis: 13px !important;
    font-size: 0.5rem !important;
    height: 13px !important;
    pointer-events: none !important;
    margin-left: 0 !important;
    position: absolute !important;
    right: 5px !important;
    top: 5px !important;
    transform: none !important;
    width: 13px !important;
}

/* Managed single-database projects have no user-configurable source. Keep the
   prerequisite visible and complete, while making it clearly non-interactive. */
.accounting-tagging-workspace-navigation-item.is-managed-inactive,
.accounting-tagging-workspace-navigation-item.is-managed-inactive:hover {
    background: color-mix(in srgb, #2f9d61 7%, var(--ac-rail-surface)) !important;
    border-color: color-mix(in srgb, #2f9d61 22%, var(--ac-rail-border)) !important;
    color: #277f50 !important;
    cursor: default !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

/* Once a source has already been transformed, this card is an append tool
   rather than the primary onboarding step. Keep it compact without reducing
   the interactive target sizes. */
.ac-workspace-import.is-transform-complete .ac-workspace-source-step {
    padding: 11px !important;
}

.ac-workspace-import.is-transform-complete .ac-workspace-source-heading {
    gap: 10px !important;
    margin-bottom: 8px !important;
}

.ac-workspace-import.is-transform-complete .ac-workspace-import-upload {
    gap: 10px !important;
}

.ac-workspace-import.is-transform-complete .ac-workspace-import-drop {
    min-height: 62px !important;
    padding-block: 8px !important;
}

.ac-workspace-import.is-transform-complete .ac-workspace-import-options {
    gap: 6px !important;
    min-height: 62px !important;
    padding: 9px 11px !important;
}

.ac-workspace-import.is-transform-complete
    .ac-workspace-import-option-fields {
    gap: 8px 14px !important;
}

.ac-workspace-import.is-transform-complete
    .ac-workspace-import-option-fields
    > .ac-workspace-import-checkbox {
    min-height: 36px !important;
}

/* Match the large Data & Mapping step badges to the state shown in the
   compact progress tracker. */
.ac-workspace-source-step.is-active .ac-workspace-import-summary-step,
.ac-workspace-import-mapping-section:not(.is-complete)
    > summary
    .ac-workspace-import-summary-step,
.ac-workspace-transform.is-ready .ac-workspace-import-summary-step,
.ac-workspace-transform.is-running .ac-workspace-import-summary-step {
    background: var(--ac-import-accent, #168da3) !important;
    color: #fff !important;
}

.ac-workspace-source-step.is-complete .ac-workspace-import-summary-step,
.ac-workspace-import-mapping-section.is-complete
    > summary
    .ac-workspace-import-summary-step,
.ac-workspace-transform.is-complete .ac-workspace-import-summary-step {
    background: var(--ac-import-complete, #2aa769) !important;
    color: #fff !important;
}

/* Classification uses the same title-and-progress composition as the data
   preparation workflow. */
.ac-classification-workflow-header {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 4px 4px 2px;
}

.ac-classification-workflow-header h3 {
    color: var(--ac-config-text, #172431);
    font-size: 1.08rem;
    line-height: 1.2;
    margin: 3px 0 4px;
}

.ac-classification-workflow-header p {
    color: var(--ac-config-muted, #687785);
    line-height: 1.35;
    margin: 0;
}

.ac-classification-workflow-steps {
    margin-top: 3px;
}

.ac-classification-workflow-steps span b {
    background: color-mix(in srgb, var(--ac-import-muted) 12%, var(--ac-import-surface)) !important;
    border: 1px solid color-mix(in srgb, var(--ac-import-muted) 22%, transparent) !important;
    box-sizing: border-box !important;
    color: var(--ac-import-muted) !important;
}

.ac-classification-workflow-steps span b svg {
    display: block !important;
    fill: none !important;
    height: 15px !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.8 !important;
    width: 15px !important;
}

.ac-classification-workflow-steps span.is-active b {
    background: var(--ac-import-accent) !important;
    border-color: var(--ac-import-accent) !important;
    color: #fff !important;
}

.ac-classification-workflow-steps span.is-complete b {
    background: var(--ac-import-complete) !important;
    border-color: var(--ac-import-complete) !important;
    color: #fff !important;
}

.ac-classification-workflow-steps span.is-locked b {
    background: color-mix(in srgb, var(--ac-import-muted) 8%, var(--ac-import-surface)) !important;
    border-color: color-mix(in srgb, var(--ac-import-muted) 16%, transparent) !important;
    color: color-mix(in srgb, var(--ac-import-muted) 72%, transparent) !important;
}

.ac-classification-handoff {
    align-items: center;
    animation: ac-classification-handoff-in 180ms ease-out both;
    background: color-mix(in srgb, var(--ac-import-complete, #2aa769) 8%, var(--ac-import-surface, #fff));
    border: 1px solid color-mix(in srgb, var(--ac-import-complete, #2aa769) 35%, var(--ac-import-border, #d7e1e4));
    border-radius: 10px;
    color: var(--ac-config-text, #172431);
    display: flex;
    gap: 12px;
    margin-top: 2px;
    padding: 12px 14px;
}

.ac-classification-handoff > span {
    align-items: center;
    background: var(--ac-import-complete, #2aa769);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 30px;
    font-size: .95rem;
    font-weight: 800;
    height: 30px;
    justify-content: center;
}

.ac-classification-handoff > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ac-classification-handoff small {
    color: var(--ac-config-muted, #687785);
}

[role="tab"].ac-classification-transition-target {
    animation: ac-classification-tab-pulse 700ms ease-in-out 2;
    background: color-mix(in srgb, var(--ac-import-complete, #2aa769) 10%, transparent) !important;
    border-radius: 8px 8px 0 0;
}

@keyframes ac-classification-handoff-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes ac-classification-tab-pulse {
    0%, 100% { box-shadow: none; }
    50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--ac-import-complete, #2aa769) 18%, transparent); }
}

@media (max-width: 760px) {
    .ac-classification-workflow-header {
        align-items: stretch;
        flex-direction: column;
    }

    .ac-classification-workflow-steps {
        justify-content: flex-start !important;
    }
}

/* Align the review command with the confidence editor's labelled content. */
@media (min-width: 1101px) {
    body .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-approval-confidence-row
        button[data-action-name="Approve Suggestions"] {
        position: relative !important;
        top: 8px !important;
    }
}

/* DevExpress can vertically centre the button while leaving its inner text
   wrapper on the text baseline. Centre both layers for this single command. */
html body
    .accounting-tagging-progressive-workflow.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules.accounting-tagging-create-rules
    button[data-action-name="Create & classify"] {
    align-items: center !important;
    display: inline-flex !important;
    justify-content: center !important;
    padding-block: 0 !important;
}

html body
    .accounting-tagging-progressive-workflow.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules.accounting-tagging-create-rules
    button[data-action-name="Create & classify"]
    > :is(.dxbl-text, .dxbl-btn-text, span) {
    align-items: center !important;
    align-self: stretch !important;
    display: inline-flex !important;
    height: 100% !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    margin-block: 0 !important;
}

/* Final data-preparation controls. Keep these unscoped so the renderer has the
   same appearance while the surrounding XAF view is changing state. */
body .ac-workspace-import-steps > span > b[data-step-number] {
    align-items: center !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
    height: 32px !important;
    justify-content: center !important;
    min-width: 56px !important;
    padding: 0 9px !important;
    width: auto !important;
}

body .ac-workspace-import-steps > span > b[data-step-number] > svg {
    flex: 0 0 15px !important;
    height: 15px !important;
    width: 15px !important;
}

body .ac-workspace-import-options {
    align-content: center !important;
    gap: 9px !important;
    padding: 11px 13px !important;
}

body .ac-workspace-import-options > .ac-workspace-import-options-title {
    line-height: 1.2 !important;
    margin: 0 !important;
}

body .ac-workspace-import-options > .ac-workspace-import-option-fields {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(250px, 1.15fr) minmax(250px, .85fr) !important;
    margin: 0 !important;
}

body .ac-workspace-import-option-fields > .ac-workspace-import-checkbox {
    align-self: center !important;
    min-height: 42px !important;
}

body .ac-workspace-import-option-fields > .ac-workspace-import-csv-fields {
    align-items: end !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(2, minmax(90px, 1fr)) !important;
    margin: 0 !important;
}

body .ac-workspace-import-csv-fields > .ac-workspace-import-field {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

body .ac-workspace-import-csv-fields > .ac-workspace-import-field > span {
    display: block !important;
    margin: 0 !important;
}

body .ac-workspace-import-csv-fields > .ac-workspace-import-field > input {
    box-sizing: border-box !important;
    height: 36px !important;
    margin: 0 !important;
    width: 100% !important;
}

body .ac-workspace-import-options > .ac-workspace-import-option-actions {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .ac-workspace-import-option-actions > button {
    min-height: 36px !important;
}

@media (max-width: 1050px) {
    body .ac-workspace-import-options > .ac-workspace-import-option-fields {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    body .ac-workspace-import-option-fields > .ac-workspace-import-csv-fields {
        grid-template-columns: 1fr !important;
    }

    body .ac-workspace-import-options > .ac-workspace-import-option-actions {
        align-items: stretch !important;
        flex-direction: column !important;
    }
}

/* Keep each workflow step's number and pictogram together. This makes the
   progress rail easier to scan without changing its active/completed states. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-workspace-import-steps
    > span
    > b[data-step-number] {
    align-items: center !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
    height: 34px !important;
    justify-content: center !important;
    min-width: 58px !important;
    padding: 0 10px !important;
    width: auto !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-workspace-import-steps
    > span
    > b[data-step-number]::before {
    content: none !important;
}

body .ac-workspace-import-steps > span > b[data-step-number] > i {
    border-right: 1px solid currentColor !important;
    display: inline-block !important;
    font-size: .74rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
    flex: 0 0 14px !important;
    line-height: 16px !important;
    opacity: .95 !important;
    padding-right: 7px !important;
    text-align: center !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-workspace-import-steps
    > span
    > b[data-step-number]
    > svg {
    flex: 0 0 16px !important;
    height: 16px !important;
    width: 16px !important;
}

@media (max-width: 620px) {
    body .accounting-tagging-progressive-workflow.is-progressive-ready
        .ac-workspace-import-steps {
        justify-content: flex-start !important;
    }

    body .accounting-tagging-progressive-workflow.is-progressive-ready
        .ac-workspace-import-steps
        > span
        > b[data-step-number] {
        min-width: 52px !important;
        padding-inline: 8px !important;
    }
}

/* The create action follows the compact primary-button treatment used by the
   data-preparation tab. It is a command, not another action card. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"] {
    display: inline-flex !important;
    gap: 0 !important;
    justify-content: center !important;
    text-align: center !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"]
    :is(.dxbl-image, .dxbl-btn-icon, .dxbl-icon, [class*="image"], [class*="icon"]) {
    display: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"]
    > .dxbl-text {
    align-self: center !important;
    color: inherit !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: center !important;
    text-align: center !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"]
    :is(.dxbl-text, .dxbl-btn-text) {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

@media (max-width: 720px) {
    .accounting-tagging-mode-toggle {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .accounting-tagging-action-progress {
        grid-template-columns: 32px minmax(0, 1fr);
        padding: 12px;
    }

    .accounting-tagging-action-progress-icon {
        height: 32px;
        width: 32px;
    }
}

/* Classification workflow visual parity ---------------------------------
   Use the same framed step, tinted body, white editor card and compact
   command treatment as Data Source & Mapping. These rules intentionally
   live last so older XAF layout rules cannot flatten the workflow again. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 3%, var(--ac-config-surface, #fff)) !important;
    border-top: 1px solid var(--ac-config-border, #d7e1e4) !important;
    padding: 14px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content
    > .dxbl-row {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(420px, 3fr) minmax(360px, 2fr) !important;
    margin: 0 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    :is(.accounting-tagging-suggestion-fields,
        .accounting-tagging-classification-settings) {
    flex: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    :is(.accounting-tagging-suggestion-fields,
        .accounting-tagging-classification-settings)
    > .dxbl-group {
    background: var(--ac-config-surface, #fff) !important;
    border: 1px solid var(--ac-config-border, #d7e1e4) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    :is(.accounting-tagging-suggestion-fields,
        .accounting-tagging-classification-settings)
    > .dxbl-group
    > .dxbl-group-header {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ac-config-border, #d7e1e4) !important;
    display: flex !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    :is(.accounting-tagging-suggestion-fields,
        .accounting-tagging-classification-settings)
    > .dxbl-group
    > .dxbl-group-header
    .dxbl-text {
    color: var(--ac-config-text, #172431) !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    :is(.accounting-tagging-suggestion-fields,
        .accounting-tagging-classification-settings)
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 12px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-suggestion-fields-editor,
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-suggestion-fields-editor
    :is(.dxbl-tag-box, .dxbl-text-edit, .dxbl-text-edit-input) {
    min-height: 42px !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-classification-settings
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content
    > .dxbl-row {
    align-items: start !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(300px, 430px) !important;
    justify-content: start !important;
    margin: 0 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-group {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content {
    padding: 0 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content
    > .dxbl-row {
    align-items: stretch !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: 0 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    .accounting-tagging-approval-confidence-setting {
    align-self: stretch !important;
    flex: none !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    .accounting-tagging-approval-confidence-setting {
    grid-column: 2 / span 2 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    .accounting-tagging-confidence-control {
    min-height: 64px;
}

/* ClassificationApprovalConfidence renders as a dxbl-form-layout-group whose
   row is a direct child. Keep the approval command and confidence editor in
   one bounded row; the older group-body selector above targets a wrapper that
   DevExpress does not emit for this layout node. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-row {
    align-items: start !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: 0 !important;
    width: 100% !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-row
    > .dxbl-fl-item {
    flex: none !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-row
    > .dxbl-fl-item:first-child
    :is(.dxbl-toolbar, .dxbl-btn-toolbar, .dxbl-toolbar-group,
        .dxbl-toolbar-item, button[data-action-name="Approve Suggestions"]) {
    max-width: none !important;
    width: 100% !important;
}

/* The generic review toolbar uses a capped command track. The outer form row
   already owns the three-column layout, so this one-command toolbar must use
   one full-width track inside the first column. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-row
    > .dxbl-fl-item:first-child
    :is(.dxbl-toolbar, .dxbl-btn-toolbar[role="toolbar"]) {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-content: stretch !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-row
    > .dxbl-fl-item:first-child
    .dxbl-btn-toolbar[role="toolbar"]
    > .dxbl-toolbar-group:first-child {
    display: flex !important;
    flex: 1 1 100% !important;
    grid-column: 1 / -1 !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-row
    > .dxbl-row
    > .dxbl-fl-item:first-child
    .dxbl-btn-toolbar[role="toolbar"]
    > .dxbl-toolbar-group:not(:first-child) {
    display: none !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-setting
    > .dxbl-fl-cpt {
    margin: 0 0 2px !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-setting
    .accounting-tagging-confidence-control {
    align-items: start !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: none !important;
    min-height: 0 !important;
    width: 100% !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-setting
    .accounting-tagging-confidence-slider {
    gap: 2px !important;
    padding: 0 !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-setting
    .accounting-tagging-confidence-slider input[type="range"] {
    min-height: 14px !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-setting
    .accounting-tagging-confidence-slider-scale {
    line-height: 1 !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-setting
    .accounting-tagging-confidence-guidance {
    gap: 2px !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-approval-confidence-setting
    .accounting-tagging-confidence-guidance span {
    line-height: 1.25 !important;
}

@media (max-width: 1100px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-workflow-step-setup
        > .dxbl-group
        > .dxbl-group-body
        > .dxbl-group-body-content
        > .dxbl-row,
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-approval-confidence-row
        > .dxbl-group
        > .dxbl-group-body
        > .dxbl-group-body-content
        > .dxbl-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-approval-confidence-row
        > .dxbl-row,
    body .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-approval-confidence-setting
        .accounting-tagging-confidence-control {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-approval-confidence-row
        .accounting-tagging-approval-confidence-setting {
        grid-column: auto !important;
    }

    body .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-approval-confidence-row
        > .dxbl-row
        > .dxbl-fl-item:first-child {
        max-width: 300px !important;
    }
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-classification-settings
    > .dxbl-group
    > .dxbl-group-body
    > .dxbl-group-body-content
    > .dxbl-row
    > .dxbl-fl-item {
    flex: none !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Keep rule editors and their command on one compact, aligned row. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    .dxbl-group-body-content
    > .dxbl-row {
    align-items: end !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 972px) 190px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rule-fields {
    max-width: 972px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rule-fields
    > .dxbl-row {
    align-items: end !important;
    gap: 12px !important;
    grid-template-columns: repeat(2, minmax(280px, 480px)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    :is(.dxbl-text-edit, .dxbl-text-edit-input, input) {
    border-radius: 8px !important;
    min-height: 42px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    .dxbl-group-body-content
    > .dxbl-row
    > .dxbl-fl-item:has(button[data-action-name^="Create"]),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    :is(.dxbl-toolbar, [role="toolbar"]) {
    max-width: 190px !important;
    width: 190px !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    :is(.dxbl-toolbar-group, .dxbl-toolbar-item),
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name^="Create"] {
    max-width: 190px !important;
    min-width: 190px !important;
    width: 190px !important;
}

/* Step 3 is the active teal step once mappings are confirmed, green while
   running/completed, and neutral only before a source is ready. */
.ac-workspace-transform.is-ready .ac-workspace-import-summary-step,
.ac-workspace-transform.is-running .ac-workspace-import-summary-step {
    background: var(--ac-import-accent, #168da3) !important;
    color: #fff !important;
}

.ac-workspace-transform.is-complete .ac-workspace-import-summary-step {
    background: var(--ac-import-complete, #2aa769) !important;
    color: #fff !important;
}

@media (max-width: 1180px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rules
        .dxbl-group-body-content
        > .dxbl-row {
        grid-template-columns: minmax(0, 1fr) 190px !important;
    }
}

@media (max-width: 880px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-classification-settings
        > .dxbl-group
        > .dxbl-group-body
        > .dxbl-group-body-content
        > .dxbl-row,
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rules
        .dxbl-group-body-content
        > .dxbl-row,
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rule-fields
        > .dxbl-row {
        grid-template-columns: 1fr !important;
    }

    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rules
        .dxbl-group-body-content
        > .dxbl-row
        > .dxbl-fl-item:has(button[data-action-name^="Create"]),
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-create-rules
        :is(.dxbl-toolbar, [role="toolbar"]) {
        justify-self: start !important;
    }
}

/* Classification workflow final polish -----------------------------------
   Keep these overrides last: DevExpress emits adaptive toolbar placeholders
   and the shared import-step styles use variables scoped to another panel. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar, .dxbl-btn-toolbar, [role="toolbar"]) {
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
}

/* A hidden adaptive overflow command was occupying the first grid cell and
   pushing Jemi to the middle when ML Suggestions was disabled. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    :is(.dxbl-toolbar, .dxbl-btn-toolbar, [role="toolbar"])
    > .dxbl-toolbar-hidden-item:not(:has(button[data-action-name])) {
    display: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="Jemi Suggestions"] {
    background: color-mix(in srgb, #2688d8 12%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #2688d8 38%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="Classify by Legal Entity"] {
    background: color-mix(in srgb, #7566c8 10%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #7566c8 34%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name="ML Suggestions"] {
    background: color-mix(in srgb, #e49a23 12%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #e49a23 38%, var(--ac-config-border, #d7e1e4)) !important;
}

/* DevExpress applies a neutral disabled fill late in the cascade. Retain each
   route's identity while using opacity to communicate availability. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button.dxbl-disabled[data-action-name="Jemi Suggestions"] {
    background: color-mix(in srgb, #2688d8 12%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #2688d8 38%, var(--ac-config-border, #d7e1e4)) !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button.dxbl-disabled[data-action-name="Classify by Legal Entity"] {
    background: color-mix(in srgb, #7566c8 10%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #7566c8 34%, var(--ac-config-border, #d7e1e4)) !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button.dxbl-disabled[data-action-name="ML Suggestions"] {
    background: color-mix(in srgb, #e49a23 12%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #e49a23 38%, var(--ac-config-border, #d7e1e4)) !important;
}

/* Make action state unambiguous and give users an actionable explanation.
   The late selectors override DevExpress disabled-state styles without
   changing the identity colour assigned to each classification route. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name]:not(:disabled):not(.dxbl-disabled):not([aria-disabled="true"]) {
    box-shadow: 0 3px 9px color-mix(in srgb, #153847 14%, transparent) !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button[data-action-name]:is(:disabled, .dxbl-disabled, [aria-disabled="true"]),
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-generate
    button.ac-action-is-unavailable {
    box-shadow: none !important;
    cursor: not-allowed !important;
    filter: grayscale(.45) saturate(.55) !important;
    opacity: .52 !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability {
    border-top: 1px solid var(--ac-config-border, #d7e1e4);
    margin-top: .8rem;
    padding-top: .8rem;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-list {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-list > li {
    align-items: center;
    background: var(--ac-config-surface, #fff);
    border: 1px solid var(--ac-config-border, #d7e1e4);
    border-radius: 10px;
    display: grid;
    gap: .65rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 58px;
    padding: .65rem .75rem;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-list > li.is-ready {
    background: color-mix(in srgb, #2f9e66 7%, var(--ac-config-surface, #fff));
    border-color: color-mix(in srgb, #2f9e66 34%, var(--ac-config-border, #d7e1e4));
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-list > li.is-unavailable {
    background: color-mix(in srgb, #c97912 8%, var(--ac-config-surface, #fff));
    border-color: color-mix(in srgb, #c97912 38%, var(--ac-config-border, #d7e1e4));
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-indicator {
    align-items: center;
    background: #2f9e66;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 800;
    height: 24px;
    justify-content: center;
    line-height: 1;
    width: 24px;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    li.is-unavailable > .ac-action-availability-indicator {
    background: #b96800;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-copy {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-copy strong {
    color: var(--ac-config-text, #172431);
    font-size: .82rem;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-copy > span {
    color: var(--ac-config-muted, #60727c);
    font-size: .74rem;
    line-height: 1.35;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-cta {
    background: transparent;
    border: 1px solid var(--ac-config-accent, #168da3);
    border-radius: 8px;
    color: var(--ac-config-accent, #168da3);
    cursor: pointer;
    font: inherit;
    font-size: .74rem;
    font-weight: 700;
    padding: .42rem .62rem;
    text-decoration: none;
    white-space: nowrap;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-action-availability-cta:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 10%, transparent);
    outline: 2px solid color-mix(in srgb, var(--ac-config-accent, #168da3) 42%, transparent);
    outline-offset: 2px;
}

@media (max-width: 760px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .ac-action-availability-list {
        grid-template-columns: 1fr;
    }
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    button[data-action-name="Clear Visible Suggestions"] {
    background: color-mix(in srgb, #dc4c4c 9%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #dc4c4c 34%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    button[data-action-name="Clear Visible Categories"] {
    background: color-mix(in srgb, #bd4f82 8%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #bd4f82 31%, var(--ac-config-border, #d7e1e4)) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-cleanup-section
    button[data-action-name="Clear Visible Company Enrichment"] {
    background: color-mix(in srgb, #e47f25 9%, var(--ac-config-surface, #fff)) !important;
    border-color: color-mix(in srgb, #e47f25 34%, var(--ac-config-border, #d7e1e4)) !important;
}

/* Use a familiar, platform-rendered approval symbol because the requested
   XAF image is not available in every theme pack. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-review
    button[data-action-name="Approve Suggestions"]
    > :is(.dxbl-image, [class*="image"], [class*="icon"]) {
    display: none !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-action-section-review
    button[data-action-name="Approve Suggestions"]::before {
    align-items: center !important;
    background: transparent !important;
    border-radius: 0 !important;
    content: "\1F44D" !important;
    display: inline-flex !important;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif !important;
    font-size: 1.25rem !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    height: 28px !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    line-height: 1 !important;
    width: 20px !important;
}

/* Match the compact outlined command used by Refresh mapping preview. */
.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name="Create & classify"] {
    align-items: center !important;
    align-self: end !important;
    background: var(--ac-config-surface, #fff) !important;
    border: 1px solid var(--ac-config-accent, #168da3) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: var(--ac-config-accent, #168da3) !important;
    font-family: inherit !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    height: 42px !important;
    justify-content: center !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    min-height: 42px !important;
    padding: 8px 16px !important;
    text-align: center !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name="Create & classify"]
    :is(.dxbl-text, .dxbl-btn-text) {
    align-items: center !important;
    align-self: stretch !important;
    display: inline-flex !important;
    font: inherit !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    width: 100% !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name="Create & classify"]:not(:disabled):hover {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 9%, transparent) !important;
    border-color: color-mix(in srgb, var(--ac-config-accent, #168da3) 78%, #000) !important;
}

.accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button[data-action-name="Create & classify"]:disabled {
    opacity: 1 !important;
}

/* The DevExpress disabled theme is loaded after the workflow stylesheet.
   Retain the outlined command shape while still clearly muting the action. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules
    button.dxbl-disabled[data-action-name="Create & classify"] {
    background: color-mix(in srgb, var(--ac-config-accent, #168da3) 3%, var(--ac-config-surface, #fff)) !important;
    border: 1px solid var(--ac-config-accent, #168da3) !important;
    color: color-mix(in srgb, var(--ac-config-accent, #168da3) 66%, var(--ac-config-muted, #687785)) !important;
}

/* The classification header is outside the import component's variable
   scope, so every state needs an explicit fallback. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-classification-workflow-steps
    > span
    > b {
    align-items: center !important;
    background: color-mix(in srgb, var(--ac-import-muted, #71808c) 12%, var(--ac-import-surface, #fff)) !important;
    border: 1px solid color-mix(in srgb, var(--ac-import-muted, #71808c) 24%, transparent) !important;
    border-radius: 999px !important;
    color: var(--ac-import-muted, #71808c) !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
    height: 34px !important;
    justify-content: center !important;
    min-width: 58px !important;
    padding: 0 10px !important;
    width: auto !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-classification-workflow-steps
    > span
    > b
    > i {
    border-right: 1px solid currentColor !important;
    display: inline-block !important;
    font-size: .74rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 16px !important;
    opacity: .95 !important;
    padding-right: 7px !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-classification-workflow-steps
    > span.is-active {
    color: var(--ac-import-accent, #168da3) !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-classification-workflow-steps
    > span.is-active
    > b {
    background: var(--ac-import-accent, #168da3) !important;
    border-color: var(--ac-import-accent, #168da3) !important;
    color: #fff !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-classification-workflow-steps
    > span.is-complete {
    color: var(--ac-import-complete, #2aa769) !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-classification-workflow-steps
    > span.is-complete
    > b {
    background: var(--ac-import-complete, #2aa769) !important;
    border-color: var(--ac-import-complete, #2aa769) !important;
    color: #fff !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .ac-classification-workflow-steps
    > span.is-locked
    > b {
    background: color-mix(in srgb, var(--ac-import-muted, #71808c) 8%, var(--ac-import-surface, #fff)) !important;
    border-color: color-mix(in srgb, var(--ac-import-muted, #71808c) 16%, transparent) !important;
    color: color-mix(in srgb, var(--ac-import-muted, #71808c) 72%, transparent) !important;
}

@media (max-width: 760px) {
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-action-section-generate
        :is(.dxbl-toolbar, .dxbl-btn-toolbar, [role="toolbar"]),
    .accounting-tagging-progressive-workflow.is-progressive-ready
        .accounting-tagging-action-section-generate
        :is(.dxbl-toolbar, .dxbl-btn-toolbar, [role="toolbar"]):has(button[data-action-name="ML Suggestions"]) {
        grid-template-columns: 1fr !important;
    }
}

/* Remove the empty action-progress row from the review rhythm. When progress
   is shown, the host keeps its normal spacing and remains visually separate. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-review-progress-host:not(
        :has(.accounting-tagging-action-progress)) {
    margin-block: 0 !important;
    padding-block: 0 !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-create-rules.accounting-tagging-native-review-panel {
    margin-top: 6px !important;
}

/* Step headers use the same number + symbol pill language as the progress
   indicators shown above each workflow. */
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-header::before,
body .ac-workspace-import .ac-workspace-import-summary-step {
    border: 1px solid currentColor !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    flex-basis: auto !important;
    gap: 6px !important;
    height: 32px !important;
    min-width: 56px !important;
    padding: 0 9px !important;
    width: auto !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step
    > .dxbl-group
    > .dxbl-group-header::before {
    flex: 0 0 68px !important;
    justify-content: flex-start !important;
    min-width: 68px !important;
    padding: 0 10px !important;
    width: 68px !important;
}

body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-setup
    > .dxbl-group
    > .dxbl-group-header::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10M18 6h2M4 12h3M11 12h9M4 18h8M16 18h4'/%3E%3Ccircle cx='16' cy='6' r='2'/%3E%3Ccircle cx='9' cy='12' r='2'/%3E%3Ccircle cx='14' cy='18' r='2'/%3E%3C/svg%3E") !important;
    background-position: right 14px center !important;
    background-repeat: no-repeat !important;
    background-size: 17px 17px !important;
    content: counter(ac-step) "   │" !important;
}
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-classify
    > .dxbl-group
    > .dxbl-group-header::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.55 4.45L18 9l-4.45 1.55L12 15l-1.55-4.45L6 9l4.45-1.55L12 3Z'/%3E%3Cpath d='m18.5 14 .85 2.15L21.5 17l-2.15.85L18.5 20l-.85-2.15L15.5 17l2.15-.85.85-2.15Z'/%3E%3C/svg%3E") !important;
    background-position: right 14px center !important;
    background-repeat: no-repeat !important;
    background-size: 17px 17px !important;
    content: counter(ac-step) "   │" !important;
}
body .accounting-tagging-progressive-workflow.is-progressive-ready
    .accounting-tagging-workflow-step-review
    > .dxbl-group
    > .dxbl-group-header::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 12.5 10.5 16.5 18 7.5'/%3E%3C/svg%3E") !important;
    background-position: right 14px center !important;
    background-repeat: no-repeat !important;
    background-size: 17px 17px !important;
    content: counter(ac-step) "   │" !important;
}

body .ac-workspace-import .ac-workspace-import-summary-step::after {
    border-left: 1px solid currentColor;
    line-height: 16px;
    margin-left: 1px;
    padding-left: 6px;
}
body .ac-workspace-import .ac-workspace-source-step .ac-workspace-import-summary-step::after { content: "◉"; }
body .ac-workspace-import .ac-workspace-import-mapping-section .ac-workspace-import-summary-step::after { content: "↳"; }
body .ac-workspace-import .ac-workspace-transform .ac-workspace-import-summary-step::after { content: "⇄"; }

/* DevExpress form-layout rows use negative six-pixel gutters. The two outer
   workspace shells otherwise extend past the overview banner on both sides,
   leaving staggered rounded edges and a visibly uneven right-hand gutter. */
.dxbl-modal-content:has(.accounting-tagging-workspace-navigation)
    .accounting-tagging-process-tabs,
.dxbl-modal-content:has(.accounting-tagging-workspace-navigation)
    .accounting-tagging-results-shell {
    flex-basis: calc(100% - 12px) !important;
    margin-inline: 6px !important;
    max-width: calc(100% - 12px) !important;
    width: calc(100% - 12px) !important;
}

/* Keep the project overview dense enough to behave as a summary strip. The
   processing message can still wrap, but no cell contributes excess padding
   or fixed-height whitespace. */
.accounting-tagging-integrated-insights {
    min-height: 82px !important;
}

.accounting-tagging-integrated-identity,
.accounting-tagging-integrated-stat {
    padding: 8px 12px !important;
}

.accounting-tagging-integrated-identity .accounting-tagging-eyebrow {
    margin-bottom: 2px !important;
}

.accounting-tagging-integrated-identity > span:last-child {
    margin-top: 3px !important;
}

.accounting-tagging-integrated-stat {
    grid-template-rows: 11px 20px 4px 12px !important;
    row-gap: 3px !important;
}

.accounting-tagging-integrated-stat strong {
    line-height: 1.05 !important;
}

.accounting-tagging-processing-panel .accounting-tagging-live-status {
    grid-template-rows: auto auto 4px auto auto !important;
    padding-block: 7px !important;
    row-gap: 3px !important;
}

.accounting-tagging-processing-panel .accounting-tagging-live-status-meta {
    gap: 2px 8px !important;
    padding-top: 0 !important;
}

/* Theme-aware project overview ------------------------------------------ */
.accounting-tagging-integrated-insights {
    --ac-overview-accent: var(--dxds-primary-90, #27809b);
    --ac-overview-border: var(--dxds-secondary-50, #d8e0e4);
    --ac-overview-muted: var(--dxds-secondary-120, #667782);
    --ac-overview-soft: var(--dxds-primary-20, #edf7f8);
    --ac-overview-surface: var(--dxds-secondary-20, #fff);
    --ac-overview-surface-muted: var(--dxds-secondary-30, #f6f8f9);
    --ac-overview-text: var(--dxds-secondary-160, #20313a);
    background:
        radial-gradient(
            circle at 88% -70%,
            color-mix(in srgb, var(--ac-overview-accent) 16%, transparent),
            transparent 42%),
        linear-gradient(
            108deg,
            color-mix(in srgb, var(--ac-overview-accent) 5%, var(--ac-overview-surface)) 0%,
            var(--ac-overview-surface) 58%,
            color-mix(in srgb, var(--ac-overview-accent) 8%, var(--ac-overview-surface)) 100%) !important;
    border-color: var(--ac-overview-border) !important;
    box-shadow:
        0 7px 20px color-mix(in srgb, var(--ac-overview-text) 10%, transparent),
        inset 0 1px 0 color-mix(in srgb, var(--ac-overview-surface) 80%, transparent) !important;
    color: var(--ac-overview-text) !important;
    color-scheme: light;
}

body.dxbl-theme-dark .accounting-tagging-integrated-insights {
    --ac-overview-accent: var(--dxds-primary-70, #66c7d0);
    --ac-overview-border: var(--dxds-secondary-130, #4d5b62);
    --ac-overview-muted: var(--dxds-secondary-70, #a6b2b8);
    --ac-overview-soft: color-mix(
        in srgb,
        var(--dxds-primary-90, #27809b) 18%,
        var(--dxds-secondary-150, #252f34));
    --ac-overview-surface: var(--dxds-secondary-150, #252f34);
    --ac-overview-surface-muted: var(--dxds-secondary-140, #303b40);
    --ac-overview-text: var(--dxds-secondary-20, #f2f5f6);
    box-shadow:
        0 8px 24px rgba(0, 0, 0, .24),
        inset 0 1px 0 color-mix(in srgb, var(--ac-overview-text) 8%, transparent) !important;
    color-scheme: dark;
}

.accounting-tagging-integrated-identity {
    background: color-mix(
        in srgb,
        var(--ac-overview-accent) 5%,
        var(--ac-overview-surface)) !important;
}

.accounting-tagging-project-title-display {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.accounting-tagging-project-title-display > strong {
    color: var(--ac-overview-text) !important;
    font-size: 1.16rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.accounting-tagging-project-title-display > button {
    align-items: center;
    background: color-mix(in srgb, var(--ac-overview-accent) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--ac-overview-accent) 30%, transparent);
    border-radius: 7px;
    color: var(--ac-overview-accent);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.accounting-tagging-project-title-display > button:hover {
    background: color-mix(in srgb, var(--ac-overview-accent) 16%, transparent);
}

.accounting-tagging-project-title-display > button:focus-visible,
.accounting-tagging-project-title-editor :is(input, button):focus-visible {
    outline: 2px solid var(--ac-overview-accent);
    outline-offset: 2px;
}

.accounting-tagging-project-title-display svg {
    fill: none;
    height: 16px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 16px;
}

.accounting-tagging-project-title-editor {
    align-items: center;
    display: grid;
    gap: 7px;
    grid-template-columns: minmax(150px, 1fr) auto auto;
}

.accounting-tagging-project-title-editor input {
    background: var(--ac-overview-surface);
    border: 1px solid var(--ac-overview-border);
    border-radius: 7px;
    color: var(--ac-overview-text);
    font: inherit;
    font-size: .9rem;
    font-weight: 700;
    min-height: 36px;
    min-width: 0;
    padding: 6px 9px;
}

.accounting-tagging-project-title-editor button {
    border: 1px solid var(--ac-overview-border);
    border-radius: 7px;
    cursor: pointer;
    font: inherit;
    font-size: .72rem;
    font-weight: 750;
    min-height: 36px;
    padding: 6px 10px;
}

.accounting-tagging-project-title-editor button.save {
    background: var(--ac-overview-accent);
    border-color: var(--ac-overview-accent);
    color: var(--ac-overview-surface);
}

.accounting-tagging-project-title-editor button.cancel {
    background: var(--ac-overview-surface);
    color: var(--ac-overview-text);
}

.accounting-tagging-project-title-editor button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.accounting-tagging-project-title-message {
    font-size: .67rem;
    font-weight: 650;
}

.accounting-tagging-project-title-message.is-saved {
    color: var(--ac-overview-accent);
}

.accounting-tagging-project-title-message.is-error {
    color: var(--bs-danger, #b42318);
}

.accounting-tagging-integrated-identity .accounting-tagging-eyebrow,
.accounting-tagging-live-indicator.is-active {
    color: var(--ac-overview-accent) !important;
}

.accounting-tagging-integrated-identity > span:last-child,
.accounting-tagging-integrated-stat > span,
.accounting-tagging-integrated-stat small,
.accounting-tagging-live-status-meta > span,
.accounting-tagging-basic-card > p,
.accounting-tagging-consolidated-details dt,
.accounting-tagging-basic-metrics dt,
.accounting-tagging-basic-status,
.accounting-tagging-basic-empty,
.accounting-tagging-integrated-insight span,
.accounting-tagging-integrated-jobs > span,
.accounting-tagging-integrated-jobs small,
.accounting-tagging-integrated-job-row > span,
.accounting-tagging-integrated-job-row > time {
    color: var(--ac-overview-muted) !important;
}

.accounting-tagging-integrated-stat,
.accounting-tagging-processing-panel,
.accounting-tagging-processing-panel .accounting-tagging-integrated-controls,
.accounting-tagging-integrated-more,
.accounting-tagging-basic-card--summary h4,
.accounting-tagging-consolidated-details > div,
.accounting-tagging-basic-table th,
.accounting-tagging-basic-table td,
.accounting-tagging-integrated-job-row {
    border-color: var(--ac-overview-border) !important;
}

.accounting-tagging-live-status-heading > b,
.accounting-tagging-live-status-meta b,
.accounting-tagging-integrated-more summary,
.accounting-tagging-basic-card--summary h4 {
    color: var(--ac-overview-text) !important;
}

.accounting-tagging-integrated-progress {
    background: color-mix(
        in srgb,
        var(--ac-overview-muted) 24%,
        transparent) !important;
}

.accounting-tagging-integrated-progress span {
    background: var(--ac-overview-accent) !important;
}

.accounting-tagging-live-indicator {
    background: var(--ac-overview-muted) !important;
}

.accounting-tagging-live-indicator.is-active {
    background: #2aa769 !important;
}

.accounting-tagging-integrated-more {
    background: color-mix(
        in srgb,
        var(--ac-overview-surface-muted) 88%,
        var(--ac-overview-accent)) !important;
}

.accounting-tagging-integrated-more summary:focus-visible {
    border-radius: 5px;
    outline: 2px solid var(--ac-overview-accent);
    outline-offset: -3px;
}

.accounting-tagging-basic-card,
.accounting-tagging-integrated-insight,
.accounting-tagging-integrated-jobs {
    background: var(--ac-overview-surface) !important;
    border-color: var(--ac-overview-border) !important;
    color: var(--ac-overview-text) !important;
}

.accounting-tagging-basic-table th {
    background: var(--ac-overview-soft) !important;
    box-shadow: 0 1px 0 var(--ac-overview-border) !important;
    color: var(--ac-overview-text) !important;
}

.accounting-tagging-basic-metrics div {
    background: var(--ac-overview-surface-muted) !important;
}

.accounting-tagging-basic-skeleton-title,
.accounting-tagging-basic-skeleton-line {
    background: color-mix(
        in srgb,
        var(--ac-overview-muted) 22%,
        transparent) !important;
}

.accounting-tagging-basic-skeleton::after {
    background: linear-gradient(
        100deg,
        transparent 15%,
        color-mix(in srgb, var(--ac-overview-accent) 16%, transparent) 45%,
        transparent 75%) !important;
}

.accounting-tagging-insight-link {
    text-decoration-color: color-mix(
        in srgb,
        var(--ac-overview-accent) 55%,
        transparent) !important;
}

.accounting-tagging-insight-link:hover {
    color: var(--ac-overview-accent) !important;
}

.accounting-tagging-insight-link:focus-visible,
.accounting-tagging-buy-scans:focus-visible,
.accounting-tagging-integrated-job-action:focus-visible,
.accounting-tagging-insights-refresh:focus-visible {
    outline: 2px solid var(--ac-overview-accent) !important;
    outline-offset: 2px !important;
}

.accounting-tagging-buy-scans,
.accounting-tagging-integrated-job-action {
    background: var(--ac-overview-soft) !important;
    border-color: color-mix(
        in srgb,
        var(--ac-overview-accent) 42%,
        var(--ac-overview-border)) !important;
    color: var(--ac-overview-accent) !important;
}

.accounting-tagging-buy-scans:hover,
.accounting-tagging-integrated-job-action:hover {
    background: color-mix(
        in srgb,
        var(--ac-overview-accent) 14%,
        var(--ac-overview-surface)) !important;
    color: var(--ac-overview-text) !important;
}

.accounting-tagging-scan-warning {
    background: color-mix(in srgb, #e49a23 14%, var(--ac-overview-surface)) !important;
    border-color: color-mix(in srgb, #e49a23 44%, var(--ac-overview-border)) !important;
    color: color-mix(in srgb, #b36c00 84%, var(--ac-overview-text)) !important;
}

.accounting-tagging-basic-error {
    background: color-mix(in srgb, #d84444 10%, var(--ac-overview-surface)) !important;
    border-color: color-mix(in srgb, #d84444 46%, var(--ac-overview-border)) !important;
    color: var(--ac-overview-text) !important;
}

.accounting-tagging-insights-toolbar {
    align-items: center;
    display: flex;
    gap: 12px;
    grid-column: 1 / -1;
    justify-content: flex-end;
    min-height: 34px;
}

.accounting-tagging-insights-toolbar > span {
    color: var(--ac-overview-muted);
    font-size: .62rem;
}

.accounting-tagging-insights-refresh {
    align-items: center;
    background: var(--ac-overview-surface);
    border: 1px solid var(--ac-overview-accent);
    border-radius: 7px;
    color: var(--ac-overview-accent);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .66rem;
    font-weight: 700;
    gap: 6px;
    min-height: 31px;
    padding: 6px 10px;
}

.accounting-tagging-insights-refresh svg {
    fill: none;
    height: 15px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 15px;
}

.accounting-tagging-insights-refresh:hover:not(:disabled) {
    background: var(--ac-overview-soft);
}

.accounting-tagging-insights-refresh:disabled {
    cursor: wait;
    opacity: .7;
}

.accounting-tagging-insights-refresh:disabled svg {
    animation: accounting-tagging-insight-spin .8s linear infinite;
}

@media (max-width: 560px) {
    .accounting-tagging-insights-toolbar {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .accounting-tagging-insights-refresh {
        justify-content: center;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .accounting-tagging-insights-refresh:disabled svg {
        animation: none;
    }
}

/* Step state remains explicit in every theme. Number-to-divider and
   divider-to-icon spacing share the same seven-pixel rhythm above. */
body .ac-workspace-import-steps > span[data-step-status]::after {
    background: var(--ac-config-surface-muted, #f2f5f6);
    border: 1px solid var(--ac-config-border, #d7e1e4);
    border-radius: 999px;
    color: var(--ac-config-muted, #687785);
    content: attr(data-step-status);
    font-size: .52rem;
    font-weight: 750;
    letter-spacing: .025em;
    line-height: 1;
    padding: 3px 6px;
    text-transform: uppercase;
}

body .ac-workspace-import-steps > span.is-active[data-step-status]::after {
    background: color-mix(
        in srgb,
        var(--ac-import-accent, var(--ac-config-accent, #168da3)) 12%,
        var(--ac-config-surface, #fff));
    border-color: var(--ac-import-accent, var(--ac-config-accent, #168da3));
    color: var(--ac-import-accent, var(--ac-config-accent, #168da3));
}

body .ac-workspace-import-steps > span.is-complete[data-step-status]::after {
    background: color-mix(
        in srgb,
        var(--ac-import-complete, #2aa769) 12%,
        var(--ac-config-surface, #fff));
    border-color: color-mix(
        in srgb,
        var(--ac-import-complete, #2aa769) 66%,
        var(--ac-config-border, #d7e1e4));
    color: var(--ac-import-complete, #2aa769);
}

body .ac-workspace-import-steps > span.is-locked[data-step-status]::after {
    opacity: .74;
}

@media (max-width: 760px) {
    body .ac-workspace-import-steps > span[data-step-status]::after {
        font-size: .5rem;
    }
}

/* Overview density follows the XAF Size Mode without allowing a long job
   message to stretch every metric tile. Standard is the fallback/default;
   Compact retains the original summary-strip proportions. */
.accounting-tagging-integrated-insights {
    --ac-overview-cell-padding: 8px 12px;
    --ac-overview-label-size: .72rem;
    --ac-overview-meta-size: .58rem;
    --ac-overview-small-size: .68rem;
    --ac-overview-strong-size: 1rem;
    --ac-overview-strip-height: 98px;
    min-height: var(--ac-overview-strip-height) !important;
}

body.xaf-size-s .accounting-tagging-integrated-insights {
    --ac-overview-cell-padding: 7px 10px;
    --ac-overview-label-size: .62rem;
    --ac-overview-meta-size: .52rem;
    --ac-overview-small-size: .62rem;
    --ac-overview-strong-size: .9rem;
    --ac-overview-strip-height: 82px;
}

body.xaf-size-l .accounting-tagging-integrated-insights {
    --ac-overview-cell-padding: 10px 14px;
    --ac-overview-label-size: .8rem;
    --ac-overview-meta-size: .65rem;
    --ac-overview-small-size: .75rem;
    --ac-overview-strong-size: 1.125rem;
    --ac-overview-strip-height: 108px;
}

.accounting-tagging-integrated-identity,
.accounting-tagging-integrated-stat {
    padding: var(--ac-overview-cell-padding) !important;
}

.accounting-tagging-integrated-stat {
    align-content: center !important;
    grid-template-rows: auto auto 4px auto !important;
    row-gap: 2px !important;
}

.accounting-tagging-ai-scan-stat {
    grid-template-rows: auto auto 4px auto auto !important;
}

.accounting-tagging-integrated-stat > span {
    font-size: var(--ac-overview-label-size) !important;
    line-height: 1.12 !important;
    min-height: 0 !important;
}

.accounting-tagging-integrated-stat strong,
.accounting-tagging-integrated-stat strong.status {
    font-size: var(--ac-overview-strong-size) !important;
    line-height: 1.05 !important;
}

.accounting-tagging-integrated-stat small {
    font-size: var(--ac-overview-small-size) !important;
    line-height: 1.2 !important;
}

.accounting-tagging-integrated-progress {
    align-self: center !important;
    margin-block: 1px !important;
}

.accounting-tagging-processing-panel .accounting-tagging-live-status {
    align-content: center !important;
    grid-template-rows: auto auto 4px auto auto !important;
    padding: var(--ac-overview-cell-padding) !important;
    row-gap: 2px !important;
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status
    > small {
    display: -webkit-box !important;
    line-height: 1.2 !important;
    max-height: 2.4em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status-heading {
    min-height: 0 !important;
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status-heading
    > b {
    font-size: var(--ac-overview-meta-size) !important;
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status-meta {
    gap: 1px 8px !important;
}

.accounting-tagging-processing-panel
    .accounting-tagging-live-status-meta
    > span {
    font-size: var(--ac-overview-meta-size) !important;
    line-height: 1.15 !important;
}

.accounting-tagging-processing-panel
    .accounting-tagging-integrated-controls {
    gap: 5px !important;
    padding: 8px !important;
}

.accounting-tagging-processing-panel
    .accounting-tagging-integrated-job-action {
    min-height: 32px !important;
    padding: 5px 8px !important;
}

@media (min-width: 1451px) {
    .accounting-tagging-integrated-insights {
        align-items: stretch !important;
    }
}

@media (min-width: 1181px) and (max-width: 1650px) {
    .accounting-tagging-integrated-insights {
        grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
    }

    .accounting-tagging-processing-panel {
        grid-column: span 2;
    }
}
