:root {
    --navy: #07315f;
    --green: #159b72;
    --orange: #ff7900;
    --red: #c83a32;
    --ink: #172033;
    --muted: #667085;
    --line: #d9e2ec;
    --soft: #f4f7fa;
}

html, body {
    background: #fff;
    color: var(--ink);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

a { color: var(--navy); text-decoration: none; }
a:hover { color: #0a4b8f; }

.btn-primary, .btn-primary:hover { background: var(--navy); border-color: var(--navy); }
.btn-success, .btn-success:hover { background: var(--green); border-color: var(--green); }
.btn-outline-primary { border-color: var(--navy); color: var(--navy); }

.brand {
    align-items: center;
    color: var(--navy);
    display: inline-flex;
    font-size: 1.35rem;
    font-weight: 800;
    gap: .65rem;
}

.brand-mark {
    align-items: center;
    background: #fff;
    border: 3px solid var(--navy);
    border-radius: 6px;
    color: var(--orange);
    display: inline-flex;
    font-size: .78rem;
    height: 42px;
    justify-content: center;
    width: 48px;
}

.site-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 10;
}

.site-header .inner, .section-inner {
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 1.25rem;
}

.site-header .inner {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    min-height: 76px;
}

.site-nav { display: flex; gap: 1rem; margin-left: auto; }
.header-actions { display: flex; gap: .75rem; }

.hero {
    background: linear-gradient(180deg, #fff 0%, #f7fafc 100%);
    padding: 5rem 0 3rem;
}

.hero-grid {
    align-items: center;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
}

.eyebrow {
    color: var(--green);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08rem;
    text-transform: uppercase;
}

.hero h1 {
    color: var(--navy);
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 1.05;
    max-width: 780px;
}

.lead {
    color: #435166;
    font-size: 1.18rem;
    max-width: 700px;
}

.hero-visual, .panel, .card-clean {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 14px 35px rgba(7,49,95,.08);
}

.hero-visual { padding: 1rem; }
.messy-row, .output-file {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
    margin-bottom: .6rem;
    padding: .65rem .75rem;
}
.output-file { background: #f8fbf9; border-color: #cbe8dc; }

.section { padding: 4rem 0; }
.section.alt { background: var(--soft); }
.section h2 { color: var(--navy); font-weight: 800; }
.cards-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.card-clean { padding: 1.25rem; }
.step-number {
    align-items: center;
    background: var(--navy);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.drop-zone {
    background: #fff;
    border: 2px dashed #9ab2ca;
    border-radius: 8px;
    cursor: pointer;
    padding: 2rem;
    position: relative;
    text-align: center;
}

.drop-zone input[type="file"],
.modal-dropzone input[type="file"] {
    cursor: pointer;
    display: block !important;
    height: 100%;
    inset: 0;
    opacity: 0;
    position: absolute;
    width: 100%;
    z-index: 5;
}

.drop-zone .btn,
.modal-dropzone .btn {
    pointer-events: none;
}

.drop-zone:hover,
.modal-dropzone:hover {
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(16, 163, 103, .08);
}

.footer { border-top: 1px solid var(--line); color: var(--muted); padding: 2rem 0; }

.app-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; }
.app-sidebar { background: var(--navy); color: #fff; padding: 1rem; }
.app-sidebar .brand { color: #fff; font-size: 1rem; margin-bottom: 1.5rem; }
.app-sidebar nav { display: grid; gap: .35rem; }
.app-sidebar nav a { border-radius: 6px; color: #dce8f4; padding: .7rem .8rem; }
.app-sidebar nav a:hover { background: rgba(255,255,255,.1); color: #fff; }
.app-main { background: #f6f8fb; min-width: 0; }
.app-topbar {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    min-height: 64px;
    padding: 0 1.25rem;
}
.client-select { max-width: 220px; }
.app-content { padding: 1.5rem; }
.page-title { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin-bottom: 1.25rem; }
.panel { padding: 1.25rem; }
.metric { color: var(--navy); font-size: 1.8rem; font-weight: 800; }
.badge-blocking { background: var(--red); color: #fff; }
.badge-warning { background: var(--orange); color: #172033; }
.badge-info-soft { background: #d8ecff; color: var(--navy); }
.table thead th { color: var(--muted); font-size: .8rem; text-transform: uppercase; }

/* Public report / anonymous analysis */
.report-page {
    background: linear-gradient(180deg, #fff 0%, #f6f8fb 100%);
    min-height: calc(100vh - 76px);
    padding: 3rem 0 4rem;
}

.report-shell {
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 1.25rem;
}

.report-header {
    align-items: flex-start;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin-bottom: 1.75rem;
}

.report-header h1 {
    color: var(--navy);
    font-size: clamp(2.4rem, 5vw, 3.4rem);
    font-weight: 850;
    letter-spacing: 0;
    margin: 0 0 .35rem;
}

.report-header p,
.report-card p,
.report-summary-card p {
    color: #526179;
    margin: 0;
}

.report-header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    justify-content: flex-end;
}

.report-status-badge {
    align-items: center;
    border: 1px solid;
    border-radius: 8px;
    display: inline-flex;
    font-weight: 800;
    gap: .6rem;
    padding: .8rem 1rem;
    white-space: nowrap;
}

.report-status-badge span {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.report-status-badge.is-blocked {
    background: #fff1f0;
    border-color: #fecaca;
    color: #b42318;
}

.report-status-badge.is-blocked span {
    background: #dc2626;
    color: #fff;
}

.report-status-badge.is-ready {
    background: #ecfdf3;
    border-color: #bbf7d0;
    color: #067647;
}

.report-status-badge.is-ready span {
    background: #16a34a;
    color: #fff;
}

.report-primary-cta {
    min-width: 210px;
    padding: .85rem 1.1rem;
}

.report-card,
.report-summary-card,
.report-cta-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(7, 49, 95, .08);
    margin-bottom: 1.25rem;
    padding: 1.35rem;
}

.report-summary-card {
    align-items: center;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr);
}

.report-summary-card.is-blocked {
    background: linear-gradient(90deg, #fff5f5 0%, #fff 100%);
    border-color: #fecaca;
}

.report-summary-card.is-warning {
    background: linear-gradient(90deg, #fff7ed 0%, #fff 100%);
    border-color: #fed7aa;
}

.report-summary-card.is-ready {
    background: linear-gradient(90deg, #ecfdf3 0%, #fff 100%);
    border-color: #bbf7d0;
}

.report-summary-main {
    align-items: center;
    display: flex;
    gap: 1.1rem;
}

.report-summary-icon {
    align-items: center;
    background: #dc2626;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 2rem;
    font-weight: 900;
    height: 72px;
    justify-content: center;
    width: 72px;
}

.report-summary-card.is-ready .report-summary-icon {
    background: #16a34a;
}

.report-summary-main h2 {
    color: var(--navy);
    font-size: 1.75rem;
    font-weight: 850;
    margin: 0 .0 .3rem;
}

.report-summary-metrics {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.report-summary-metrics div {
    border-left: 1px solid #e1e8f0;
    padding: .35rem .7rem;
    text-align: center;
}

.report-summary-metrics strong {
    color: var(--navy);
    display: block;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.report-summary-card.is-blocked .report-summary-metrics div:first-child strong {
    color: #dc2626;
}

.report-summary-card.is-warning .report-summary-metrics div:nth-child(2) strong {
    color: var(--orange);
}

.report-summary-metrics span {
    color: var(--navy);
    display: block;
    font-weight: 800;
    margin-top: .35rem;
}

.report-summary-metrics small {
    color: #667085;
    display: block;
    font-size: .82rem;
}

.report-section-heading {
    margin-bottom: 1.1rem;
}

.report-section-heading h2,
.report-card-header h2,
.report-success-checklist h2 {
    color: var(--navy);
    font-size: 1.35rem;
    font-weight: 850;
    margin: 0 .0 .3rem;
}

.issue-category-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.issue-category-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .75rem;
    min-height: 220px;
    padding: 1rem;
}

.issue-category-card.is-blocking {
    border-color: #fecaca;
}

.issue-category-card.is-warning {
    border-color: #fed7aa;
}

.issue-category-card.is-info {
    border-color: #bfdbfe;
}

.issue-category-top {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.issue-category-icon {
    align-items: center;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.issue-category-card.is-blocking .issue-category-icon {
    background: #dc2626;
}

.issue-category-card.is-warning .issue-category-icon {
    background: #f97316;
}

.issue-category-card.is-info .issue-category-icon {
    background: #0b69c7;
}

.issue-category-card h3 {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 850;
    margin: 0;
}

.issue-category-card p {
    font-size: .95rem;
    line-height: 1.55;
}

.issue-category-card > strong {
    color: var(--navy);
    font-size: .95rem;
}

.issue-category-card a {
    align-self: end;
    color: #0b69c7;
    font-weight: 800;
}

.severity-pill {
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 850;
    padding: .35rem .6rem;
}

.severity-pill.is-blocking {
    background: #fee2e2;
    color: #b42318;
}

.severity-pill.is-warning {
    background: #ffedd5;
    color: #c2410c;
}

.severity-pill.is-info {
    background: #dbeafe;
    color: #0b4f9c;
}

.report-two-column {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
}

.report-card-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.report-card-header > span {
    background: #eef4ff;
    border-radius: 999px;
    color: #475467;
    font-weight: 750;
    padding: .35rem .65rem;
}

.report-preview-table {
    border-collapse: collapse;
    width: 100%;
}

.report-preview-table th {
    color: #667085;
    font-size: .78rem;
    font-weight: 850;
    padding: .75rem;
    text-transform: uppercase;
}

.report-preview-table td {
    border-top: 1px solid #edf2f7;
    color: #172033;
    padding: .8rem .75rem;
    vertical-align: middle;
}

.row-status-pill {
    border-radius: 999px;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 850;
    padding: .3rem .55rem;
    white-space: nowrap;
}

.row-status-pill.is-ok {
    background: #dcfce7;
    color: #067647;
}

.row-status-pill.is-blocking {
    background: #fee2e2;
    color: #b42318;
}

.row-status-pill.is-warning {
    background: #ffedd5;
    color: #c2410c;
}

.row-status-pill.is-info {
    background: #dbeafe;
    color: #0b4f9c;
}

.locked-notice {
    align-items: center;
    background: #f8fafc;
    border-radius: 8px;
    display: flex;
    gap: .5rem;
    margin-top: 1rem !important;
    padding: .8rem;
}

.detected-column-list {
    display: grid;
    gap: .35rem;
}

.detected-column-list div {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    padding: .65rem 0;
}

.detected-column-list span {
    align-items: center;
    color: #344054;
    display: inline-flex;
    gap: .5rem;
}

.detected-column-list strong {
    color: var(--navy);
}

.green-check {
    align-items: center;
    background: #16a34a;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 900;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.detected-column-footer {
    align-items: center;
    background: #ecfdf3;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    color: #067647;
    display: flex;
    font-weight: 850;
    gap: .6rem;
    margin-top: 1rem;
    padding: .8rem;
}

.finding-list {
    display: grid;
    gap: .65rem;
}

.finding-list div {
    align-items: center;
    border: 1px solid #edf2f7;
    border-radius: 8px;
    display: grid;
    gap: .65rem;
    grid-template-columns: auto minmax(160px, .7fr) minmax(0, 1fr);
    padding: .75rem;
}

.severity-dot {
    border-radius: 999px;
    display: inline-block;
    height: 12px;
    width: 12px;
}

.severity-dot.is-blocking { background: #dc2626; }
.severity-dot.is-warning { background: #f97316; }
.severity-dot.is-info { background: #0b69c7; }

.locked-content-card {
    background: #f0f6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #0b4f9c;
    font-weight: 800;
    margin-top: 1rem;
    padding: 1rem;
}

.report-export-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.report-export-card {
    align-items: flex-start;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: flex;
    gap: .8rem;
    padding: 1rem;
}

.export-icon {
    align-items: center;
    background: #ecfdf3;
    border-radius: 8px;
    color: #159b72;
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.report-export-card h3 {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 850;
    margin: 0 0 .3rem;
}

.report-export-card p {
    font-size: .9rem;
    margin-bottom: .8rem;
}

.report-export-card small {
    color: #667085;
    display: block;
    margin-top: .45rem;
}

.report-cta-card {
    align-items: center;
    background: linear-gradient(90deg, #eef7ff 0%, #fff 100%);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.report-cta-visual {
    align-items: center;
    background: #fff;
    border-radius: 18px;
    color: var(--navy);
    display: flex;
    font-weight: 900;
    gap: .4rem;
    height: 84px;
    justify-content: center;
    width: 118px;
}

.report-cta-visual span {
    border: 2px solid #9ccdf5;
    border-radius: 8px;
    padding: .75rem .55rem;
}

.report-cta-card h2 {
    color: var(--navy);
    font-size: 1.7rem;
    font-weight: 850;
    margin: 0 0 .35rem;
}

.report-cta-actions {
    display: grid;
    gap: .7rem;
    min-width: 300px;
}

.report-cta-actions .btn {
    padding: .95rem 1.25rem;
}

.report-cta-actions small {
    color: #667085;
    text-align: center;
}

.report-success-checklist {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

.success-check-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.success-check-grid div {
    align-items: center;
    display: flex;
    gap: .65rem;
}

.success-check-grid span {
    align-items: center;
    border: 2px solid #16a34a;
    border-radius: 999px;
    color: #16a34a;
    display: inline-flex;
    font-weight: 900;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.success-check-grid strong {
    color: var(--navy);
}

@media (max-width: 980px) {
    .report-header,
    .report-summary-card,
    .report-cta-card,
    .report-success-checklist {
        grid-template-columns: 1fr;
    }

    .report-header {
        display: grid;
    }

    .report-header-actions {
        justify-content: flex-start;
    }

    .report-summary-metrics,
    .issue-category-grid,
    .report-two-column,
    .report-export-grid,
    .success-check-grid {
        grid-template-columns: 1fr;
    }

    .report-summary-metrics div {
        border-left: 0;
        border-top: 1px solid #e1e8f0;
    }

    .finding-list div {
        grid-template-columns: auto 1fr;
    }

    .finding-list div span:last-child {
        grid-column: 2;
    }
}

@media (max-width: 860px) {
    .hero-grid, .app-shell { grid-template-columns: 1fr; }
    .site-nav { display: none; }
    .site-header .inner { flex-wrap: wrap; padding: .75rem 1.25rem; }
    .header-actions { width: 100%; }
}

/* Landing page polish */
.btn {
    border-radius: 8px;
    font-weight: 700;
}

.btn-success {
    box-shadow: 0 10px 24px rgba(21, 155, 114, .2);
}

.site-header {
    backdrop-filter: blur(12px);
}

.site-nav a {
    color: var(--navy);
    font-size: .95rem;
    font-weight: 650;
}

.header-actions {
    align-items: center;
}

.header-upload {
    padding-left: 1rem;
    padding-right: 1rem;
}

.header-login {
    background: #fff;
}

.hero {
    overflow: hidden;
    padding: 3.25rem 0 4rem;
}

.hero::before {
    background:
        linear-gradient(90deg, rgba(21,155,114,.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(7,49,95,.05) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
    inset: 76px 0 auto 0;
    height: 360px;
    opacity: .45;
    pointer-events: none;
    position: absolute;
}

.hero-grid {
    gap: 3rem;
    grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr);
    position: relative;
}

.hero-copy {
    padding: 1.5rem 0;
}

.hero h1 {
    font-weight: 850;
    letter-spacing: 0;
    margin: .8rem 0 1rem;
}

.lead {
    line-height: 1.7;
}

.trust-line {
    align-items: center;
    color: #536176;
    display: flex;
    font-size: .95rem;
    gap: .55rem;
}

.check-dot {
    align-items: center;
    background: var(--green);
    border-radius: 999px;
    display: inline-flex;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.check-dot::after {
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    height: 9px;
    transform: rotate(45deg) translate(-1px, -1px);
    width: 5px;
}

.hero-transform {
    display: grid;
    gap: .75rem;
    position: relative;
}

.flow-panel {
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 22px 50px rgba(7,49,95,.11);
    padding: 1rem;
}

.input-panel {
    border-color: rgba(255,121,0,.35);
}

.issues-panel {
    border-color: rgba(255,121,0,.4);
    background: #fffaf2;
}

.output-panel {
    border-color: rgba(21,155,114,.34);
    background: #f7fffb;
}

.flow-heading {
    align-items: center;
    color: var(--navy);
    display: flex;
    gap: .6rem;
    margin-bottom: .7rem;
}

.flow-step {
    align-items: center;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 800;
    height: 25px;
    justify-content: center;
    width: 25px;
}

.flow-step.warning { background: var(--orange); }
.flow-step.success { background: var(--green); }

.flow-arrow {
    height: 28px;
    position: relative;
}

.flow-arrow::before {
    background: var(--navy);
    content: "";
    height: 28px;
    left: 50%;
    opacity: .9;
    position: absolute;
    transform: translateX(-50%);
    width: 6px;
}

.flow-arrow::after {
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid var(--navy);
    content: "";
    left: 50%;
    position: absolute;
    top: 18px;
    transform: translateX(-50%);
}

.mini-table-wrap {
    overflow-x: auto;
}

.mini-table {
    border: 1px solid var(--line);
    border-collapse: separate;
    border-radius: 8px;
    border-spacing: 0;
    font-size: .78rem;
    min-width: 620px;
    overflow: hidden;
    width: 100%;
}

.mini-table th,
.mini-table td {
    border-bottom: 1px solid #e8eef4;
    padding: .55rem .62rem;
    white-space: nowrap;
}

.mini-table tr:last-child td {
    border-bottom: 0;
}

.mini-table th {
    background: #f7f9fc;
    color: var(--navy);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.hero-input-table {
    min-width: 660px;
}

.chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .75rem;
}

.status-chip {
    border-radius: 999px;
    display: inline-flex;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    padding: .35rem .5rem;
}

.chip-red {
    background: #ffe9e6;
    color: var(--red);
}

.chip-orange {
    background: #fff0db;
    color: #a34b00;
}

.chip-green {
    background: #e2f7ed;
    color: #09724e;
}

.source-type-chip,
.source-type-selected {
    align-items: center;
    border: 1px solid #cdddf2;
    border-radius: 999px;
    color: var(--navy);
    display: inline-flex;
    gap: .45rem;
    font-size: .78rem;
    font-weight: 800;
    padding: .32rem .55rem;
    vertical-align: middle;
}

.source-type-selected {
    background: #f7fbff;
    border-radius: 12px;
    font-size: .9rem;
    padding: .65rem .75rem;
}

.source-type-selected small {
    color: #536176;
    display: block;
    font-weight: 600;
    margin-top: .1rem;
}

.source-type-icon {
    align-items: center;
    background: #e2f7ed;
    border-radius: 9px;
    color: var(--green);
    display: inline-flex;
    flex: 0 0 1.8rem;
    height: 1.8rem;
    justify-content: center;
    width: 1.8rem;
}

.source-type-icon::before {
    content: "CSV";
    font-size: .58rem;
    font-weight: 900;
}

.source-icon-shopify::before,
.source-icon-woocommerce::before { content: "ORD"; }
.source-icon-bol::before,
.source-icon-amazon::before { content: "MKT"; }
.source-icon-exact::before,
.source-icon-afas::before { content: "INV"; }
.source-icon-warehouse::before { content: "BOX"; }
.source-icon-product-master::before { content: "REF"; }
.source-icon-other::before { content: "?"; }

.issue-stats {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.issue-stat {
    align-items: center;
    background: #fff;
    border: 1px solid #eadcc6;
    border-radius: 8px;
    display: grid;
    justify-items: center;
    min-height: 94px;
    padding: .75rem .5rem;
    text-align: center;
}

.issue-stat strong {
    color: #e45c00;
    font-size: 1.8rem;
    line-height: 1;
}

.issue-stat span:last-child {
    color: #4d5b6e;
    font-size: .75rem;
    line-height: 1.2;
}

.stat-icon,
.workflow-icon,
.icon-box,
.line-icon,
.upload-cloud,
.lock-icon {
    display: inline-block;
    position: relative;
}

.stat-icon {
    height: 22px;
    width: 28px;
}

.stat-icon::before,
.stat-icon::after {
    content: "";
    position: absolute;
}

.icon-barcode::before {
    background: repeating-linear-gradient(90deg, var(--orange) 0 2px, transparent 2px 5px);
    height: 20px;
    left: 2px;
    top: 1px;
    width: 24px;
}

.icon-link::before {
    border: 3px solid var(--orange);
    border-radius: 8px;
    height: 13px;
    left: 3px;
    top: 5px;
    transform: rotate(-35deg);
    width: 17px;
}

.icon-link::after {
    border: 3px solid var(--orange);
    border-radius: 8px;
    height: 13px;
    left: 10px;
    top: 2px;
    transform: rotate(-35deg);
    width: 17px;
}

.icon-weight::before {
    border: 3px solid var(--orange);
    border-radius: 5px 5px 9px 9px;
    bottom: 0;
    height: 18px;
    left: 4px;
    width: 20px;
}

.icon-weight::after {
    border: 3px solid var(--orange);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    height: 9px;
    left: 9px;
    top: 0;
    width: 10px;
}

.icon-warning::before {
    border-bottom: 24px solid var(--orange);
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    height: 0;
    left: 1px;
    top: 0;
    width: 0;
}

.hero-output-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hero-output-card {
    align-items: center;
    background: #fff;
    border: 1px solid #cfe9dc;
    border-radius: 8px;
    display: grid;
    gap: .45rem;
    justify-items: center;
    min-height: 104px;
    padding: .75rem .5rem;
    text-align: center;
}

.hero-output-card strong {
    color: var(--navy);
    font-size: .76rem;
    line-height: 1.2;
}

.ready-label {
    color: var(--green);
    font-size: .78rem;
    font-weight: 800;
}

.ready-label::after {
    border-bottom: 2px solid var(--green);
    border-right: 2px solid var(--green);
    content: "";
    display: inline-block;
    height: 8px;
    margin-left: .35rem;
    transform: rotate(45deg);
    width: 4px;
}

.cards-grid {
    gap: 1.25rem;
}

.card-clean {
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(7,49,95,.07);
}

.problem-card,
.audience-card {
    min-height: 210px;
}

.problem-card h3,
.audience-card h3,
.output-card h3 {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 800;
    margin: .85rem 0 .55rem;
}

.problem-card p,
.audience-card p,
.output-card p {
    color: #536176;
    line-height: 1.55;
    margin: 0;
}

.icon-box {
    background: #f3f8fb;
    border-radius: 16px;
    height: 64px;
    width: 64px;
}

.icon-box::before,
.icon-box::after {
    content: "";
    position: absolute;
}

.icon-spreadsheet::before {
    border: 3px solid var(--green);
    border-radius: 5px;
    height: 42px;
    left: 12px;
    top: 10px;
    width: 40px;
}

.icon-spreadsheet::after {
    background:
        linear-gradient(var(--green), var(--green)) 0 0/32px 4px no-repeat,
        repeating-linear-gradient(90deg, #dce8f4 0 1px, transparent 1px 10px),
        repeating-linear-gradient(0deg, #dce8f4 0 1px, transparent 1px 10px);
    height: 26px;
    left: 16px;
    top: 20px;
    width: 32px;
}

.icon-tag::before {
    background: var(--navy);
    border-radius: 8px 8px 8px 2px;
    height: 38px;
    left: 15px;
    top: 14px;
    transform: rotate(-38deg);
    width: 38px;
}

.icon-tag::after {
    background: #fff;
    border-radius: 999px;
    height: 7px;
    left: 25px;
    top: 22px;
    width: 7px;
}

.icon-documents::before {
    border: 3px solid var(--navy);
    border-radius: 4px;
    height: 42px;
    left: 13px;
    top: 10px;
    width: 31px;
}

.icon-documents::after {
    background: repeating-linear-gradient(0deg, var(--green) 0 4px, transparent 4px 9px);
    border-radius: 999px 999px 4px 4px;
    height: 32px;
    left: 39px;
    top: 24px;
    width: 16px;
}

.icon-clock::before {
    border: 3px solid var(--navy);
    border-radius: 999px;
    height: 44px;
    left: 10px;
    top: 9px;
    width: 44px;
}

.icon-clock::after {
    background: var(--red);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    height: 23px;
    left: 38px;
    top: 34px;
    width: 25px;
}

.before-after-section {
    background: #fff;
    border-top: 1px solid var(--line);
}

.before-after-grid {
    align-items: center;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
}

.comparison-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(7,49,95,.08);
    padding: 1rem;
}

.comparison-card h3 {
    font-size: 1rem;
    font-weight: 850;
    margin-bottom: .9rem;
}

.before-card {
    border: 1px solid rgba(200,58,50,.26);
}

.before-card h3 {
    color: var(--red);
}

.after-card {
    border: 1px solid rgba(21,155,114,.35);
}

.after-card h3 {
    color: var(--green);
}

.comparison-arrow {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(7,49,95,.1);
    height: 48px;
    position: relative;
    width: 48px;
}

.comparison-arrow::before {
    background: var(--navy);
    content: "";
    height: 4px;
    left: 13px;
    position: absolute;
    top: 22px;
    width: 20px;
}

.comparison-arrow::after {
    border-right: 4px solid var(--navy);
    border-top: 4px solid var(--navy);
    content: "";
    height: 12px;
    left: 27px;
    position: absolute;
    top: 18px;
    transform: rotate(45deg);
    width: 12px;
}

.workflow-grid {
    display: grid;
    gap: 4rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: relative;
}

.workflow-grid::before {
    border-top: 3px dashed var(--green);
    content: "";
    left: 18%;
    opacity: .75;
    position: absolute;
    right: 18%;
    top: 50%;
}

.workflow-card {
    min-height: 178px;
    position: relative;
    z-index: 1;
}

.workflow-icon {
    background: #f1f8f5;
    border-radius: 999px;
    height: 70px;
    width: 70px;
}

.workflow-icon::before,
.workflow-icon::after {
    content: "";
    position: absolute;
}

.icon-upload::before,
.icon-download::before {
    border: 4px solid var(--green);
    border-top: 0;
    height: 17px;
    left: 21px;
    top: 34px;
    width: 28px;
}

.icon-upload::after {
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 10px solid var(--navy);
    left: 28px;
    top: 17px;
}

.icon-download::after {
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 10px solid var(--navy);
    left: 28px;
    top: 25px;
}

.icon-search::before {
    border: 5px solid var(--navy);
    border-radius: 999px;
    height: 30px;
    left: 17px;
    top: 15px;
    width: 30px;
}

.icon-search::after {
    background: var(--green);
    height: 20px;
    left: 43px;
    top: 42px;
    transform: rotate(45deg);
    width: 5px;
}

.workflow-card .step-number {
    background: var(--green);
    bottom: auto;
    left: auto;
    position: absolute;
    right: 1.1rem;
    top: 1.1rem;
}

.output-grid {
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
}

.output-card {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 118px;
}

.file-icon {
    align-items: end;
    background: #fff;
    border: 3px solid var(--green);
    border-radius: 4px;
    color: var(--green);
    display: inline-flex;
    font-size: .68rem;
    font-weight: 900;
    height: 48px;
    justify-content: center;
    line-height: 1;
    padding-bottom: .35rem;
    position: relative;
    width: 38px;
}

.file-icon::before {
    border-bottom: 12px solid transparent;
    border-left: 12px solid var(--green);
    content: "";
    position: absolute;
    right: -3px;
    top: -3px;
}

.file-icon.pdf {
    border-color: #df1d1d;
    color: #df1d1d;
}

.file-icon.pdf::before {
    border-left-color: #df1d1d;
}

.audience-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.icon-bottles::before {
    border: 4px solid var(--green);
    border-radius: 13px 13px 6px 6px;
    height: 48px;
    left: 12px;
    top: 9px;
    width: 20px;
}

.icon-bottles::after {
    border: 3px solid var(--green);
    border-radius: 11px 11px 5px 5px;
    height: 39px;
    left: 37px;
    top: 18px;
    width: 15px;
}

.icon-bottle::before {
    background: var(--green);
    border-radius: 14px 14px 7px 7px;
    height: 48px;
    left: 22px;
    top: 9px;
    width: 20px;
}

.icon-cart::before {
    border-bottom: 5px solid var(--green);
    border-left: 4px solid var(--green);
    height: 28px;
    left: 12px;
    top: 16px;
    transform: skew(-12deg);
    width: 42px;
}

.icon-cart::after {
    background: radial-gradient(circle at 8px 8px, var(--navy) 0 5px, transparent 6px), radial-gradient(circle at 33px 8px, var(--navy) 0 5px, transparent 6px);
    height: 18px;
    left: 12px;
    top: 45px;
    width: 48px;
}

.icon-person::before {
    background: var(--green);
    border-radius: 999px;
    height: 21px;
    left: 21px;
    top: 10px;
    width: 21px;
}

.icon-person::after {
    background: var(--green);
    border-radius: 22px 22px 6px 6px;
    height: 28px;
    left: 13px;
    top: 34px;
    width: 38px;
}

.trust-band {
    background: linear-gradient(135deg, #052548 0%, var(--navy) 58%, #084673 100%);
    color: #fff;
    padding: 3rem 0;
}

.trust-grid {
    align-items: center;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.6fr);
}

.trust-band h2 {
    color: #fff;
    font-weight: 850;
}

.trust-band p {
    color: #d9e8f7;
    line-height: 1.65;
    margin: 0;
}

.trust-points {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trust-point {
    align-items: center;
    border-left: 1px solid rgba(255,255,255,.28);
    display: grid;
    gap: .75rem;
    justify-items: center;
    min-height: 122px;
    padding: .8rem 1rem;
    text-align: center;
}

.trust-detail-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.trust-detail-card h3 {
    font-size: 1rem;
    margin-bottom: .5rem;
}

.trust-detail-card p {
    color: var(--muted);
    margin: 0;
}

.line-icon {
    border: 3px solid #fff;
    border-radius: 999px;
    height: 46px;
    width: 46px;
}

.line-icon::before,
.line-icon::after {
    content: "";
    position: absolute;
}

.icon-check-line::before {
    border-bottom: 4px solid #fff;
    border-right: 4px solid #fff;
    height: 23px;
    left: 15px;
    top: 7px;
    transform: rotate(45deg);
    width: 12px;
}

.icon-refresh-line::before {
    border: 3px solid #fff;
    border-left-color: transparent;
    border-radius: 999px;
    height: 31px;
    left: 5px;
    top: 5px;
    width: 31px;
}

.icon-refresh-line::after {
    border-left: 8px solid #fff;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    left: 30px;
    top: 6px;
}

.icon-shield-line {
    border-radius: 10px 10px 18px 18px;
}

.icon-shield-line::before {
    border-bottom: 4px solid #fff;
    border-right: 4px solid #fff;
    height: 18px;
    left: 16px;
    top: 9px;
    transform: rotate(45deg);
    width: 10px;
}

.icon-file-line {
    border-radius: 5px;
}

.icon-file-line::before {
    background: repeating-linear-gradient(0deg, #fff 0 3px, transparent 3px 8px);
    height: 22px;
    left: 12px;
    top: 12px;
    width: 20px;
}

.final-cta-section {
    background: linear-gradient(180deg, #fff 0%, #f7fafc 100%);
    padding-bottom: 2rem;
}

.final-cta {
    margin: 0 auto;
    max-width: 980px;
    text-align: center;
}

.final-cta h2 {
    color: var(--navy);
    font-weight: 850;
}

.final-cta > p {
    color: #536176;
    line-height: 1.65;
    margin: .5rem auto 0;
    max-width: 760px;
}

.final-drop {
    align-items: center;
    border-color: var(--green);
    border-radius: 16px;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 90px minmax(220px, 1fr) minmax(260px, 1.2fr);
    padding: 1.5rem;
}

.upload-cloud {
    height: 60px;
    width: 72px;
}

.upload-cloud::before {
    border: 4px solid var(--navy);
    border-radius: 30px;
    bottom: 8px;
    content: "";
    height: 34px;
    left: 8px;
    position: absolute;
    width: 56px;
}

.upload-cloud::after {
    border-bottom: 4px solid var(--green);
    border-right: 4px solid var(--green);
    content: "";
    height: 18px;
    left: 30px;
    position: absolute;
    top: 25px;
    transform: rotate(225deg);
    width: 18px;
}

.final-drop-main {
    display: grid;
    gap: .45rem;
    justify-items: start;
    text-align: left;
}

.final-drop-main span {
    color: #667085;
    font-size: .85rem;
}

.source-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
}

.source-chips span {
    background: #fff;
    border: 1px solid #aabbd0;
    border-radius: 6px;
    color: var(--navy);
    font-size: .78rem;
    font-weight: 750;
    padding: .45rem .6rem;
}

.privacy-line {
    align-items: center;
    display: flex;
    gap: .45rem;
    justify-content: center;
    margin-top: 1rem;
}

.lock-icon {
    border: 2px solid var(--navy);
    border-radius: 3px;
    height: 14px;
    width: 13px;
}

.lock-icon::before {
    border: 2px solid var(--navy);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    content: "";
    height: 9px;
    left: 1px;
    position: absolute;
    top: -8px;
    width: 11px;
}

@media (max-width: 1100px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-copy {
        max-width: 820px;
    }
}

@media (max-width: 900px) {
    .issue-stats,
    .hero-output-grid,
    .trust-points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .before-after-grid,
    .trust-grid,
    .final-drop {
        grid-template-columns: 1fr;
    }

    .comparison-arrow {
        justify-self: center;
        transform: rotate(90deg);
    }

    .workflow-grid {
        gap: 1rem;
        grid-template-columns: 1fr;
    }

    .workflow-grid::before {
        display: none;
    }

    .source-chips,
    .final-drop-main {
        justify-content: center;
        justify-items: center;
        text-align: center;
    }
}

@media (max-width: 560px) {
    .hero {
        padding-top: 2rem;
    }

    .hero h1 {
        font-size: 2.25rem;
    }

    .issue-stats,
    .hero-output-grid,
    .trust-points {
        grid-template-columns: 1fr;
    }

    .site-header .inner {
        align-items: flex-start;
    }

    .header-actions .btn {
        flex: 1;
    }
}

/* Controle workspace */
.workspace-page {
    padding-bottom: 5.5rem;
}

.workspace-action-heartbeat {
    align-items: center;
    background: #eef7ff;
    border: 1px solid #cfe0f5;
    border-radius: 10px;
    color: var(--navy);
    display: inline-flex;
    font-size: .85rem;
    font-weight: 800;
    margin-bottom: .75rem;
    padding: .45rem .7rem;
}

.workspace-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.workspace-header h1 {
    color: var(--navy);
    font-weight: 850;
    margin: 0;
}

.workspace-header p {
    color: #4d5b6e;
    margin: .25rem 0 0;
}

.workspace-period-control {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .75rem;
}

.workspace-period-control label {
    color: var(--navy);
    font-size: .82rem;
    font-weight: 800;
}

.workspace-period-control input {
    max-width: 9.5rem;
}

.workspace-period-control small {
    color: #4d5b6e;
    font-weight: 700;
}

.workspace-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.scan-active .wand-icon {
    animation: wand-rotate .7s ease both;
}

@keyframes wand-rotate {
    0% { transform: rotate(-38deg); }
    55% { transform: rotate(38deg); }
    100% { transform: rotate(-38deg); }
}

.wand-icon {
    border-bottom: 3px solid #fff;
    display: inline-block;
    height: 18px;
    margin-right: .45rem;
    position: relative;
    transform: rotate(-38deg);
    width: 18px;
}

.wand-icon::before,
.wand-icon::after {
    background: #fff;
    content: "";
    height: 3px;
    position: absolute;
    width: 3px;
}

.wand-icon::before { left: -6px; top: -4px; }
.wand-icon::after { right: -6px; top: 8px; }

.workspace-grid {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: 280px minmax(520px, 1fr) 360px;
}

.workspace-grid.simplified {
    grid-template-columns: 260px minmax(500px, 1fr) 340px;
}

.workspace-left,
.workspace-center,
.workspace-right {
    display: grid;
    gap: 1rem;
}

.workspace-right {
    position: sticky;
    top: 84px;
}

.workspace-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(7,49,95,.07);
    padding: 1rem;
}

.workspace-card h2 {
    color: var(--navy);
    font-size: 1.05rem;
    font-weight: 850;
    margin: 0;
}

.workspace-card-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.workspace-card-header p {
    color: #667085;
    font-size: .88rem;
    margin: .15rem 0 0;
}

.workspace-card-header.compact {
    margin-bottom: .75rem;
}

.workspace-filter {
    max-width: 150px;
}

.workspace-progress {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.workspace-progress-step {
    color: var(--navy);
    display: grid;
    gap: .5rem;
    position: relative;
}

.workspace-progress-step::before {
    background: #d8e1eb;
    content: "";
    height: 3px;
    left: 28px;
    position: absolute;
    right: -12px;
    top: 13px;
}

.workspace-progress-step:last-child::before {
    display: none;
}

.workspace-progress-step span {
    align-items: center;
    background: #fff;
    border: 2px solid #9aa9bc;
    border-radius: 999px;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 850;
    height: 28px;
    justify-content: center;
    position: relative;
    width: 28px;
    z-index: 1;
}

.workspace-progress-step strong {
    font-size: .78rem;
    line-height: 1.25;
}

.workspace-progress-step.is-completed span,
.workspace-progress-step.is-completed::before {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
}

.workspace-progress-step.is-running span {
    border-color: #2689db;
    color: #2689db;
}

.workspace-progress-step.is-warning span {
    border-color: var(--orange);
    color: var(--orange);
}

.workspace-progress-step.is-blocking span {
    border-color: var(--red);
    color: var(--red);
}

.activity-feed {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    margin-bottom: 1rem;
    padding: .75rem;
}

.activity-item {
    align-items: start;
    display: flex;
    gap: .55rem;
}

.activity-state {
    border-radius: 999px;
    height: 9px;
    margin-top: .35rem;
    width: 9px;
}

.activity-info .activity-state { background: var(--green); }
.activity-warning .activity-state { background: var(--orange); }
.activity-blocking .activity-state { background: var(--red); }

.activity-item strong {
    color: var(--navy);
    display: block;
    font-size: .82rem;
}

.activity-item small {
    color: #667085;
    font-size: .72rem;
}

.workspace-table {
    font-size: .82rem;
}

.workspace-table td,
.workspace-table th {
    padding: .65rem .45rem;
}

.workspace-table .form-check-input {
    width: 18px;
    height: 18px;
    margin: 0;
    border: 2px solid #8aa2bd;
    border-radius: 5px;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(11, 49, 95, .08);
    cursor: pointer;
}

.workspace-table .form-check-input:checked {
    background-color: #0b5fc4;
    border-color: #0b5fc4;
}

.workspace-table .form-check-input:disabled {
    border-color: #cbd5e1;
    background-color: #f8fafc;
    cursor: not-allowed;
    opacity: 1;
}

.status-dot {
    border: 2px solid #9aa9bc;
    border-radius: 999px;
    display: inline-block;
    height: 13px;
    width: 13px;
}

.status-dot.success {
    background: var(--green);
    border-color: var(--green);
}

.status-dot.warning {
    background: var(--orange);
    border-color: var(--orange);
}

.status-dot.danger {
    background: var(--red);
    border-color: var(--red);
}

.workspace-link {
    color: #075fb3;
    display: inline-flex;
    font-weight: 800;
    margin-top: .75rem;
}

.button-link {
    align-items: center;
    background: transparent;
    border: 0;
    padding: 0;
}

.source-upload-section {
    display: grid;
    gap: 1rem;
}

.source-current-card {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #cbdcf2;
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.source-current-card strong,
.source-current-card small {
    display: block;
}

.source-current-card small,
.source-help-text,
.source-history p {
    color: #526176;
}

.source-current-meta,
.source-summary-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.source-multisource-toggle {
    margin: 0;
}

.source-history {
    border-top: 1px solid var(--line);
    padding-top: .75rem;
}

.source-history summary {
    color: var(--navy);
    cursor: pointer;
    font-weight: 800;
}

.source-multisource-warning {
    margin: 0;
}

.workspace-status-summary {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    margin-bottom: 1rem;
}

.status-main {
    align-items: center;
    display: flex;
    gap: 1rem;
}

.status-ring {
    border: 3px solid #9aa9bc;
    border-radius: 999px;
    display: inline-block;
    height: 48px;
    position: relative;
    width: 48px;
}

.status-ring.done {
    border-color: var(--green);
}

.status-ring.done::after {
    border-bottom: 3px solid var(--green);
    border-right: 3px solid var(--green);
    content: "";
    height: 22px;
    left: 16px;
    position: absolute;
    top: 8px;
    transform: rotate(42deg);
    width: 12px;
}

.status-ring.blocked {
    background: #fff1f1;
    border-color: var(--red);
}

.status-ring.blocked::before,
.status-ring.blocked::after {
    background: var(--red);
    border-radius: 999px;
    content: "";
    height: 24px;
    left: 21px;
    position: absolute;
    top: 9px;
    width: 4px;
}

.status-ring.blocked::before {
    transform: rotate(45deg);
}

.status-ring.blocked::after {
    transform: rotate(-45deg);
}

.status-ring.warning {
    background: #fff8e6;
    border-color: var(--orange);
}

.status-ring.warning::after {
    background: var(--orange);
    border-radius: 999px;
    content: "";
    height: 26px;
    left: 20px;
    position: absolute;
    top: 8px;
    width: 4px;
}

.status-ring.pending::after {
    background: #9aa9bc;
    border-radius: 999px;
    content: "";
    height: 10px;
    left: 16px;
    position: absolute;
    top: 16px;
    width: 10px;
}

.status-main h2 {
    margin-bottom: .15rem;
}

.status-main p {
    color: #536176;
    margin: 0;
}

.status-counts {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(3, auto);
}

.status-counts div {
    border-left: 1px solid var(--line);
    padding-left: 1rem;
}

.status-counts strong {
    color: #075fb3;
    display: block;
    font-size: 1.35rem;
    line-height: 1;
}

.status-counts strong.danger { color: var(--red); }
.status-counts strong.warning { color: var(--orange); }
.status-counts span {
    color: var(--navy);
    font-size: .78rem;
    font-weight: 700;
}

.control-log-card {
    margin-bottom: 1rem;
}

.ai-review-summary {
    align-items: center;
    display: flex;
    gap: .85rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
}

.ai-review-summary p {
    color: var(--navy);
    font-weight: 650;
    margin: 0;
}

.ai-review-summary strong {
    color: var(--green);
}

.ai-review-summary strong.warning {
    color: var(--orange);
}

.ai-review-summary strong.danger {
    color: var(--red);
}

.ai-bot-icon {
    background: #e9f8f0;
    border: 2px solid var(--green);
    border-radius: 999px;
    display: inline-block;
    height: 28px;
    position: relative;
    width: 28px;
}

.ai-bot-icon::before,
.ai-bot-icon::after {
    background: var(--green);
    border-radius: 999px;
    content: "";
    height: 5px;
    position: absolute;
    top: 10px;
    width: 5px;
}

.ai-bot-icon::before { left: 7px; }
.ai-bot-icon::after { right: 7px; }

.gate-strip-card {
    margin-bottom: 1rem;
    padding-bottom: .25rem;
}

.workspace-lower-grid {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(240px, .8fr) minmax(360px, 1.2fr);
}

.file-info-list {
    display: grid;
    gap: .8rem;
    margin: 1rem 0 0;
}

.file-info-card .file-name {
    color: var(--navy);
    display: block;
    line-height: 1.3;
    margin-top: .75rem;
    overflow-wrap: anywhere;
}

.file-summary {
    color: #536176;
    font-size: .9rem;
    margin: .35rem 0 0;
}

.file-info-list.compact {
    border-top: 1px solid var(--line);
    padding-top: .75rem;
}

.compact-mapping-card .workspace-table {
    margin-top: .5rem;
}

.file-info-list div {
    display: flex;
    justify-content: space-between;
}

.file-info-list dt {
    color: #667085;
    font-weight: 600;
}

.file-info-list dd {
    color: var(--navy);
    font-weight: 800;
    margin: 0;
    text-align: right;
}

.issue-group {
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-top: 1rem;
    overflow: hidden;
}

.issue-group header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: .8rem 1rem;
}

.issue-group header > div {
    align-items: center;
    display: flex;
    gap: .55rem;
}

.issue-group.auto header { background: #fff4e8; }
.issue-group.confirm header { background: #fff8e8; }
.issue-group.manual header { background: #fff0f0; }

.issue-count {
    background: var(--red);
    border-radius: 999px;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    padding: .25rem .55rem;
}

.issue-empty {
    color: #667085;
    padding: 1rem;
}

.workspace-issue-card {
    align-items: center;
    border-top: 1px solid var(--line);
    display: grid;
    gap: .8rem;
    grid-template-columns: 12px 90px minmax(220px, 1fr) minmax(130px, .45fr) minmax(220px, .65fr);
    padding: .85rem 1rem;
}

.issue-drag {
    background: radial-gradient(circle, #9aa9bc 1px, transparent 2px);
    background-size: 5px 5px;
    height: 24px;
}

.issue-main h3 {
    color: var(--navy);
    font-size: .94rem;
    font-weight: 850;
    margin: 0;
}

.issue-main p {
    color: #536176;
    font-size: .82rem;
    margin: .15rem 0 0;
}

.issue-meta {
    color: var(--navy) !important;
    font-weight: 700;
}

.issue-suggestion small,
.issue-suggestion strong,
.issue-suggestion span {
    display: block;
}

.issue-suggestion small {
    color: #667085;
    font-size: .72rem;
}

.issue-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.issue-actions .form-control,
.issue-actions .form-select {
    width: auto;
}

.next-action-card {
    border-top: 3px solid var(--red);
}

.current-issue-stack {
    display: grid;
    gap: 1rem;
    min-height: 720px;
}

.current-position-card {
    border-left: 3px solid var(--green);
    min-height: 340px;
}

.current-position-card.blocking {
    border-left-color: var(--red);
}

.current-position-card.warning {
    border-left-color: var(--orange);
}

.csv-preview-table.focused td,
.csv-preview-table.focused th {
    white-space: nowrap;
}

.csv-preview-table .current-row.blocking {
    background: #fff1f1;
}

.csv-preview-table .current-row.warning {
    background: #fff8e8;
}

.csv-preview-table .current-row.ok {
    background: #f0faf5;
}

.problem-cell {
    outline: 2px solid rgba(218,45,45,.38);
    outline-offset: -2px;
}

.problem-cell-badge {
    background: #fff;
    border: 1px solid #f2b4b4;
    border-radius: 999px;
    color: var(--red);
    display: inline-block;
    font-size: .66rem;
    font-weight: 900;
    margin-left: .35rem;
    padding: .12rem .4rem;
}

.problem-strip {
    align-items: center;
    background: #fff7f7;
    border: 1px solid #ffd3d3;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1rem;
    padding: .75rem;
}

.problem-strip strong {
    color: var(--navy);
}

.problem-strip span {
    background: #ffe5e5;
    border-radius: 999px;
    color: #8f1f1f;
    font-weight: 800;
    padding: .25rem .6rem;
}

.diagnosis-card {
    border-color: #f2b4b4;
    border-top: 0;
    min-height: 360px;
    padding: 1.25rem;
}

.issue-focus-area {
    min-height: 720px;
}

.current-file-position-card {
    min-height: 340px;
    overflow: visible;
}

.issue-diagnosis-card {
    min-height: 360px;
}

.ai-proposal-card {
    min-height: 220px;
}

.issue-content {
    opacity: 1;
    transition: opacity 160ms ease, transform 180ms ease;
    will-change: auto;
}

.issue-content.is-exiting {
    opacity: 0;
    transform: translateX(-12px);
    will-change: opacity, transform;
}

.issue-content.is-entering {
    opacity: 0;
    transform: translateX(16px);
    will-change: opacity, transform;
}

.issue-content.is-active {
    opacity: 1;
    transform: none;
}

.diagnosis-card.focused {
    border-left: 3px solid var(--red);
}

.diagnosis-card.warning {
    border-color: #ffd89b;
}

.diagnosis-card.info {
    border-color: #b9d8ff;
}

.diagnosis-header {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.compact-diagnosis-header {
    margin-bottom: .75rem;
}

.focused-diagnosis-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
}

.diagnosis-copy {
    display: grid;
    gap: .9rem;
}

.diagnosis-copy div {
    display: grid;
    gap: .2rem;
    grid-template-columns: 150px minmax(0, 1fr);
}

.diagnosis-copy strong {
    color: var(--navy);
}

.diagnosis-copy p {
    color: #172033;
    margin: 0;
}

.blocked-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.blocked-tags span {
    background: #eef3f8;
    border-radius: 999px;
    color: var(--navy);
    font-size: .78rem;
    font-weight: 850;
    padding: .25rem .55rem;
}

.diagnosis-meta {
    align-items: center;
    color: #536176;
    display: flex;
    gap: .55rem;
    font-weight: 750;
    margin-bottom: .5rem;
}

.diagnosis-header h2 {
    color: var(--navy);
    font-size: 1.35rem;
    font-weight: 900;
    margin: 0;
}

.diagnosis-header p {
    color: var(--navy);
    font-weight: 750;
    margin: .25rem 0;
}

.diagnosis-header small {
    display: block;
    color: #667085;
    margin-top: .25rem;
}

.source-file-line {
    color: #536176 !important;
}

.diagnosis-nav {
    display: flex;
    gap: .5rem;
    white-space: nowrap;
}

.diagnosis-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .75fr) minmax(250px, .9fr);
}

.diagnosis-panel {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .9rem;
}

.diagnosis-panel h3,
.proposal-box h3,
.manual-solve-panel h3 {
    color: var(--navy);
    font-size: .9rem;
    font-weight: 900;
    margin: 0 0 .65rem;
}

.diagnosis-panel p {
    color: #172033;
    font-size: .88rem;
    line-height: 1.55;
    margin: 0;
}

.evidence-panel .workspace-table {
    margin: 0;
}

.csv-preview-panel {
    margin-bottom: 1rem;
    overflow-x: auto;
}

.csv-preview-table .current-row {
    background: #fff1f1;
    color: var(--red);
    font-weight: 850;
}

.current-row-chip {
    background: #fff;
    border: 1px solid #f2b4b4;
    border-radius: 999px;
    color: var(--red);
    display: inline-block;
    font-size: .65rem;
    font-weight: 900;
    margin-left: .35rem;
    padding: .1rem .35rem;
}

.row-status {
    border-radius: 999px;
    display: inline-block;
    font-size: .7rem;
    font-weight: 850;
    padding: .15rem .45rem;
}

.row-status.ok {
    background: #e9f8f0;
    color: var(--green);
}

.row-status.warning {
    background: #fff4df;
    color: var(--orange);
}

.row-status.blocking {
    background: #fff0f0;
    color: var(--red);
}

.row-status.pending {
    background: #f2f5f8;
    color: #667085;
}

.raw-row-view {
    background: #0b1f3a;
    border-radius: 8px;
    color: #e8f1fb;
    font-size: .78rem;
    margin: .75rem 0 0;
    max-height: 220px;
    overflow: auto;
    padding: .75rem;
    white-space: pre-wrap;
}

.impact-panel {
    background: #fff8f8;
    border-color: #ffd3d3;
}

.impact-panel dl,
.impact-summary-list {
    display: grid;
    gap: .55rem;
    margin: 0;
}

.impact-panel dl div,
.impact-summary-list div {
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.impact-panel dt,
.impact-summary-list dt {
    color: #536176;
    font-weight: 650;
}

.impact-panel dd,
.impact-summary-list dd {
    color: var(--navy);
    font-weight: 900;
    margin: 0;
    text-align: right;
}

.proposal-box {
    background: #f2fbf7;
    border: 1px solid #c8eadb;
    border-radius: 10px;
    margin-top: 1rem;
    padding: .9rem 1rem;
}

.ai-proposal-box.compact {
    margin-top: 0;
}

.ai-proposal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: .9rem;
}

.proposal-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.proposal-heading span {
    background: #dff5ea;
    border-radius: 999px;
    color: var(--green);
    font-size: .75rem;
    font-weight: 900;
    padding: .2rem .55rem;
}

.ai-proposal-box small,
.ai-proposal-box strong {
    display: block;
    margin-top: .55rem;
}

.ai-proposal-box small {
    color: #536176;
}

.ai-proposal-box strong {
    color: var(--green);
}

.proposal-box p {
    color: #173a2b;
    margin: 0;
}

.manual-solve-panel {
    background: #f8fbff;
    border: 1px solid #cfe0f5;
    border-radius: 10px;
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
    padding: 1rem;
}

.manual-drawer-backdrop {
    background: rgba(7, 49, 95, .22);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 50;
}

.manual-solve-drawer {
    bottom: 1rem;
    box-shadow: 0 22px 48px rgba(7,49,95,.24);
    margin: 0;
    max-width: 420px;
    overflow: auto;
    position: fixed;
    right: 1rem;
    top: 1rem;
    width: min(420px, calc(100vw - 2rem));
    z-index: 60;
}

.manual-drawer-title {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.manual-drawer-title h3 {
    color: var(--navy);
    font-size: 1.35rem;
    font-weight: 900;
    margin: 0;
}

.manual-drawer-title p {
    color: #536176;
    margin: .2rem 0 0;
}

.issue-manual-drawer,
.ean-manual-drawer {
    background: #fff;
    border: 1px solid #d8e2ef;
    border-radius: 0;
    bottom: 0;
    gap: 1rem;
    max-width: 560px;
    padding: 1.4rem;
    right: 0;
    top: 0;
    width: min(560px, 100vw);
}

.issue-manual-drawer .form-control,
.issue-manual-drawer .form-select {
    border-color: #d8e2ef;
    border-radius: 10px;
    min-height: 46px;
}

.issue-manual-drawer textarea.form-control {
    min-height: 120px;
}

.manual-issue-summary,
.manual-section-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 1rem;
}

.manual-issue-summary {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.manual-issue-summary dl,
.manual-section-card dl {
    display: grid;
    gap: .65rem;
    margin: 0;
}

.manual-issue-summary dl div,
.manual-section-card dl div {
    display: grid;
    gap: 1rem;
    grid-template-columns: 140px minmax(0, 1fr);
}

.manual-issue-summary dt,
.manual-section-card dt {
    color: #667085;
    font-weight: 800;
}

.manual-issue-summary dd,
.manual-section-card dd {
    color: var(--ink);
    font-weight: 750;
    margin: 0;
}

.manual-section-card header {
    align-items: center;
    color: var(--navy);
    display: flex;
    justify-content: space-between;
    margin-bottom: .9rem;
}

.manual-field-group {
    display: grid;
    gap: .45rem;
}

.manual-field-group span {
    color: var(--navy);
    font-weight: 900;
}

.manual-field-group em {
    color: #667085;
    font-style: normal;
    font-weight: 700;
}

.manual-field-group small,
.manual-counter {
    color: #667085;
    font-size: .82rem;
}

.manual-counter {
    justify-self: end;
}

.manual-tip {
    background: #eef6ff;
    border: 1px solid #cce0f8;
    border-radius: 12px;
    color: var(--navy);
    display: grid;
    gap: .25rem;
    padding: .9rem;
}

.manual-tip span {
    color: #536176;
}

.manual-drawer-actions {
    align-items: center;
    background: #fff;
    border-top: 1px solid var(--line);
    bottom: 0;
    display: grid;
    gap: .8rem;
    grid-template-columns: 150px minmax(0, 1fr);
    margin: .5rem -1.4rem -1.4rem;
    padding: 1rem 1.4rem;
    position: sticky;
}

.manual-solve-panel label {
    color: #536176;
    font-size: .78rem;
    font-weight: 800;
}

.flash-success {
    animation: card-flash-success .7s ease both;
}

@keyframes card-flash-success {
    0% { box-shadow: 0 0 0 0 rgba(0,160,92,.35); }
    40% { box-shadow: 0 0 0 6px rgba(0,160,92,.16); }
    100% { box-shadow: 0 14px 34px rgba(7,49,95,.07); }
}

.next-action-body {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: 96px minmax(0, 1fr) minmax(220px, .7fr);
}

.next-action-symbol {
    align-items: center;
    background: #fff0f0;
    border-radius: 12px;
    color: var(--red);
    display: flex;
    font-weight: 900;
    height: 96px;
    justify-content: center;
    letter-spacing: 0;
}

.next-action-symbol.warning {
    background: #fff7e6;
    color: var(--orange);
}

.next-action-symbol.info {
    background: #eaf4ff;
    color: #075fb3;
}

.next-action-copy h3 {
    color: var(--navy);
    font-size: 1.1rem;
    font-weight: 850;
    margin: .35rem 0 .15rem;
}

.next-action-copy p {
    color: #536176;
    margin-bottom: .4rem;
}

.next-action-fix {
    display: grid;
    gap: .35rem;
}

.next-action-fix small,
.next-action-fix label {
    color: #667085;
    font-size: .76rem;
    font-weight: 700;
}

.next-action-fix strong {
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--navy);
    display: block;
    padding: .65rem .75rem;
}

.confidence-label {
    color: var(--green);
    font-size: .78rem;
    font-weight: 800;
}

.next-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: 1rem;
}

.navigation-helper {
    color: #536176;
    font-weight: 750;
    margin-right: auto;
}

.next-action-empty {
    background: #f3faf7;
    border: 1px solid #c9eadb;
    border-radius: 10px;
    color: var(--navy);
    padding: 1rem;
}

.next-action-empty p {
    color: #536176;
    margin: .3rem 0 0;
}

.issue-category-list {
    padding: .9rem 1rem;
}

.issue-category-row {
    border: 1px solid var(--line);
    border-radius: 10px;
    margin-top: .6rem;
    overflow: hidden;
}

.issue-category-row > button {
    align-items: center;
    background: #fff;
    border: 0;
    display: grid;
    gap: .75rem;
    grid-template-columns: 24px minmax(0, 1fr) auto auto;
    padding: .85rem;
    text-align: left;
    width: 100%;
}

.issue-category-row strong {
    color: var(--navy);
    display: block;
}

.issue-category-row small {
    color: #536176;
    display: block;
    margin-top: .15rem;
}

.category-icon {
    border-radius: 999px;
    display: inline-block;
    height: 14px;
    width: 14px;
}

.issue-category-row.blocking .category-icon { background: var(--red); }
.issue-category-row.warning .category-icon { background: var(--orange); }
.issue-category-row.info .category-icon { background: #075fb3; }

.category-icon.blocking { background: var(--red); }
.category-icon.warning { background: var(--orange); }
.category-icon.info { background: #075fb3; }

.issue-category-row.highlight {
    animation: category-highlight .8s ease both;
}

@keyframes category-highlight {
    0%, 100% { box-shadow: none; }
    35% { box-shadow: 0 0 0 4px rgba(0,160,92,.16); }
}

.category-count {
    background: #f4f7fb;
    border-radius: 999px;
    color: var(--navy);
    font-size: .78rem;
    font-weight: 850;
    padding: .25rem .55rem;
}

.issue-category-row.blocking .category-count {
    background: #fff0f0;
    color: var(--red);
}

.issue-category-row.warning .category-count {
    background: #fff5e6;
    color: var(--orange);
}

.category-chevron {
    color: var(--navy);
    font-weight: 900;
}

.issue-category-row .issue-group {
    border: 0;
    border-radius: 0;
    margin-top: 0;
}

.live-result-card {
    border-top: 3px solid var(--green);
}

.updated-label {
    color: var(--green);
    font-size: .78rem;
    font-weight: 800;
}

.live-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.live-metrics div {
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
    padding: .85rem;
}

.live-metrics div:nth-child(even) {
    border-right: 0;
}

.live-metrics strong {
    color: #075fb3;
    display: block;
    font-size: 1.35rem;
}

.live-metrics strong.danger { color: var(--red); }
.live-metrics strong.success { color: var(--green); }
.live-metrics span {
    color: var(--navy);
    font-size: .78rem;
}

.live-metrics.slim {
    margin-top: .75rem;
}

.live-metrics.slim div:nth-last-child(-n+2) {
    border-bottom: 0;
}

.material-detail-list {
    border-top: 1px solid var(--line);
    display: grid;
    gap: .5rem;
    margin-top: .8rem;
    padding-top: .8rem;
}

.material-detail-list div {
    display: flex;
    justify-content: space-between;
}

.material-detail-list strong {
    color: var(--navy);
}

.material-list {
    display: grid;
    gap: .55rem;
    margin-top: .85rem;
}

.material-list div {
    display: flex;
    justify-content: space-between;
}

.material-list strong {
    color: var(--navy);
}

.export-package-list {
    display: grid;
    gap: .65rem;
    margin-top: .85rem;
}

.export-package-card {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .65rem;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    padding: .75rem;
}

.export-package-card strong {
    color: var(--navy);
}

.export-package-card p,
.export-package-card small {
    color: #536176;
    display: block;
    font-size: .78rem;
    margin: .1rem 0 0;
}

.export-state-label {
    border-radius: 999px;
    display: inline-block;
    font-size: .7rem;
    font-weight: 900;
    margin-top: .25rem;
    padding: .15rem .45rem;
}

.export-state-label.ready {
    background: #e9f8f0;
    color: var(--green);
}

.export-state-label.blocked {
    background: #fff0f0;
    color: var(--red);
}

.export-state-label.concept {
    background: #fff4df;
    color: var(--orange);
}

.time-impact-card .help-dot {
    align-items: center;
    background: #f4f7fb;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--navy);
    display: inline-flex;
    font-weight: 900;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.file-progress-card {
    min-height: 0;
    overflow: visible;
    padding-bottom: 1rem;
    position: relative;
}

.current-row-context {
    align-items: center;
    background: #fff8f8;
    border: 1px solid #ffd2d2;
    border-radius: 999px;
    color: var(--navy);
    display: inline-flex;
    gap: .45rem;
    margin: .25rem 0 .85rem;
    padding: .45rem .75rem;
}

.current-row-context strong {
    font-weight: 900;
}

.current-row-context span {
    color: var(--red);
    font-weight: 850;
}

.current-row-context--warning {
    background: #fff7e8;
    border-color: #ffdca8;
}

.current-row-context--warning span {
    color: var(--orange);
}

.current-row-context--ok {
    background: #eaf8f1;
    border-color: #bde7d1;
}

.current-row-context--ok span {
    color: var(--green);
}

.row-marker-rail {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(34px, 1fr));
    margin-top: .65rem;
    overflow: visible;
}

.row-marker {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--navy);
    display: grid;
    font-size: .72rem;
    gap: .35rem;
    justify-items: center;
    padding: 0;
    position: relative;
    cursor: pointer;
}

.row-marker::after {
    align-items: center;
    background: #fff;
    border: 2px solid #aab7c7;
    border-radius: 999px;
    content: "";
    display: flex;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.row-marker:focus-visible {
    outline: 3px solid rgba(38, 137, 219, .35);
    outline-offset: 5px;
}

.row-marker.ok::after {
    border-color: var(--green);
    background: #e9f8f0;
    color: var(--green);
    content: "✓";
    font-weight: 950;
}

.row-marker.warning::after {
    border-color: var(--orange);
    background: #fff4df;
    color: var(--orange);
    content: "!";
    font-weight: 950;
}

.row-marker.blocking::after {
    border-color: var(--red);
    background: #fff0f0;
}

.row-marker.current::after {
    border-color: currentColor;
    box-shadow: 0 0 0 7px rgba(218, 45, 45, .14), 0 10px 24px rgba(218, 45, 45, .25);
    height: 34px;
    width: 34px;
}

.current-row-marker--blocking {
    color: var(--red);
}

.current-row-marker--blocking::after {
    background: var(--red);
    border-color: var(--red);
    content: "";
}

.current-row-marker--warning {
    color: var(--orange);
}

.current-row-marker--warning::after {
    background: var(--orange);
    border-color: var(--orange);
    color: #fff;
    content: "!";
}

.current-row-marker--ok {
    color: var(--green);
}

.current-row-marker--ok::after {
    background: var(--green);
    border-color: var(--green);
    color: #fff;
    content: "✓";
}

.current-row-label {
    background: currentColor;
    border-radius: 999px;
    color: #fff;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .02em;
    line-height: 1;
    padding: .25rem .45rem;
}

.current-row-connector {
    background: repeating-linear-gradient(to bottom, currentColor 0 5px, transparent 5px 9px);
    bottom: -1.65rem;
    display: block;
    height: 1.45rem;
    left: 50%;
    opacity: .75;
    position: absolute;
    transform: translateX(-50%);
    width: 2px;
    z-index: 2;
}

.progress-marker-pulse::after {
    animation: progress-marker-pulse .3s ease both;
}

.issue-switching-in {
    animation: issue-switch-in .3s ease both;
}

.problem-cell-flash {
    animation: problem-cell-flash .5s ease both;
}

.faulty-cell {
    border: 2px solid var(--red) !important;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
    font-weight: 900;
    position: relative;
}

.faulty-cell--blocking {
    background: #fff0f0 !important;
    color: #a52323;
}

.faulty-cell--warning {
    background: #fff5e6 !important;
    border-color: var(--orange) !important;
    color: #9a5700;
}

.faulty-cell--ok {
    background: #eaf8f1 !important;
    border-color: var(--green) !important;
    color: #08764b;
}

.faulty-cell-badge,
.problem-cell-badge {
    background: var(--red);
    border-radius: 999px;
    color: #fff;
    display: inline-block;
    font-size: .68rem;
    font-weight: 950;
    margin-left: .35rem;
    padding: .18rem .45rem;
    vertical-align: middle;
}

.positive-cell-badge {
    background: #e8f8f1;
    border-radius: 999px;
    color: var(--green);
    display: inline-flex;
    font-size: .68rem;
    font-weight: 900;
    margin-left: .35rem;
    padding: .22rem .5rem;
    vertical-align: middle;
}

.problem-cell-badge::before {
    content: "!";
    display: inline-block;
    font-weight: 950;
    margin-right: .25rem;
}

.faulty-cell--warning .faulty-cell-badge,
.faulty-cell--warning .problem-cell-badge {
    background: var(--orange);
}

.problem-chip,
.problem-strip span {
    background: #ffe8e8;
    border: 1px solid #ffd0d0;
    border-radius: 999px;
    color: #9e2626;
    font-weight: 900;
    padding: .25rem .6rem;
}

@keyframes issue-switch-in {
    from { opacity: .45; transform: translateX(14px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes progress-marker-pulse {
    0% { transform: scale(.9); }
    60% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

@keyframes problem-cell-flash {
    0% { box-shadow: inset 0 0 0 0 rgba(218,45,45,0); }
    45% { box-shadow: inset 0 0 0 3px rgba(218,45,45,.28); }
    100% { box-shadow: inset 0 0 0 0 rgba(218,45,45,0); }
}

.guided-repair-workspace {
    display: grid;
    gap: 1rem;
}

.file-level-issue-workspace {
    display: flex;
    justify-content: center;
}

.file-level-issue-card {
    border-left: 4px solid var(--red);
    display: grid;
    gap: 1.25rem;
    max-width: 980px;
    width: 100%;
}

.file-level-issue-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
}

.file-level-issue-header h1 {
    color: var(--navy);
    font-size: clamp(1.8rem, 2.4vw, 2.65rem);
    margin: .35rem 0 .35rem;
}

.file-level-issue-header p {
    color: #44546a;
    font-size: 1.05rem;
    margin: 0;
    max-width: 780px;
}

.file-level-issue-facts {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.file-level-issue-facts article {
    background: #f8fbff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .85rem 1rem;
}

.file-level-issue-facts small {
    color: #66758a;
    font-weight: 850;
}

.file-level-issue-facts strong {
    color: var(--navy);
    overflow-wrap: anywhere;
}

.file-level-issue-explanation {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    padding: 1rem;
}

.file-level-issue-explanation h2 {
    color: var(--navy);
    font-size: 1.15rem;
    margin: 0 0 .35rem;
}

.file-level-issue-explanation p {
    color: #344258;
    margin: 0;
}

.file-level-issue-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
}

.guided-repair-grid {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
}

.guided-problem-card {
    border-left: 4px solid var(--red);
    display: grid;
    gap: .95rem;
}

.guided-repair-workspace.row-only .guided-problem-card {
    border-left-color: var(--green);
}

.guided-repair-workspace.row-only .guided-problem-icon {
    background: var(--green);
    font-size: 0;
}

.guided-repair-workspace.row-only .guided-problem-icon::before {
    content: "✓";
    font-size: 1.8rem;
}

.guided-repair-workspace.row-only .validation-rule-box {
    background: #eefcf5;
    border-color: #bdebd4;
}

.guided-repair-workspace.row-only .validation-rule-box strong {
    color: var(--green);
}

.guided-problem-meta {
    display: flex;
}

.guided-problem-title-row {
    align-items: flex-start;
    display: flex;
    gap: .8rem;
}

.guided-problem-icon {
    align-items: center;
    background: var(--red);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.8rem;
    font-weight: 800;
    height: 44px;
    justify-content: center;
    line-height: 1;
    width: 44px;
}

.guided-problem-title-row h2 {
    color: var(--navy);
    font-size: clamp(1.45rem, 1.6vw, 2rem);
    margin: 0 0 .25rem;
}

.guided-problem-title-row p,
.guided-consequence {
    color: #44546a;
    font-size: 1rem;
    margin: 0;
}

.validation-rule-box {
    background: #fff4f4;
    border: 1px solid #ffcdcd;
    border-radius: 8px;
    display: grid;
    gap: .25rem;
    padding: .85rem 1rem;
}

.validation-rule-box strong {
    color: var(--red);
    font-weight: 950;
}

.validation-rule-box p {
    color: #24354f;
    margin: 0;
}

.row-context-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: .75rem;
}

.row-context-panel .workspace-card-header {
    margin-bottom: .5rem;
}

.row-context-table th,
.row-context-table td {
    vertical-align: middle;
}

.row-context-label {
    color: #536176;
    font-weight: 850;
    white-space: nowrap;
}

.guided-problem-strip {
    margin: 0;
}

.guided-problem-strip.blocking {
    background: #fff6f6;
    border-color: #fecaca;
    color: var(--red);
}

.guided-problem-strip .problem-strip-icon {
    align-items: center;
    background: var(--red);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 950;
    height: 22px;
    justify-content: center;
    width: 22px;
}

.guided-problem-strip.blocking strong {
    color: var(--red);
}

.compact-progress-support {
    border-top: 1px solid var(--line);
    display: grid;
    gap: .65rem;
    padding-top: .85rem;
}

.compact-progress-summary {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
}

.compact-progress-summary strong {
    color: var(--navy);
}

.compact-progress-summary span {
    color: #536176;
    font-weight: 800;
}

.compact-progress-support .file-progress-card {
    border: 0;
    box-shadow: none;
    padding: 0;
}

.compact-progress-support .file-progress-card .workspace-card-header {
    display: none;
}

.compact-progress-support .current-row-context {
    margin-bottom: .45rem;
}

.compact-progress-support .row-marker-rail {
    gap: .45rem;
    grid-template-columns: repeat(auto-fit, minmax(28px, 1fr));
}

.compact-progress-support .row-marker::after {
    height: 17px;
    width: 17px;
}

.compact-progress-support .row-marker.current::after {
    height: 30px;
    width: 30px;
}

.guided-action-column {
    display: grid;
    gap: 1rem;
}

.guided-side-card {
    display: grid;
    gap: .7rem;
}

.guided-side-card h3 {
    color: var(--navy);
    font-size: 1.12rem;
    margin: 0;
}

.guided-side-card p {
    color: #344258;
    margin: 0;
}

.guided-side-card ul {
    margin: 0;
    padding-left: 1.1rem;
}

.recommended-fix-card {
    background: #fff7f7;
    border-color: #ffc7c7;
}

.guided-primary-action {
    background: var(--red);
    border-color: var(--red);
    box-shadow: 0 10px 20px rgba(218, 45, 45, .18);
    font-weight: 950;
}

.no-safe-fix-card {
    background: #fbfdfc;
}

.row-ok-card {
    background: #f4fbf7;
    border-color: #bdebd4;
}

.guided-repair-workspace .next-action-buttons {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    padding: .85rem 1rem;
}

.guided-repair-workspace .next-action-buttons .navigation-helper {
    justify-self: center;
    order: 2;
}

.guided-repair-workspace .next-action-buttons .btn:first-of-type {
    justify-self: start;
    order: 1;
}

.guided-repair-workspace .next-action-buttons .btn:last-of-type {
    background: var(--red);
    border-color: var(--red);
    justify-self: end;
    order: 3;
}

@media (prefers-reduced-motion: reduce) {
    .issue-content,
    .issue-switching-in,
    .problem-cell-flash,
    .progress-marker-pulse::after,
    .flash-success,
    .scan-active .wand-icon {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    .file-progress-meter span {
        transition: none !important;
    }

    .current-row-connector {
        opacity: .55;
    }
}

.row-marker-legend {
    border-top: 1px solid var(--line);
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    margin-top: .8rem;
    padding-top: .65rem;
}

.row-marker-legend span {
    align-items: center;
    color: #536176;
    display: inline-flex;
    font-size: .8rem;
    gap: .35rem;
}

.row-marker-legend i {
    border: 2px solid #aab7c7;
    border-radius: 999px;
    height: 12px;
    width: 12px;
}

.row-marker-legend .ok { border-color: var(--green); }
.row-marker-legend .warning { border-color: var(--orange); }
.row-marker-legend .blocking { border-color: var(--red); }
.row-marker-legend .current {
    background: var(--red);
    border-color: var(--red);
    box-shadow: 0 0 0 4px rgba(218,45,45,.14);
}

.file-progress-meter {
    background: #e8edf4;
    border-radius: 999px;
    height: 10px;
    margin-top: .8rem;
    overflow: hidden;
}

.file-progress-meter span {
    background: var(--green);
    display: block;
    height: 100%;
    transition: width .35s ease;
}

/* Focused current-row treatment for the control workspace. */
.current-issue-stack {
    min-height: 760px;
}

.current-position-card,
.current-file-position-card {
    min-height: 365px;
}

.issue-diagnosis-card {
    min-height: 380px;
}

.csv-preview-table.focused {
    border-collapse: separate;
    border-spacing: 0;
}

.csv-preview-table.focused tbody tr.current-row td {
    border-bottom: 1px solid rgba(218, 45, 45, .22);
    border-top: 1px solid rgba(218, 45, 45, .22);
    transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.csv-preview-table.focused tbody tr.current-row td:first-child {
    border-left: 3px solid var(--red);
    border-radius: 10px 0 0 10px;
}

.csv-preview-table.focused tbody tr.current-row td:last-child {
    border-radius: 0 10px 10px 0;
}

.csv-preview-table.focused tbody tr.current-row--blocking td,
.csv-preview-table.focused tbody tr.current-row.blocking td {
    background: linear-gradient(90deg, rgba(220, 38, 38, .105), rgba(220, 38, 38, .045));
}

.csv-preview-table.focused tbody tr.current-row--warning td,
.csv-preview-table.focused tbody tr.current-row.warning td {
    background: linear-gradient(90deg, rgba(255, 128, 0, .12), rgba(255, 128, 0, .045));
    border-bottom-color: rgba(255, 128, 0, .24);
    border-top-color: rgba(255, 128, 0, .24);
}

.csv-preview-table.focused tbody tr.current-row--warning td:first-child,
.csv-preview-table.focused tbody tr.current-row.warning td:first-child {
    border-left-color: var(--orange);
}

.csv-preview-table.focused tbody tr.current-row--ok td,
.csv-preview-table.focused tbody tr.current-row.ok td {
    background: linear-gradient(90deg, rgba(16, 163, 103, .12), rgba(16, 163, 103, .045));
    border-bottom-color: rgba(16, 163, 103, .22);
    border-top-color: rgba(16, 163, 103, .22);
}

.csv-preview-table.focused tbody tr.current-row--ok td:first-child,
.csv-preview-table.focused tbody tr.current-row.ok td:first-child {
    border-left-color: var(--green);
}

.current-row-chip {
    background: #fff;
    border: 1px solid rgba(220, 38, 38, .35);
    border-radius: 999px;
    color: var(--red);
    display: inline-block;
    font-size: .64rem;
    font-weight: 950;
    margin-left: .35rem;
    padding: .16rem .42rem;
}

.faulty-cell {
    background-clip: padding-box;
    border: 2px solid var(--red) !important;
    border-radius: 9px;
    box-shadow: 0 0 0 3px rgba(218, 45, 45, .08), inset 0 0 0 1px rgba(255,255,255,.75);
    color: #8f1f1f;
    font-weight: 950;
    position: relative;
}

.faulty-cell--blocking {
    background: #fff0f0 !important;
}

.faulty-cell--warning {
    background: #fff5e6 !important;
    border-color: var(--orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 128, 0, .1), inset 0 0 0 1px rgba(255,255,255,.75);
    color: #8c4e00;
}

.faulty-cell--ok {
    background: #eaf8f1 !important;
    border-color: var(--green) !important;
    box-shadow: 0 0 0 3px rgba(16, 163, 103, .1), inset 0 0 0 1px rgba(255,255,255,.75);
    color: #08764b;
}

.faulty-cell-badge,
.problem-cell-badge {
    background: var(--red);
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 999px;
    color: #fff;
    display: inline-block;
    font-size: .66rem;
    font-weight: 950;
    margin-left: .45rem;
    padding: .18rem .48rem;
    vertical-align: middle;
}

.faulty-cell--warning .faulty-cell-badge,
.faulty-cell--warning .problem-cell-badge {
    background: var(--orange);
}

.current-row-context {
    box-shadow: 0 10px 26px rgba(218, 45, 45, .08);
    margin-bottom: 1.15rem;
}

.current-row-context::before {
    align-items: center;
    background: rgba(218, 45, 45, .13);
    border-radius: 999px;
    color: var(--red);
    content: "";
    display: inline-flex;
    height: 10px;
    width: 10px;
}

.current-row-context--warning::before {
    background: rgba(255, 128, 0, .18);
}

.current-row-context--ok::before {
    background: rgba(16, 163, 103, .18);
}

.row-marker-rail {
    align-items: start;
    margin-bottom: .35rem;
    padding: .35rem 0 .45rem;
}

.row-marker::after {
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.row-marker.current {
    z-index: 3;
}

.row-marker.current::after {
    border-width: 3px;
    box-shadow:
        0 0 0 8px rgba(218, 45, 45, .12),
        0 0 0 18px rgba(218, 45, 45, .055),
        0 14px 30px rgba(218, 45, 45, .28);
    height: 42px;
    width: 42px;
}

.current-row-marker--blocking::after {
    background: radial-gradient(circle at center, #fff 0 26%, var(--red) 29% 100%);
}

.current-row-marker--warning::after {
    background: radial-gradient(circle at center, #fff 0 26%, var(--orange) 29% 100%);
}

.current-row-marker--ok::after {
    background: radial-gradient(circle at center, #fff 0 26%, var(--green) 29% 100%);
}

.current-row-label {
    box-shadow: 0 8px 18px rgba(18, 29, 46, .12);
    margin-top: -.1rem;
}

.current-row-connector {
    bottom: -2.65rem;
    height: 2.45rem;
    width: 2px;
}

.current-marker-pulse::after,
.progress-marker-pulse::after {
    animation: currentMarkerPulse .3s ease both;
}

.row-switching-in {
    animation: currentRowIn .22s ease both;
}

.row-switching-out {
    animation: currentRowOut .14s ease both;
}

.faulty-cell--flash,
.problem-cell-flash {
    animation: faultyCellFlash .55s ease both;
}

@keyframes currentRowIn {
    from {
        opacity: .55;
        transform: translateX(14px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes currentRowOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: .45;
        transform: translateX(-10px);
    }
}

@keyframes currentMarkerPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.18); }
    100% { transform: scale(1); }
}

@keyframes faultyCellFlash {
    0% {
        box-shadow: 0 0 0 0 rgba(220, 38, 38, .45), inset 0 0 0 1px rgba(255,255,255,.75);
    }
    60% {
        box-shadow: 0 0 0 7px rgba(220, 38, 38, .12), inset 0 0 0 1px rgba(255,255,255,.75);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(220, 38, 38, 0), inset 0 0 0 1px rgba(255,255,255,.75);
    }
}

@media (prefers-reduced-motion: reduce) {
    .row-switching-out,
    .row-switching-in,
    .faulty-cell,
    .faulty-cell--flash,
    .problem-cell-flash,
    .current-row-marker,
    .current-marker-pulse::after,
    .progress-marker-pulse::after {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

.received-state-card,
.check-completed-card {
    display: grid;
    gap: 1rem;
}

.received-state-grid,
.check-summary-metrics {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.received-state-grid > div,
.check-summary-metrics > div {
    background: #f7fafc;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .9rem;
}

.received-state-grid strong,
.check-summary-metrics strong {
    color: var(--navy);
    display: block;
    font-weight: 900;
}

.received-state-grid span,
.check-summary-metrics span {
    color: #536176;
    display: block;
    margin-top: .2rem;
}

.check-summary-list {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.check-summary-list button {
    background: #fff5f5;
    border: 1px solid #f2c8c8;
    border-radius: 999px;
    color: var(--red);
    font-weight: 800;
    padding: .45rem .75rem;
}

.scan-status-text {
    color: var(--navy);
    font-weight: 900;
    margin: 0 0 .85rem;
}

.file-progress-copy {
    color: #536176;
    font-size: .86rem;
    margin: .6rem 0 0;
    text-align: right;
}

.dashboard-shell {
    display: grid;
    gap: 1rem;
}

.dashboard-title {
    align-items: center;
}

.dashboard-flow {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.template-download-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.dashboard-flow div,
.recent-import-row,
.export-template-row {
    align-items: center;
    display: grid;
    gap: .2rem .75rem;
    grid-template-columns: auto 1fr auto;
}

.dashboard-flow p,
.recent-import-row small,
.export-template-row small {
    color: #536176;
    grid-column: 2 / -1;
    margin: 0;
}

.flow-icon,
.upload-cloud-icon,
.large-status-icon {
    background: #e8f8f1;
    border-radius: 999px;
    display: inline-block;
    height: 44px;
    position: relative;
    width: 44px;
}

.flow-icon::after,
.upload-cloud-icon::after,
.large-status-icon::after {
    color: var(--green);
    content: "+";
    font-size: 1.35rem;
    font-weight: 900;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

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

.issue-list.compact {
    display: grid;
    gap: .8rem;
}

.issue-list.compact div {
    align-items: center;
    display: grid;
    gap: .65rem;
    grid-template-columns: auto 1fr auto;
}

.severity-dot {
    border-radius: 999px;
    display: inline-block;
    height: 11px;
    width: 11px;
}

.severity-dot.blocking { background: var(--red); }
.severity-dot.warning { background: var(--orange); }
.severity-dot.info { background: #1875d1; }

.file-type-pill {
    background: #e9f8f0;
    border-radius: 8px;
    color: var(--green);
    display: inline-flex;
    font-size: .75rem;
    font-weight: 900;
    padding: .35rem .45rem;
}

.file-type-pill.light {
    background: #eef3f8;
    color: var(--navy);
}

.badge-soft {
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 850;
    padding: .3rem .55rem;
}

.badge-soft.success { background: #e8f8f1; color: var(--green); }
.badge-soft.danger { background: #fff0f0; color: var(--red); }
.badge-soft.neutral { background: #eef3f8; color: #536176; }

.modal-backdrop-soft {
    background: rgba(9, 29, 55, .28);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 30;
}

.import-modal {
    left: 50%;
    max-width: 1060px;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(94vw, 1060px);
    z-index: 31;
}

.modal-close {
    background: transparent;
    border: 0;
    color: var(--navy);
    font-size: 1.4rem;
    line-height: 1;
}

.import-modal-grid {
    display: grid;
    gap: 1.2rem;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .9fr);
}

.import-modal-left {
    display: grid;
    gap: .85rem;
}

.upload-role-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .65rem;
    padding: .9rem;
}

.upload-role-panel h3,
.import-next-card h3 {
    color: var(--navy);
    font-size: 1rem;
    margin: 0;
}

.upload-role-panel p,
.upload-relationship p {
    color: #536176;
    font-size: .9rem;
    margin: 0;
}

.upload-role-panel.is-required {
    background: #f6fffb;
    border-color: #bce7d5;
}

.upload-role-panel.is-optional {
    background: #f7fbff;
    border-color: #c5dcf8;
}

.upload-role-heading {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.chip-blue {
    background: #e9f3ff;
    color: #0b61a4;
}

.modal-dropzone {
    align-items: center;
    border: 2px dashed #aebbd0;
    border-radius: 8px;
    cursor: pointer;
    display: grid;
    justify-items: center;
    min-height: 118px;
    overflow: hidden;
    padding: 1rem;
    position: relative;
    text-align: center;
}

.modal-dropzone input {
    cursor: pointer;
    height: 100%;
    inset: 0;
    opacity: 0;
    position: absolute;
    width: 100%;
}

.order-dropzone {
    border-color: #52b788;
}

.mapping-dropzone {
    border-color: #8ab9ee;
}

.modal-dropzone small,
.modal-dropzone em,
.import-note {
    color: #536176;
}

.modal-dropzone em {
    font-style: normal;
}

.compact-file-card {
    border-radius: 8px;
    margin: 0;
    padding: .75rem;
}

.ready-order {
    border-color: #bce7d5;
}

.ready-helper {
    border-color: #c5dcf8;
}

.mapping-added-state {
    color: #536176;
    font-size: .88rem;
    margin: 0;
}

.upload-relationship {
    background: #f8fbff;
    border: 1px solid #d6e5f7;
    border-radius: 8px;
    display: grid;
    gap: .45rem;
    padding: .8rem;
}

.upload-relationship div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.upload-relationship strong {
    color: var(--navy);
}

.upload-relationship span {
    color: #0b61a4;
    font-weight: 750;
}

.import-next-card {
    background: #f5f9ff;
    border: 1px solid #cdddf2;
    border-radius: 8px;
    display: grid;
    gap: .65rem;
    padding: .9rem;
}

.import-next-card ol {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding-left: 1.1rem;
}

.import-next-card li,
.import-next-card p {
    color: #29415f;
    font-size: .9rem;
    margin: 0;
}

.import-modal-fields {
    display: grid;
    gap: .75rem;
}

.import-modal-fields label {
    color: var(--navy);
    font-weight: 850;
}

.import-note {
    background: #f2f7ff;
    border: 1px solid #cdddf2;
    border-radius: 10px;
    margin: .25rem 0 0;
    padding: .75rem;
}

.modal-actions {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: 1.25rem;
}

.modal-footer-state,
.disabled-reason {
    color: #536176;
    font-size: .88rem;
    margin-right: auto;
}

.disabled-reason {
    margin-left: 0;
    margin-right: 0;
}

.start-import-button {
    align-items: center;
    display: inline-grid;
    gap: .1rem;
    justify-items: center;
    min-width: 150px;
}

.start-import-button small {
    color: rgba(255,255,255,.86);
    font-size: .72rem;
    font-weight: 650;
}

@media (max-width: 900px) {
    .import-modal {
        max-height: 92vh;
        overflow: auto;
        top: 4vh;
        transform: translateX(-50%);
    }

    .import-modal-grid {
        grid-template-columns: 1fr;
    }

    .modal-actions {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .modal-footer-state,
    .disabled-reason {
        flex-basis: 100%;
    }
}

.ready-analysis-layout {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 360px;
}

.file-analysis-summary {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: auto repeat(3, minmax(0, 1fr));
}

.file-analysis-summary > div {
    border-right: 1px solid var(--line);
    padding-right: 1rem;
}

.file-analysis-summary > div:last-child {
    border-right: 0;
}

.file-analysis-summary strong {
    color: #075fb3;
    display: block;
    font-size: 1.25rem;
    font-weight: 900;
}

.file-analysis-summary span,
.file-analysis-summary small {
    color: #536176;
}

.column-detection-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.column-detection-grid > div {
    background: #f8fbff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: .9rem;
}

.column-detection-grid strong {
    color: var(--navy);
    display: block;
    margin-top: .4rem;
}

.column-detection-grid p,
.table-note,
.action-readiness-card p {
    color: #536176;
    margin: .3rem 0 0;
}

.ready-to-scan-card {
    background: linear-gradient(135deg, #f2fbf7, #fff);
    border-color: #bde7d1;
    display: grid;
    gap: .85rem;
}

.ready-to-scan-card .wand-icon {
    margin-right: .5rem;
}

.action-readiness-card {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr auto;
}

.disabled-action-row {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, 150px);
}

.disabled-action-row span {
    background: #f4f7fb;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: #7b8798;
    font-weight: 850;
    padding: .7rem;
}

.upload-process-card {
    padding: 1.25rem;
}

.upload-process-stepper {
    --upload-progress: 20%;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    position: relative;
}

.upload-process-stepper::before {
    background: linear-gradient(90deg, var(--green) 0 var(--upload-progress), #d6e2ef var(--upload-progress) 100%);
    content: "";
    height: 3px;
    left: 1.15rem;
    position: absolute;
    right: 1.15rem;
    top: 17px;
}

.upload-process-stepper.progress-2 { --upload-progress: 31%; }
.upload-process-stepper.progress-3 { --upload-progress: 52%; }
.upload-process-stepper.progress-4 { --upload-progress: 74%; }
.upload-process-stepper.progress-5 { --upload-progress: 100%; }

.upload-process-step {
    display: grid;
    gap: .35rem;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.upload-process-step span {
    align-items: center;
    background: #fff;
    border: 2px solid #b9c8da;
    border-radius: 999px;
    color: #7b8798;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.upload-process-step strong {
    color: var(--navy);
    font-size: .82rem;
}

.upload-process-step small {
    color: #7b8798;
    font-weight: 700;
}

.upload-process-step.is-done span {
    background: var(--green);
    border-color: #fff;
    box-shadow: 0 0 0 1px rgba(21, 155, 114, .3);
    color: #fff;
}

.upload-process-step.is-done small {
    color: var(--green);
}

.upload-process-step.is-current span {
    background: #1263d8;
    border-color: #fff;
    box-shadow: 0 0 0 2px rgba(18, 99, 216, .24);
    color: #fff;
}

.upload-process-step.is-current small,
.upload-process-step.is-optional small {
    color: #1263d8;
}

.upload-process-step.is-disabled {
    opacity: .62;
}

.post-upload-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mapping-required-card {
    border-color: #ffd7ac;
}

.mapping-required-card.requires-mapping {
    background: linear-gradient(135deg, #fff8f1, #fff);
}

.mapping-required-card.ready-for-control {
    background: linear-gradient(135deg, #f2fbf7, #fff);
    border-color: #bde7d1;
}

.source-detection-card {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.3fr) minmax(260px, .9fr);
}

.source-detection-card h2 {
    margin-bottom: .35rem;
}

.source-detection-card.not-order-export {
    background: linear-gradient(135deg, #fff8f1, #fff);
    border-color: #ffb968;
}

.source-detection-card.high-confidence {
    background: linear-gradient(135deg, #f2fbf7, #fff);
    border-color: #bde7d1;
}

.source-detection-card.medium-confidence,
.source-detection-card.low-confidence {
    background: linear-gradient(135deg, #f3f8ff, #fff);
    border-color: #c8dcff;
}

.source-detection-card.unknown {
    background: #fff;
}

.source-relationship-card {
    align-items: center;
    display: grid;
    gap: 1.2rem;
    grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr);
}

.source-relationship-card h2 {
    font-size: 1rem;
    margin-bottom: .5rem;
}

.source-relationship-card strong,
.source-relationship-card span {
    display: block;
}

.source-relationship-card ul {
    display: grid;
    gap: .45rem;
    list-style: none;
    margin: .85rem 0 0;
    padding: 0;
}

.source-relationship-card li {
    color: #42516a;
    font-weight: 750;
}

.source-relationship-arrow {
    color: #42516a;
    font-weight: 800;
    text-align: center;
}

.declaration-output-list li {
    color: var(--navy);
}

.file-role-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}

.file-role-warning-card {
    background: linear-gradient(135deg, #fff8f1, #fff);
    border-color: #ffb968;
}

.file-role-warning-card ul {
    margin: .75rem 0;
}

.file-role-hint {
    background: #fff4df;
    border: 1px solid #ffd59b;
    border-radius: 8px;
    color: #704500;
    font-weight: 750;
    margin-top: 1rem;
    padding: .7rem;
}

.file-role-actions-card {
    display: grid;
    gap: .8rem;
}

.file-role-choice {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .9rem;
}

.file-role-choice span {
    color: #536176;
    display: block;
    margin-top: .25rem;
}

.inline-mapping-card {
    border-color: #c9dcf2;
}

.inline-mapping-table th,
.inline-mapping-table td {
    vertical-align: middle;
}

.inline-mapping-table select {
    min-width: 180px;
}

.inline-mapping-footer {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    margin-top: .75rem;
    padding-top: .9rem;
}

.source-detection-reasons {
    border-left: 1px solid var(--line);
    padding-left: 1rem;
}

.source-detection-reasons strong,
.expected-order-export strong {
    color: var(--navy);
    display: block;
    font-size: .86rem;
    margin-bottom: .45rem;
}

.source-detection-reasons ul {
    display: grid;
    gap: .3rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.source-detection-reasons li {
    color: #536176;
    font-size: .84rem;
}

.expected-order-export code {
    background: #fff;
    border: 1px dashed #b8c7da;
    border-radius: 8px;
    color: var(--navy);
    display: block;
    line-height: 1.7;
    padding: .8rem;
    white-space: normal;
}

.mapping-detection-strip {
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: .2rem;
    margin-bottom: 1rem;
    padding: .8rem 1rem;
}

.mapping-detection-strip.not-order-export {
    background: #fff8f1;
    border-color: #ffb968;
}

.mapping-detection-strip.high-confidence {
    background: #f2fbf7;
    border-color: #bde7d1;
}

.mapping-detection-strip.medium-confidence,
.mapping-detection-strip.low-confidence {
    background: #f3f8ff;
    border-color: #c8dcff;
}

.mapping-reason-cell {
    max-width: 320px;
}

.required-field-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-top: 1rem;
}

.mapping-field-card {
    border: 1px solid #dbe5f0;
    border-radius: 10px;
    display: grid;
    gap: .35rem;
    min-height: 76px;
    padding: .8rem;
}

.mapping-field-card strong {
    color: var(--navy);
    font-weight: 850;
}

.mapping-field-card span {
    color: #6c7789;
    font-size: .82rem;
    font-weight: 750;
}

.mapping-field-card.is-missing {
    background: #fff8f1;
    border-color: #ffb968;
}

.mapping-field-card.is-missing span {
    color: #d96800;
}

.mapping-field-card.is-mapped {
    background: #f2fbf7;
    border-color: #bde7d1;
}

.mapping-field-card.is-mapped span {
    color: var(--green);
}

.mapping-field-card.is-muted {
    background: #f6f8fb;
}

.raw-preview-table th {
    min-width: 145px;
    vertical-align: bottom;
}

.raw-preview-table th strong {
    display: block;
}

.mapping-pill {
    background: #eef3f8;
    border-radius: 999px;
    color: #6c7789;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 800;
    margin-top: .35rem;
    padding: .18rem .45rem;
    white-space: nowrap;
}

.mapping-pill.is-auto {
    background: #eaf2ff;
    color: #1263d8;
}

.mapping-pill.is-mapped {
    background: #e8f8f0;
    color: var(--green);
}

.ready-to-scan-card.requires-mapping {
    background: linear-gradient(135deg, #fff8f1, #fff);
    border-color: #ffd7ac;
}

.mapping-checklist {
    display: grid;
    gap: .55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mapping-checklist li {
    color: #536176;
    font-weight: 750;
}

.mapping-checklist li.is-current {
    color: #d96800;
}

.mapping-checklist li.is-done {
    color: var(--green);
}

.scan-summary-columns {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scan-summary-columns section {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 1rem;
}

.scan-summary-columns section.blocking {
    background: #fff8f8;
    border-color: #f2c8c8;
}

.scan-summary-columns header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.scan-summary-columns header span {
    background: #e8f8f1;
    border-radius: 999px;
    color: var(--green);
    font-weight: 900;
    padding: .25rem .55rem;
}

.scan-summary-columns .blocking header span {
    background: #fff0f0;
    color: var(--red);
}

.scan-summary-columns ul {
    color: #536176;
    display: grid;
    gap: .45rem;
    list-style: none;
    margin: .85rem 0;
    padding: 0;
}

.scan-summary-columns li {
    display: grid;
    gap: .2rem;
}

.scan-summary-columns li strong {
    color: var(--navy);
}

.scan-summary-columns li small {
    color: #536176;
}

.scan-summary-columns button {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--line);
    color: var(--navy);
    display: flex;
    justify-content: space-between;
    padding: .65rem 0;
    width: 100%;
}

.scan-completed-layout {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 340px;
}

.scan-completed-hero {
    align-items: center;
    background: linear-gradient(135deg, #eaf8f1, #fff);
    border-color: #9bdab9;
    display: flex;
    gap: 1rem;
}

.scan-completed-hero h2 {
    font-size: 1.25rem;
}

.scan-completed-hero p {
    color: var(--navy);
    font-weight: 700;
    margin: .25rem 0 0;
}

.scan-completed-hero strong {
    color: var(--green);
}

.scan-completed-hero strong.warning {
    color: var(--orange);
}

.scan-completed-hero strong.danger {
    color: var(--red);
}

.ai-status-note {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 700;
    margin: .5rem 0 0;
}

.ai-status-note.connected {
    color: var(--green);
}

.ai-status-note.disabled,
.ai-status-note.unavailable {
    color: var(--orange);
}

.gate-strip-card.completed .workspace-progress {
    margin-bottom: 0;
}

.scan-summary-columns > .workspace-card {
    box-shadow: 0 10px 26px rgba(7,49,95,.06);
}

.scan-summary-columns .proposal-list button {
    background: #f8fbff;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .7rem;
    text-align: left;
}

.scan-summary-actions {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.todo-category-cards {
    display: grid;
    gap: .9rem;
}

.todo-category-cards > div {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.todo-category-cards button {
    background: #fff8f8;
    border: 1px solid #f2c8c8;
    border-radius: 12px;
    color: var(--navy);
    display: grid;
    gap: .55rem;
    padding: 1rem;
    text-align: left;
}

.todo-category-cards b {
    color: var(--red);
    font-size: 1.75rem;
    line-height: 1;
}

.todo-category-cards small {
    border-top: 1px solid #f2d6d6;
    color: #536176;
    padding-top: .65rem;
}

.proposal-change-list {
    background: rgba(255,255,255,.7);
    border: 1px solid #c8eadb;
    border-radius: 10px;
    display: grid;
    gap: .45rem;
    margin: .75rem 0;
    padding: .75rem;
}

.proposal-change-list div {
    display: grid;
    gap: .75rem;
    grid-template-columns: 130px 1fr;
}

.proposal-change-list dt {
    color: #536176;
    font-weight: 850;
}

.proposal-change-list dd {
    color: var(--navy);
    font-weight: 850;
    margin: 0;
}

.proposal-change-list--suggestion {
    border-color: #f4d58d;
    background: #fffaf0;
}

.suggested-weight-box {
    align-items: center;
    background: #fffaf0;
    border: 1px solid #f4d58d;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    padding: .85rem;
}

.suggested-weight-box p {
    color: #536176;
    margin: .2rem 0 0;
}

.auto-review-page {
    display: grid;
    gap: 1rem;
    padding: 1.35rem;
}

.auto-review-layout {
    display: block;
}

.auto-review-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.auto-review-title {
    align-items: center;
    display: flex;
    gap: .9rem;
}

.auto-review-title h2 {
    color: var(--navy);
    font-size: 1.45rem;
    font-weight: 900;
    margin: 0;
}

.auto-review-title p {
    color: #536176;
    margin: .2rem 0 0;
}

.auto-review-spark,
.auto-stat-icon {
    background: #e5f6ee;
    border-radius: 999px;
    display: inline-block;
    position: relative;
}

.auto-review-spark {
    height: 38px;
    width: 38px;
}

.auto-review-spark::after {
    color: var(--green);
    content: "✓";
    font-size: 1.2rem;
    font-weight: 950;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.auto-review-actions {
    align-items: center;
    display: flex;
    gap: .75rem;
}

.auto-review-stats {
    display: grid;
    gap: .9rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.auto-stat-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: .2rem .85rem;
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 96px;
    padding: 1rem;
}

.auto-stat-icon {
    grid-row: 1 / span 3;
    height: 54px;
    width: 54px;
}

.auto-stat-icon::after {
    color: var(--green);
    font-size: 1.35rem;
    font-weight: 950;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.auto-stat-icon.shield::after { content: "✓"; }
.auto-stat-icon.globe::after { content: "○"; }
.auto-stat-icon.flag::after { content: "⚑"; }
.auto-stat-icon.table::after { content: "▦"; }

.auto-stat-card strong {
    color: var(--navy);
    font-size: 1.6rem;
    font-weight: 950;
    line-height: 1;
}

.auto-stat-card b {
    color: var(--navy);
}

.auto-stat-card small {
    color: #536176;
}

.auto-change-list {
    display: grid;
    gap: .9rem;
}

.auto-review-page > .auto-change-list {
    display: none;
}

.auto-audit-list {
    display: grid;
    gap: .9rem;
}

.auto-review-subhead {
    align-items: center;
    color: #536176;
    display: flex;
    gap: .7rem;
}

.auto-review-subhead strong {
    color: var(--navy);
}

.auto-review-subhead .button-link {
    margin-left: auto;
}

.auto-empty-state {
    background: #f8fbff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: .7rem;
    padding: 1.25rem;
}

.auto-empty-state h3 {
    color: var(--navy);
    font-weight: 900;
    margin: 0;
}

.auto-audit-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 1rem;
}

.auto-audit-card header {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(250px, .85fr) minmax(260px, 1fr) auto;
    margin-bottom: .9rem;
}

.auto-audit-heading {
    align-items: center;
    display: flex;
    gap: .65rem;
}

.auto-audit-heading h3 {
    color: var(--navy);
    font-size: 1.05rem;
    font-weight: 900;
    margin: 0;
}

.auto-audit-heading small,
.auto-audit-card header p {
    color: #536176;
    margin: 0;
}

.auto-safe-meta {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .42fr);
    margin-top: .8rem;
}

.auto-safe-meta p {
    background: #eaf8f1;
    border-radius: 8px;
    color: #11694e;
    margin: 0;
    padding: .65rem .75rem;
}

.auto-safe-meta p + p {
    background: transparent;
    color: #536176;
}

.new-value-pill,
.match-badge,
.applied-badge.small {
    border-radius: 999px;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1;
    padding: .28rem .55rem;
}

.new-value-pill {
    background: #dbf4e8;
    color: #08764b;
}

.new-value-pill.export {
    background: #ede7ff;
    color: #53389e;
}

.match-badge.exact {
    background: #dbf4e8;
    color: #08764b;
}

.change-arrow {
    color: var(--navy);
    font-weight: 900;
    text-align: center;
}

.auto-change-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 1rem;
}

.auto-change-card header {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(230px, .8fr) minmax(260px, 1fr) auto;
    margin-bottom: .85rem;
}

.auto-change-card header > div:first-child {
    align-items: center;
    display: flex;
    gap: .65rem;
}

.auto-change-card h3 {
    color: var(--navy);
    font-size: 1.05rem;
    font-weight: 900;
    margin: 0;
}

.auto-change-check {
    align-items: center;
    background: var(--green);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0;
    font-weight: 950;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.auto-change-check::after {
    content: "";
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    height: 10px;
    transform: rotate(45deg) translate(-1px, -1px);
    width: 5px;
}

.auto-change-number {
    align-items: center;
    background: #eef3f8;
    border-radius: 999px;
    color: var(--navy);
    display: inline-flex;
    font-size: .8rem;
    font-weight: 950;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.auto-change-rule strong {
    color: var(--navy);
    display: block;
}

.auto-change-rule small {
    color: #536176;
}

.applied-badge {
    background: #e5f6ee;
    border-radius: 999px;
    color: var(--green);
    font-size: .78rem;
    font-weight: 950;
    padding: .35rem .75rem;
}

.auto-change-table {
    border-collapse: collapse;
    width: 100%;
}

.auto-change-table th,
.auto-change-table td {
    border-bottom: 1px solid #e6edf5;
    color: var(--ink);
    padding: .42rem .5rem;
    text-align: left;
}

.auto-change-table th {
    color: #667085;
    font-size: .75rem;
    text-transform: uppercase;
}

.auto-change-card footer {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: .8rem;
}

.safe-note {
    background: #eaf8f1;
    border-radius: 8px;
    color: #11694e;
    margin: .75rem 0 0;
    padding: .65rem .75rem;
}

@media (max-width: 1100px) {
    .dashboard-grid,
    .dashboard-flow,
    .ready-analysis-layout,
    .scan-completed-layout,
    .scan-summary-columns,
    .scan-summary-actions,
    .column-detection-grid,
    .action-readiness-card,
    .todo-category-cards > div {
        grid-template-columns: 1fr;
    }

    .import-modal-grid {
        grid-template-columns: 1fr;
    }
}

.remaining-summary {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .8rem;
}

.remaining-summary div {
    background: #f7f9fc;
    border-radius: 8px;
    padding: .7rem .5rem;
    text-align: center;
}

.remaining-summary strong {
    color: var(--navy);
    display: block;
    font-size: 1.05rem;
}

.remaining-summary strong.danger { color: var(--red); }
.remaining-summary strong.success { color: var(--green); }
.remaining-summary strong.warning { color: var(--orange); }
.remaining-summary span {
    color: #536176;
    font-size: .72rem;
    font-weight: 750;
}

.remaining-category-list {
    display: grid;
    gap: .35rem;
    margin-top: .85rem;
}

.remaining-category-list button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .45rem;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    padding: .5rem;
    text-align: left;
}

.remaining-category-list span:nth-child(2) {
    color: var(--navy);
    font-weight: 750;
}

.remaining-category-list strong {
    color: var(--navy);
}

/* 2026 app direction: stable shell, dashboard, modal, and workspace polish */
.app-shell {
    grid-template-columns: 248px minmax(0, 1fr);
}

.app-sidebar {
    background: linear-gradient(180deg, #052b54 0%, #062344 100%);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding: 1.45rem 1rem;
    position: sticky;
    top: 0;
}

.app-sidebar .brand {
    align-items: center;
    gap: .7rem;
    margin-bottom: 2rem;
}

.app-sidebar .brand-mark {
    border: 0;
    border-radius: 8px;
    font-size: .72rem;
    height: 38px;
    width: 38px;
}

.app-sidebar nav {
    gap: .45rem;
}

.app-sidebar nav a {
    align-items: center;
    border-radius: 10px;
    display: flex;
    font-weight: 800;
    gap: .75rem;
    min-height: 48px;
    padding: .7rem .85rem;
}

.app-sidebar nav a:hover,
.app-sidebar nav a:focus {
    background: rgba(255,255,255,.13);
}

.nav-glyph,
.user-icon {
    border: 2px solid currentColor;
    border-radius: 6px;
    display: inline-block;
    height: 18px;
    opacity: .9;
    position: relative;
    width: 18px;
}

.nav-glyph.dashboard::after {
    background: currentColor;
    border-radius: 999px;
    content: "";
    height: 5px;
    left: 5px;
    position: absolute;
    top: 5px;
    width: 5px;
}

.nav-glyph.files::after,
.nav-glyph.declarations::after {
    background: currentColor;
    content: "";
    height: 2px;
    left: 4px;
    position: absolute;
    top: 7px;
    width: 8px;
}

.nav-glyph.register::after {
    border: 2px solid currentColor;
    border-radius: 4px;
    content: "";
    height: 8px;
    left: 3px;
    position: absolute;
    top: 3px;
    width: 8px;
}

.nav-glyph.settings {
    border-radius: 999px;
}

.sidebar-spacer {
    flex: 1;
}

.sidebar-help {
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    color: #fff;
    display: grid;
    gap: .25rem;
    padding: 1rem;
}

.sidebar-help span,
.sidebar-footer {
    color: #c7d6e8;
}

.sidebar-footer {
    display: block;
    margin-top: 1.4rem;
}

.app-topbar {
    box-shadow: 0 1px 0 rgba(7,49,95,.06);
    min-height: 76px;
    padding: 0 2rem;
}

.client-select {
    border-radius: 8px;
    max-width: 250px;
    min-height: 42px;
}

.user-menu {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--navy);
    display: flex;
    font-weight: 800;
    gap: .6rem;
    min-height: 42px;
    padding: .55rem .85rem;
}

.user-icon {
    color: var(--navy);
    border-radius: 999px;
}

.app-content {
    padding: 1.6rem 2rem 2rem;
}

.dashboard-v2 {
    display: grid;
    gap: 1rem;
}

.dashboard-hero-card,
.dashboard-process-card,
.dashboard-card,
.declaration-modal {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(7,49,95,.07);
}

.dashboard-hero-card {
    align-items: center;
    display: grid;
    gap: 2rem;
    grid-template-columns: 160px minmax(0, 1fr) 360px;
    min-height: 250px;
    overflow: hidden;
    padding: 2rem 3rem;
    position: relative;
}

.dashboard-hero-card::after {
    background: radial-gradient(circle at center, rgba(21,155,114,.12), transparent 68%);
    content: "";
    height: 320px;
    position: absolute;
    right: -60px;
    top: -40px;
    width: 420px;
}

.dashboard-hero-icon,
.dashboard-hero-visual {
    background: linear-gradient(135deg, #ecfaf4, #fff);
    border-radius: 36px;
    position: relative;
}

.dashboard-hero-icon {
    height: 130px;
    width: 130px;
}

.dashboard-hero-icon::before {
    border: 4px solid var(--navy);
    border-radius: 10px;
    content: "";
    height: 70px;
    left: 34px;
    position: absolute;
    top: 28px;
    width: 52px;
}

.dashboard-hero-icon::after {
    align-items: center;
    background: var(--green);
    border: 5px solid #fff;
    border-radius: 999px;
    color: #fff;
    content: "+";
    display: flex;
    font-size: 1.4rem;
    font-weight: 900;
    height: 46px;
    justify-content: center;
    position: absolute;
    right: 14px;
    top: 76px;
    width: 46px;
}

.dashboard-hero-copy h1 {
    color: var(--navy);
    font-size: clamp(1.85rem, 3vw, 2.55rem);
    font-weight: 950;
    margin: 0 0 .5rem;
}

.dashboard-hero-copy p {
    color: #536176;
    font-size: 1.04rem;
    line-height: 1.55;
    max-width: 640px;
}

.dashboard-hero-copy small {
    color: #667085;
    display: block;
    margin-top: .9rem;
}

.dashboard-hero-visual {
    height: 150px;
    z-index: 1;
}

.monitor-shape {
    border: 8px solid #cdd9e8;
    border-radius: 10px;
    height: 124px;
    left: 64px;
    position: absolute;
    top: 12px;
    width: 210px;
}

.monitor-shape::before {
    background: repeating-linear-gradient(0deg, #d7e2ef 0 7px, transparent 7px 18px);
    content: "";
    height: 52px;
    left: 22px;
    position: absolute;
    top: 22px;
    width: 70px;
}

.shield-shape {
    background: linear-gradient(135deg, #0b7b66, #064f45);
    clip-path: polygon(50% 0, 88% 14%, 82% 72%, 50% 100%, 18% 72%, 12% 14%);
    height: 82px;
    position: absolute;
    right: 72px;
    top: 42px;
    width: 70px;
}

.shield-shape::after {
    border-bottom: 6px solid #fff;
    border-right: 6px solid #fff;
    content: "";
    height: 24px;
    left: 25px;
    position: absolute;
    top: 23px;
    transform: rotate(45deg);
    width: 13px;
}

.dashboard-process-card {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 150px minmax(0, 1fr);
    padding: 1rem 1.6rem;
}

.dashboard-process-card > strong,
.dashboard-card h2 {
    color: var(--navy);
    font-size: 1.1rem;
    font-weight: 950;
    margin: 0;
}

.dashboard-process-steps {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-process-steps div {
    align-items: center;
    display: grid;
    gap: .1rem .75rem;
    grid-template-columns: 42px minmax(0, 1fr);
    position: relative;
}

.dashboard-process-steps div:not(:last-child)::after {
    border-top: 2px dashed #aebbd0;
    content: "";
    left: calc(100% - 44px);
    position: absolute;
    right: -40px;
    top: 20px;
}

.process-icon {
    background: #e9f8f0;
    border-radius: 999px;
    display: inline-block;
    grid-row: 1 / span 2;
    height: 42px;
    position: relative;
    width: 42px;
}

.process-icon::after {
    color: var(--green);
    content: "+";
    font-size: 1.35rem;
    font-weight: 950;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.dashboard-process-steps b {
    color: var(--navy);
}

.dashboard-process-steps small {
    color: #667085;
}

.dashboard-main-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-card {
    min-height: 260px;
    padding: 1.25rem;
}

.card-title-row {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.count-pill {
    border-radius: 999px;
    font-weight: 900;
    padding: .25rem .6rem;
}

.count-pill.danger {
    background: #fff0f0;
    color: var(--red);
}

.attention-list,
.dashboard-row-list,
.export-pack-list,
.period-list {
    display: grid;
    gap: .8rem;
}

.attention-list article,
.dashboard-import-row,
.dashboard-export-row {
    align-items: center;
    color: var(--ink);
    display: grid;
    gap: .8rem;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    padding: .55rem 0;
}

.dashboard-import-row,
.dashboard-export-row {
    border-bottom: 1px solid #edf1f5;
    grid-template-columns: 46px minmax(0, 1fr) auto;
}

.attention-list small,
.dashboard-row-list small,
.period-list dt,
.example-check-card p,
.example-check-card li {
    color: #667085;
}

.attention-icon,
.export-doc-icon {
    background: #eef3f8;
    border-radius: 9px;
    display: inline-block;
    height: 34px;
    position: relative;
    width: 34px;
}

.attention-icon.danger {
    background: #fff0f0;
}

.attention-icon.warning {
    background: #fff4e6;
}

.attention-icon::after,
.export-doc-icon::after {
    color: var(--red);
    content: "";
    background: currentColor;
    border-radius: 999px;
    height: 10px;
    left: 12px;
    position: absolute;
    top: 12px;
    width: 10px;
}

.attention-icon.warning::after {
    color: var(--orange);
}

.export-doc-icon::after {
    color: var(--green);
}

.product-health-body {
    align-items: center;
    display: grid;
    gap: 1.2rem;
    grid-template-columns: 170px minmax(0, 1fr);
    margin-bottom: 1rem;
}

.product-donut {
    align-items: center;
    background: conic-gradient(var(--green) 0 74%, var(--orange) 74% 86%, var(--red) 86% 90%, #e8eef5 90%);
    border-radius: 999px;
    display: grid;
    height: 145px;
    justify-items: center;
    place-content: center;
    position: relative;
    width: 145px;
}

.product-donut::after {
    background: #fff;
    border-radius: 999px;
    content: "";
    height: 104px;
    position: absolute;
    width: 104px;
}

.product-donut strong,
.product-donut span {
    color: var(--navy);
    position: relative;
    z-index: 1;
}

.product-donut strong {
    font-size: 1.7rem;
    font-weight: 950;
}

.health-metrics,
.period-list {
    margin: 0;
}

.health-metrics div,
.period-list div {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: .45rem 0;
}

.health-metrics dd,
.period-list dd {
    color: var(--navy);
    font-weight: 900;
    margin: 0;
}

.danger-text {
    color: var(--red);
}

.example-check-card {
    background: linear-gradient(135deg, #f5fbff, #fff);
}

.example-check-card ul {
    display: grid;
    gap: .45rem;
    margin: .75rem 0 1rem;
    padding-left: 1.1rem;
}

.badge-soft.warning {
    background: #fff3df;
    color: #b35300;
}

.declaration-modal {
    left: 50%;
    max-width: 1120px;
    padding: 1.35rem;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 1120px);
    z-index: 31;
}

.declaration-modal .workspace-card-header p {
    color: #667085;
    margin: .3rem 0 0;
}

.declaration-dropzone {
    min-height: 330px;
}

.declaration-dropzone .btn {
    margin-top: .45rem;
}

.declaration-modal.import-modal {
    border-radius: 8px;
    max-height: 88vh;
    max-width: 920px;
    overflow-y: auto;
    padding: 1rem 1.1rem .85rem;
    width: min(92vw, 920px);
}

.declaration-modal .alert-info {
    display: none;
}

.declaration-modal .workspace-card-header {
    align-items: flex-start;
    margin-bottom: .75rem;
}

.declaration-modal .workspace-card-header h2 {
    font-size: 1.35rem;
    line-height: 1.15;
}

.declaration-modal .workspace-card-header p {
    font-size: .82rem;
    max-width: 690px;
}

.declaration-modal .import-modal-grid {
    gap: 1rem;
    grid-template-columns: minmax(0, 1.42fr) minmax(260px, .95fr);
}

.declaration-modal .import-modal-left {
    gap: .7rem;
}

.declaration-modal .upload-role-panel {
    gap: .45rem;
    padding: .75rem;
}

.declaration-modal .upload-role-panel h3 {
    font-size: .92rem;
}

.declaration-modal .upload-role-panel p,
.declaration-modal .modal-dropzone small,
.declaration-modal .modal-dropzone em,
.declaration-modal .upload-relationship p,
.declaration-modal .import-note,
.declaration-modal .import-next-card li,
.declaration-modal .import-next-card p {
    font-size: .78rem;
}

.declaration-modal .declaration-dropzone,
.declaration-modal .order-dropzone {
    min-height: 128px;
}

.declaration-modal .mapping-dropzone {
    min-height: 84px;
}

.declaration-modal .modal-dropzone {
    gap: .35rem;
    padding: .75rem;
}

.declaration-modal .upload-cloud-icon {
    height: 30px;
    width: 30px;
}

.declaration-modal .upload-relationship {
    background: transparent;
    border: 0;
    gap: .3rem;
    padding: .2rem .5rem .35rem;
}

.visual-relationship .relationship-main {
    align-items: center;
    display: grid;
    gap: .7rem;
    grid-template-columns: 44px 1fr 44px;
    margin: 0 auto;
    max-width: 330px;
    width: 78%;
}

.visual-relationship .relationship-node {
    background: #dff5eb;
    border-radius: 8px;
    height: 44px;
    position: relative;
    width: 44px;
}

.visual-relationship .file-node::before {
    color: var(--green);
    content: "▤";
    font-size: 1.45rem;
    font-weight: 850;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.visual-relationship .check-node::before {
    color: var(--green);
    content: "✓";
    font-size: 1.45rem;
    font-weight: 900;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.visual-relationship .relationship-arrow {
    background: var(--green);
    height: 3px;
    position: relative;
}

.visual-relationship .relationship-arrow::after {
    border-bottom: 6px solid transparent;
    border-left: 8px solid var(--green);
    border-top: 6px solid transparent;
    content: "";
    position: absolute;
    right: -1px;
    top: 50%;
    transform: translateY(-50%);
}

.visual-relationship .relationship-labels {
    display: flex;
    font-size: .72rem;
    justify-content: space-around;
    margin: 0 auto;
    max-width: 380px;
}

.visual-relationship .relationship-helper {
    display: flex;
    justify-content: center;
}

.visual-relationship .relationship-helper span {
    background: #fff;
    border: 1px solid #8ab9ee;
    border-radius: 6px;
    color: #0b61a4;
    font-size: .74rem;
    font-weight: 850;
    padding: .35rem .65rem;
}

.declaration-modal .import-modal-fields {
    gap: .55rem;
}

.declaration-modal .import-modal-fields label {
    font-size: .82rem;
}

.declaration-modal .source-type-selected,
.declaration-modal .import-next-card,
.declaration-modal .import-note {
    border-radius: 8px;
    padding: .7rem;
}

.declaration-modal .import-next-card {
    gap: .45rem;
}

.declaration-modal .modal-actions {
    border-top: 1px solid #edf1f6;
    margin-top: .75rem;
    padding-top: .65rem;
}

/* New import modal: compact reference layout */
.declaration-modal.import-modal {
    max-height: 86vh;
    max-width: 880px;
    overflow-y: auto;
    padding: 1rem 1.15rem .8rem;
    width: min(92vw, 880px);
}

.declaration-modal .workspace-card-header {
    margin-bottom: .7rem;
}

.declaration-modal .workspace-card-header h2 {
    color: #12203a;
    font-size: 1.34rem;
    font-weight: 850;
    letter-spacing: 0;
    margin: 0;
}

.declaration-modal .workspace-card-header p {
    color: #5d6d84;
    font-size: .79rem;
    line-height: 1.45;
    margin-top: .35rem;
    max-width: 620px;
}

.declaration-modal .modal-close {
    color: #072b57;
    font-size: 1.35rem;
    padding: .1rem .2rem;
}

.declaration-modal .import-modal-grid {
    gap: .9rem;
    grid-template-columns: minmax(0, 1.42fr) minmax(270px, .95fr);
}

.declaration-modal .declaration-context-panel {
    border-left: 1px solid #d9e1ec;
    padding-left: .95rem;
}

.declaration-modal .upload-role-panel {
    border-radius: 8px;
    gap: .42rem;
    padding: .72rem .78rem;
}

.declaration-modal .upload-role-panel.is-required {
    background: #f3fcf8;
    border-color: #a9dfc9;
}

.declaration-modal .upload-role-panel.is-optional {
    background: #f8fbff;
    border-color: #bad5f7;
}

.declaration-modal .upload-role-heading {
    min-height: 24px;
}

.declaration-modal .upload-role-panel h3 {
    color: #07325f;
    font-size: .86rem;
    font-weight: 900;
    line-height: 1.2;
}

.declaration-modal .upload-role-panel.is-required h3 {
    color: #008a56;
}

.declaration-modal .upload-role-panel p {
    color: #536176;
    font-size: .75rem;
    line-height: 1.35;
}

.panel-corner-icon,
.relationship-node {
    align-items: center;
    background: #dff3ea;
    border-radius: 8px;
    color: #0b9a63;
    display: inline-flex;
    justify-content: center;
}

.panel-corner-icon {
    height: 28px;
    width: 28px;
}

.panel-corner-icon svg,
.relationship-node svg,
.modal-svg-icon svg,
.relationship-helper svg {
    fill: none;
    height: 1.25rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.1;
    width: 1.25rem;
}

.declaration-modal .modal-dropzone {
    border-radius: 8px;
    gap: .35rem;
    padding: .72rem;
}

.declaration-modal .order-dropzone {
    min-height: 126px;
}

.declaration-modal .mapping-dropzone {
    align-items: center;
    column-gap: .75rem;
    grid-template-columns: auto 1fr;
    justify-items: start;
    min-height: 84px;
    text-align: left;
}

.declaration-modal .mapping-dropzone .btn,
.declaration-modal .mapping-dropzone em,
.declaration-modal .mapping-dropzone small {
    grid-column: 2;
}

.modal-svg-icon {
    align-items: center;
    color: #0b9a63;
    display: inline-flex;
    justify-content: center;
}

.upload-svg-icon {
    height: 30px;
    width: 30px;
}

.map-svg-icon {
    background: #e9f4ff;
    border-radius: 8px;
    color: #116bb9;
    grid-row: 1 / span 3;
    height: 42px;
    width: 42px;
}

.declaration-modal .modal-dropzone small,
.declaration-modal .modal-dropzone em {
    color: #536176;
    font-size: .74rem;
}

.declaration-modal .modal-dropzone .btn {
    border-radius: 6px;
    font-size: .75rem;
    font-weight: 850;
    padding: .42rem .95rem;
}

.declaration-modal .visual-relationship {
    padding: .28rem .35rem .25rem;
    position: relative;
}

.visual-relationship .relationship-main {
    grid-template-columns: 44px 1fr 44px;
    max-width: 330px;
    width: 80%;
}

.visual-relationship .relationship-node {
    height: 44px;
    width: 44px;
}

.visual-relationship .file-node::before,
.visual-relationship .check-node::before {
    content: none;
}

.visual-relationship .relationship-arrow {
    background: #0b9a63;
    height: 3px;
}

.visual-relationship .relationship-arrow::after {
    border-left-color: #0b9a63;
}

.visual-relationship .relationship-labels {
    color: #071f3e;
    font-size: .68rem;
    font-weight: 850;
    max-width: 390px;
    padding: 0 1.6rem;
}

.visual-relationship .relationship-helper {
    margin-top: .18rem;
    position: relative;
}

.visual-relationship .relationship-helper::before,
.visual-relationship .relationship-helper::after {
    border-color: #2687d9;
    border-style: dashed;
    content: "";
    height: 30px;
    position: absolute;
    top: -28px;
    width: 96px;
}

.visual-relationship .relationship-helper::before {
    border-width: 0 0 2px 2px;
    left: 24%;
}

.visual-relationship .relationship-helper::after {
    border-width: 0 2px 2px 0;
    right: 25%;
}

.visual-relationship .relationship-helper span {
    align-items: center;
    background: #fff;
    border: 1px solid #80b7ee;
    border-radius: 6px;
    color: #075da9;
    display: inline-flex;
    font-size: .71rem;
    gap: .4rem;
    padding: .32rem .7rem;
}

.visual-relationship .relationship-helper svg {
    height: .95rem;
    width: .95rem;
}

.declaration-modal .import-modal-fields {
    gap: .58rem;
}

.declaration-modal .import-modal-fields label {
    align-items: center;
    color: #092b54;
    display: flex;
    font-size: .77rem;
    font-weight: 900;
    gap: .35rem;
    margin: 0;
}

.field-help-icon {
    align-items: center;
    border: 1px solid #7a8da6;
    border-radius: 999px;
    color: #607189;
    display: inline-flex;
    font-size: .58rem;
    font-weight: 900;
    height: .85rem;
    justify-content: center;
    width: .85rem;
}

.modal-select-shell {
    position: relative;
}

.modal-select-shell .form-select,
.modal-select-shell .form-control {
    border-color: #d5deea;
    border-radius: 6px;
    color: #27384c;
    font-size: .82rem;
    min-height: 38px;
    padding-left: 2.45rem;
}

.modal-select-shell .source-type-icon,
.modal-select-shell .modal-input-icon {
    left: .75rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.modal-select-shell .source-type-icon {
    height: 21px;
    width: 21px;
}

.declaration-modal .source-icon-shopify {
    background: #e8f8f1;
    border: 0;
    color: #14905e;
}

.declaration-modal .source-icon-shopify::before {
    content: "S";
    font-size: .78rem;
    font-weight: 950;
}

.modal-input-icon {
    color: #0d2f56;
    height: 20px;
    width: 20px;
}

.coins-icon::before,
.coins-icon::after,
.calendar-icon::before,
.tip-icon::before {
    content: "";
    position: absolute;
}

.coins-icon::before {
    background: #0d2f56;
    border-radius: 50%;
    box-shadow: 0 6px 0 #0d2f56, 7px 3px 0 #0d2f56, 7px 9px 0 #0d2f56;
    height: 6px;
    left: 1px;
    top: 2px;
    width: 10px;
}

.calendar-icon {
    right: .75rem;
    left: auto !important;
}

.calendar-icon::before {
    border: 2px solid #0d2f56;
    border-radius: 3px;
    height: 15px;
    left: 2px;
    top: 3px;
    width: 16px;
}

.period-shell .form-control {
    padding-left: .85rem;
    padding-right: 2.4rem;
}

.declaration-modal .import-next-card {
    background: #f5f9ff;
    border-color: #c8dbf3;
    gap: .62rem;
    padding: .82rem;
}

.declaration-modal .import-next-card h3 {
    color: #092b54;
    font-size: .86rem;
    font-weight: 900;
}

.next-step-list {
    display: grid;
    gap: .55rem;
}

.next-step-list div {
    align-items: center;
    display: grid;
    gap: .65rem;
    grid-template-columns: 24px 1fr;
}

.next-step-list span {
    align-items: center;
    background: #0964ae;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 900;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.next-step-list p {
    color: #253b56;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.35;
}

.declaration-modal .modal-tip-note {
    align-items: flex-start;
    background: #f0fbf6;
    border-color: #bbe4d1;
    display: grid;
    gap: .65rem;
    grid-template-columns: 24px 1fr;
    line-height: 1.55;
}

.tip-icon {
    border: 1.8px solid #408070;
    border-radius: 999px 999px 70% 70%;
    display: inline-block;
    height: 18px;
    margin-top: .08rem;
    position: relative;
    width: 14px;
}

.tip-icon::before {
    background: #408070;
    bottom: -5px;
    height: 5px;
    left: 3px;
    width: 8px;
}

.declaration-modal .modal-actions {
    align-items: center;
    border-top: 1px solid #eef2f7;
    margin-left: -1.15rem;
    margin-right: -1.15rem;
    margin-top: .8rem;
    padding: .75rem 1.15rem 0;
}

.declaration-modal .modal-footer-state {
    font-size: .76rem;
}

.declaration-modal .disabled-reason {
    display: none;
}

.declaration-modal .start-import-button {
    border-radius: 6px;
    min-width: 152px;
}

.declaration-context-panel {
    border-left: 1px solid var(--line);
    padding-left: 1.6rem;
}

.file-received-card {
    background: linear-gradient(135deg, #f3fcf7, #fff);
    border: 1px solid #bde7d1;
    border-radius: 12px;
    display: grid;
    gap: .45rem;
    margin-top: .75rem;
    padding: 1rem;
}

.file-received-card strong {
    color: var(--navy);
}

.file-received-card p {
    border-top: 1px solid #dcefe6;
    color: #667085;
    margin: .45rem 0 0;
    padding-top: .55rem;
}

.workspace-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.workspace-header h1 {
    color: var(--navy);
    font-size: 2rem;
    font-weight: 950;
    margin: 0;
}

.workspace-header p {
    color: #536176;
    margin: .25rem 0 0;
}

.focused-mapping-layout {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 300px;
}

.mapping-source-relationship-row {
    align-items: center;
    display: grid;
    gap: .9rem;
    grid-template-columns: minmax(0, 1fr) 160px minmax(0, .95fr);
    margin-bottom: 1rem;
}

.mapping-source-card {
    align-items: center;
    background: #fff;
    border: 1px solid #d6e1ef;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(7, 49, 95, .05);
    display: grid;
    gap: 1rem;
    grid-template-columns: 52px minmax(0, 1fr);
    min-height: 112px;
    padding: 1rem 1.15rem;
}

.mapping-source-card h2 {
    color: var(--navy);
    font-size: .88rem;
    font-weight: 900;
    margin: 0 0 .28rem;
}

.mapping-source-card strong {
    color: #26364a;
    display: block;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.mapping-source-card small {
    color: #536176;
    display: block;
    margin: .45rem 0 .55rem;
}

.mapping-source-card.calculation-source {
    border-color: #a9dfc9;
}

.mapping-source-card.recognition-source {
    border-color: #bacff4;
}

.mapping-source-icon {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.mapping-source-icon.csv-icon {
    background: #0aa365;
    color: #fff;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .02em;
}

.mapping-source-icon.helper-icon {
    background: #ebe8ff;
    color: #5047c7;
}

.mapping-source-icon svg {
    fill: none;
    height: 1.65rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 1.65rem;
}

.mapping-source-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .4rem;
}

.badge-soft.info {
    background: #eeeafe;
    color: #5047c7;
}

.mapping-relationship-connector {
    align-items: center;
    color: #26415f;
    display: grid;
    gap: .35rem;
    justify-items: center;
    text-align: center;
}

.mapping-relationship-connector span {
    background: linear-gradient(90deg, #0aa365, #2f7ce0);
    height: 2px;
    position: relative;
    width: 100%;
}

.mapping-relationship-connector span::before,
.mapping-relationship-connector span::after {
    border-radius: 999px;
    content: "";
    height: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
}

.mapping-relationship-connector span::before {
    background: #0aa365;
    left: -4px;
}

.mapping-relationship-connector span::after {
    background: #2f7ce0;
    right: -4px;
}

.mapping-relationship-connector strong {
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.2;
}

.no-helper-source {
    background: #f8fbff;
    grid-template-columns: 1fr;
}

.no-helper-source p {
    color: #536176;
    margin: 0;
}

.focused-primary-mapping-card {
    display: grid;
    gap: .95rem;
}

.focused-card-title {
    align-items: center;
    display: flex;
    gap: .75rem;
}

.focused-card-title h2,
.focused-next-step-card h2 {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 950;
    margin: 0;
}

.focused-card-title p,
.focused-next-step-card p {
    color: #34445a;
    margin: .15rem 0 0;
}

.focused-warning-icon {
    align-items: center;
    border: 2px solid #ff8a2b;
    border-radius: 999px;
    color: #f26a00;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .85rem;
    font-weight: 950;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.focused-source-line {
    color: #536176;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.focused-source-line strong {
    color: #075da9;
}

.focused-required-alert {
    background: #fff7ed;
    border: 1px solid #f8c99d;
    border-radius: 8px;
    color: #d75b00;
    display: grid;
    gap: .25rem;
    padding: .75rem .9rem;
}

.focused-required-alert span {
    font-size: .82rem;
}

.focused-required-alert strong {
    color: #e7511c;
}

.focused-field-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.focused-field-card {
    align-items: center;
    border: 1px solid #d7e1ee;
    border-radius: 8px;
    display: grid;
    gap: .35rem;
    justify-items: center;
    min-height: 88px;
    padding: .75rem .45rem;
    text-align: center;
}

.focused-field-card strong {
    color: var(--navy);
    font-size: .82rem;
}

.focused-field-card small {
    color: #667085;
    font-weight: 750;
}

.focused-field-card .field-icon {
    align-items: center;
    background: transparent;
    color: currentColor;
    display: inline-flex;
    height: 22px;
    justify-content: center;
    width: 22px;
}

.focused-field-card.is-mapped {
    background: #f3fcf8;
    border-color: #a9dfc9;
    color: #06945d;
}

.focused-field-card.is-missing {
    background: #fff6f3;
    border-color: #ffa9a9;
    color: #e01f1f;
}

.focused-field-card.is-optional {
    background: #f8fafc;
    border-color: #d7e1ee;
    color: #7a8797;
}

.focused-primary-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.focused-primary-actions span {
    color: #667085;
    font-size: .84rem;
}

.compact-helper-active-card {
    align-items: center;
    background: #f7faff;
    border-color: #c8d8f4;
    display: grid;
    gap: .8rem;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.compact-helper-active-card h2,
.compact-source-detection-card h2 {
    color: var(--navy);
    font-size: .9rem;
    font-weight: 950;
    margin: 0;
}

.compact-helper-active-card p {
    color: #33465e;
    margin: .12rem 0 0;
}

.compact-helper-links {
    display: flex;
    gap: .5rem;
}

.compact-helper-links a,
.compact-helper-links button {
    background: transparent;
    border: 0;
    color: #075da9;
    font-size: .82rem;
    font-weight: 800;
    padding: 0;
    text-decoration: none;
}

.compact-source-detection-card {
    display: grid;
    gap: .7rem;
}

.compact-detection-grid {
    display: grid;
    gap: .45rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compact-detection-grid span {
    color: #536176;
}

.compact-detection-grid strong {
    color: var(--navy);
}

.compact-details summary {
    color: #075da9;
    cursor: pointer;
    font-weight: 850;
}

.focused-collapsed-sections {
    background: #fff;
    border: 1px solid #dce5f1;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(7, 49, 95, .04);
    overflow: hidden;
}

.focused-collapsed-sections details {
    border-bottom: 1px solid #e7edf5;
    padding: 0;
}

.focused-collapsed-sections details:last-child {
    border-bottom: 0;
}

.focused-collapsed-sections summary {
    align-items: center;
    color: var(--navy);
    cursor: pointer;
    display: flex;
    gap: .75rem;
    font-weight: 900;
    list-style: none;
    padding: .8rem 1rem;
}

.focused-collapsed-sections summary::-webkit-details-marker {
    display: none;
}

.focused-collapsed-sections summary::after {
    color: #0e2f56;
    content: "⌄";
    margin-left: auto;
}

.focused-collapsed-sections details[open] summary::after {
    content: "⌃";
}

.focused-collapsed-sections summary small {
    color: #7a8797;
    font-weight: 650;
}

.focused-collapsed-sections details > :not(summary) {
    margin: 0 1rem 1rem;
}

.focused-next-step-card {
    display: grid;
    gap: .8rem;
    position: sticky;
    top: 1rem;
}

.focused-next-step-card h2 {
    align-items: center;
    display: flex;
    gap: .6rem;
}

.focused-next-step-card .btn {
    justify-content: center;
}

.mapping-helper-mini-note {
    background: #f1fbf6;
    border: 1px solid #c7e8d5;
    border-radius: 8px;
    color: #15714d !important;
    font-size: .83rem;
    margin: 0 !important;
    padding: .65rem;
}

@media (max-width: 1200px) {
    .focused-mapping-layout,
    .mapping-source-relationship-row {
        grid-template-columns: 1fr;
    }

    .mapping-relationship-connector {
        display: none;
    }

    .focused-field-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .compact-helper-active-card {
        grid-template-columns: auto minmax(0, 1fr);
    }
}

.scan-completed-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
}

.scan-completed-hero {
    border-color: #bde7d1;
    min-height: 88px;
}

.scan-summary-columns {
    align-items: stretch;
}

.scan-summary-columns > .workspace-card {
    display: grid;
}

.scan-summary-columns > .workspace-card:first-child {
    background: linear-gradient(135deg, #f4fcf8, #fff);
    border-color: #bde7d1;
}

.scan-summary-columns > .workspace-card:nth-child(2) {
    background: linear-gradient(135deg, #fffaf2, #fff);
    border-color: #f3d7ab;
}

.scan-summary-columns > .workspace-card.blocking {
    background: linear-gradient(135deg, #fff7f7, #fff);
}

.manual-drawer-backdrop {
    backdrop-filter: blur(3px);
    background: rgba(9,29,55,.28);
}

.issue-manual-drawer,
.ean-manual-drawer,
.product-master-modal {
    border-radius: 0;
    box-shadow: -18px 0 48px rgba(7,49,95,.18);
    max-width: 520px;
    width: min(520px, 100vw);
}

.manual-drawer-title {
    margin-bottom: .75rem;
}

@media (max-width: 1200px) {
    .dashboard-hero-card,
    .dashboard-main-grid,
    .dashboard-process-card,
    .ready-analysis-layout,
    .scan-completed-layout {
        grid-template-columns: 1fr;
    }

    .dashboard-hero-visual {
        display: none;
    }

    .dashboard-process-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .app-shell {
        grid-template-columns: 1fr;
    }

    .app-sidebar {
        position: static;
    }

    .dashboard-process-steps {
        grid-template-columns: 1fr;
    }

    .import-modal-grid,
    .product-health-body {
        grid-template-columns: 1fr;
    }

    .declaration-context-panel {
        border-left: 0;
        padding-left: 0;
    }
}

/* Connected dashboard process overview */
.connected-dashboard {
    gap: 1.15rem;
}

.dashboard-page-header {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.dashboard-page-header h1 {
    color: var(--navy);
    font-size: clamp(2rem, 3.5vw, 2.65rem);
    font-weight: 950;
    margin: 0;
}

.dashboard-page-header p {
    color: #536176;
    font-size: 1.03rem;
    margin: .25rem 0 0;
}

.dashboard-page-header .btn {
    align-items: center;
    box-shadow: 0 14px 28px rgba(16, 163, 103, .22);
    display: inline-flex;
    gap: .55rem;
}

.dashboard-page-header .btn span {
    font-size: 1.25rem;
    line-height: 1;
}

.dashboard-process-status-card {
    display: grid;
    gap: 1.15rem;
    grid-template-columns: 1fr;
    min-height: 175px;
    overflow: visible;
    padding: 1.45rem 2rem 1.65rem;
    position: relative;
}

.dashboard-process-status-card .card-title-row {
    margin-bottom: 0;
}

.dashboard-process-status-card h2 {
    color: var(--navy);
    font-size: 1.15rem;
    font-weight: 950;
}

.process-pipeline {
    display: grid;
    gap: 2.2rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: .85rem 1.25rem 1rem;
    position: relative;
}

.process-pipeline::before {
    display: none;
}

.process-stage {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: 64px minmax(0, 1fr);
    min-height: 92px;
    position: relative;
    z-index: 1;
}

.process-stage:not(:last-child)::before {
    background: currentColor;
    content: "";
    height: 3px;
    left: calc(100% - 8px);
    opacity: .95;
    position: absolute;
    top: 43px;
    width: 2.05rem;
}

.process-stage:not(:last-child)::after {
    border: solid currentColor;
    border-width: 0 3px 3px 0;
    content: "";
    height: 10px;
    opacity: .9;
    position: absolute;
    right: -2.1rem;
    top: 39px;
    transform: rotate(-45deg);
    width: 10px;
}

.process-stage.is-complete {
    color: var(--green);
}

.process-stage.is-current {
    color: var(--orange);
}

.process-stage.is-blocked {
    color: #8c98aa;
}

.process-stage.is-blocked::after {
    opacity: .55;
}

.process-stage.is-current::before {
    background: repeating-linear-gradient(90deg, #b9c4d3 0 10px, transparent 10px 18px);
}

.process-stage.is-current::after {
    border-color: #b9c4d3;
}

.process-stage.is-blocked::before {
    background: #b9c4d3;
    opacity: .35;
}

.process-number {
    align-items: center;
    background: #fff;
    border: 2px solid currentColor;
    border-radius: 999px;
    color: currentColor;
    display: inline-flex;
    font-size: 1.35rem;
    font-weight: 950;
    height: 66px;
    justify-content: center;
    position: relative;
    width: 66px;
}

.process-stage.is-complete .process-number::after {
    align-items: center;
    background: var(--green);
    border: 3px solid #fff;
    border-radius: 999px;
    bottom: -4px;
    color: #fff;
    content: "✓";
    display: inline-flex;
    font-size: .72rem;
    height: 21px;
    justify-content: center;
    position: absolute;
    right: -3px;
    width: 21px;
}

.process-stage.is-current .process-number {
    background: #fff7ed;
    box-shadow: 0 0 0 6px rgba(255, 128, 0, .14), 0 16px 28px rgba(255, 128, 0, .14);
}

.process-stage.is-current .process-number::after {
    align-items: center;
    background: var(--orange);
    border: 3px solid #fff;
    border-radius: 999px;
    bottom: -5px;
    color: #fff;
    content: "!";
    display: inline-flex;
    font-size: .8rem;
    font-weight: 950;
    height: 23px;
    justify-content: center;
    position: absolute;
    right: -5px;
    width: 23px;
}

.current-stage-label {
    background: #ff6b1a;
    border-radius: 7px;
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
    left: 64px;
    padding: .28rem .5rem;
    position: absolute;
    top: -21px;
    white-space: nowrap;
}

.process-stage strong {
    color: var(--navy);
    display: block;
    font-weight: 950;
}

.process-stage.is-current strong {
    color: #e55300;
}

.process-stage small {
    color: #536176;
    display: block;
    margin-top: .15rem;
}

.process-card-connectors {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    height: 38px;
    inset: auto 1.8rem -38px;
    margin: 0;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.process-card-connectors span {
    border-color: #9aa7b8;
    border-left: 2px solid;
    border-top: 2px solid;
    height: 38px;
    justify-self: center;
    opacity: .9;
    width: min(68%, 210px);
}

.connector-upload,
.connector-analysis {
    border-color: var(--green);
}

.connector-repair {
    border-color: var(--orange);
}

.connector-export {
    border-color: #9aa7b8;
}

.step-linked-card {
    border-top: 3px solid #d8e2ee;
}

.step-linked-card--upload {
    border-top-color: var(--green);
}

.step-linked-card--repair {
    border-top-color: var(--orange);
}

.step-linked-card--export {
    border-top-color: #9aa7b8;
}

.step-linked-card--planning,
.step-linked-card--demo {
    border-top-color: #4f8fea;
}

.step-label {
    border-radius: 999px;
    display: inline-block;
    font-size: .72rem;
    font-weight: 900;
    margin-bottom: .35rem;
    padding: .22rem .55rem;
}

.step-label.success {
    background: #e9f8f0;
    color: var(--green);
}

.step-label.warning {
    background: #fff4df;
    color: #b35300;
}

.step-label.danger {
    background: #fff0f0;
    color: var(--red);
}

.step-label.neutral {
    background: #eef3f8;
    color: #40516a;
}

.step-label.info {
    background: #eaf3ff;
    color: #1267c7;
}

.blocked-reason {
    color: #9b2c2c;
    display: block;
    margin-top: .5rem;
}

.dashboard-process-legend {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(7,49,95,.05);
    color: #536176;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.35rem;
    padding: .9rem 1.15rem;
}

.dashboard-process-legend strong {
    color: var(--navy);
    font-weight: 950;
}

.dashboard-process-legend span {
    align-items: center;
    display: inline-flex;
    gap: .5rem;
}

.legend-line {
    border-top: 2px solid;
    display: inline-block;
    width: 34px;
}

.legend-line.upload {
    border-color: var(--green);
}

.legend-line.repair {
    border-color: var(--orange);
}

.legend-line.export {
    border-color: #9aa7b8;
}

@media (max-width: 1200px) {
    .dashboard-page-header {
        align-items: start;
        flex-direction: column;
    }

    .process-pipeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 2rem;
    }

    .process-pipeline::before,
    .process-stage::after,
    .process-card-connectors {
        display: none;
    }
}

@media (max-width: 760px) {
    .process-pipeline {
        grid-template-columns: 1fr;
    }

    .process-stage {
        border-left: 3px solid currentColor;
        grid-template-columns: 52px minmax(0, 1fr);
        padding-left: .75rem;
    }

    .process-number {
        height: 46px;
        width: 46px;
    }
}

.impact-explanation {
    background: #f8fbff;
    border: 1px solid #dce8f4;
    border-radius: 8px;
    color: #536176;
    font-size: .84rem;
    margin: .75rem 0 0;
    padding: .75rem;
}

.export-package-card.blocked {
    background: #fff9f8;
}

.workspace-bottom-bar {
    align-items: center;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-radius: 14px;
    bottom: 1rem;
    box-shadow: 0 18px 38px rgba(7,49,95,.12);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(240px, 1fr) auto auto;
    left: calc(220px + 1.5rem);
    padding: 1rem;
    position: fixed;
    pointer-events: none;
    right: 1.5rem;
    z-index: 20;
}

.workspace-bottom-bar > * {
    pointer-events: auto;
}

.workspace-bottom-bar .btn-success:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.blocking-summary {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.blocking-summary span:last-child {
    color: #536176;
}

.alert-dot {
    background: var(--red);
    border-radius: 999px;
    height: 24px;
    width: 24px;
}

.workspace-mobile-first {
    display: none;
}

.issue-resolution-header {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(7,49,95,.05);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: .75rem;
    padding: .65rem .8rem;
}

.issue-resolution-brand {
    align-items: center;
    color: var(--navy);
    display: flex;
    flex-wrap: wrap;
    font-weight: 850;
    gap: .7rem;
}

.issue-resolution-brand span:last-child {
    border-left: 1px solid var(--line);
    color: #0b315f;
    padding-left: .7rem;
}

.issue-resolution-logo {
    align-items: center;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 6px;
    color: #0b315f;
    display: inline-flex;
    font-size: .62rem;
    font-weight: 950;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.issue-resolution-stepper {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(7,49,95,.05);
    margin-bottom: .75rem;
    padding: .55rem .7rem;
}

.issue-resolution-stepper .progress-strip {
    margin: 0;
}

.workspace-grid.simplified.fixing-inline-layout {
    grid-template-columns: minmax(0, 1fr);
    margin-inline: auto;
    max-width: 1500px;
}

.fixing-inline-layout .workspace-center {
    min-width: 0;
}

.fixing-inline-layout .current-issue-stack {
    gap: .85rem;
}

.fixing-inline-layout .current-file-position-card {
    min-height: auto;
}

.fixing-inline-layout .issue-diagnosis-card {
    min-height: 0;
}

.fixing-inline-layout .guided-repair-grid {
    grid-template-columns: minmax(0, 1fr);
}

.fixing-inline-layout .guided-action-column {
    display: none;
}

.fixing-inline-layout .guided-problem-card,
.fixing-inline-layout .issue-specific-inline-editor,
.fixing-inline-layout .duplicate-resolution-workspace,
.fixing-inline-layout .product-link-focus-workspace {
    border-radius: 8px;
}

.inline-fix-module {
    background: #f8fbff;
    border: 1px solid #cfe0f3;
    border-radius: 8px;
    margin-top: 1rem;
    padding: 1rem;
    scroll-margin-top: 24px;
    outline: none;
}

.inline-fix-module:focus {
    box-shadow: 0 0 0 3px rgba(11, 49, 95, .14), 0 16px 36px rgba(7, 49, 95, .08);
}

.inline-fix-module--ean {
    background: #fff;
    border-color: #9bbce9;
    box-shadow: 0 16px 36px rgba(7, 49, 95, .08);
}

.inline-fix-module--sku {
    background: #fff;
    border-color: #ef4444;
    box-shadow: 0 18px 38px rgba(218, 45, 45, .1);
    margin-top: 1rem;
    position: relative;
}

.inline-fix-module--sku::before {
    border-left: 2px dotted rgba(218, 45, 45, .42);
    content: "";
    height: 46px;
    left: 38%;
    pointer-events: none;
    position: absolute;
    top: -47px;
}

.inline-fix-module--sku::after {
    background: var(--red);
    border-radius: 999px;
    content: "";
    height: 9px;
    left: calc(38% - 3.5px);
    position: absolute;
    top: -6px;
    width: 9px;
}

/* Controle workspace success state */
.success-workspace-layout {
    animation: success-enter .28s ease both;
}

.success-main-column {
    min-width: 0;
}

.workspace-success-hero {
    align-items: center;
    background:
        radial-gradient(circle at 92% 18%, rgba(23, 163, 103, .16), transparent 28%),
        linear-gradient(135deg, #f1fff8 0%, #f8fffb 58%, #ffffff 100%);
    border: 1px solid #9eddbc;
    border-radius: 16px;
    box-shadow: 0 18px 42px rgba(7, 49, 95, .08);
    display: flex;
    gap: 2rem;
    padding: 2.4rem 2.6rem;
}

.workspace-success-hero h2 {
    color: #087442;
    font-size: clamp(2rem, 4vw, 3.6rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 0 .75rem;
}

.workspace-success-hero p {
    color: #3e526b;
    font-size: 1rem;
    margin: 0;
}

.workspace-success-hero .success-hero-subtitle {
    color: var(--navy);
    font-size: 1.2rem;
    font-weight: 750;
    margin-bottom: .5rem;
}

.success-hero-icon,
.completion-illustration {
    align-items: center;
    background: linear-gradient(145deg, #0db46c, #058c50);
    border-radius: 999px;
    box-shadow: 0 18px 40px rgba(5, 140, 80, .24);
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 4rem;
    font-weight: 900;
    height: 116px;
    justify-content: center;
    line-height: 1;
    width: 116px;
}

.success-stepper-card {
    padding: 1.5rem;
}

.success-stepper {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.success-step {
    color: var(--navy);
    display: grid;
    gap: .5rem;
    min-width: 0;
    position: relative;
    text-align: center;
}

.success-step::before {
    background: var(--green);
    content: "";
    height: 3px;
    left: calc(50% + 18px);
    position: absolute;
    right: calc(-50% + 18px);
    top: 17px;
}

.success-step:last-child::before {
    display: none;
}

.success-step span {
    align-items: center;
    background: var(--green);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .9rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    justify-self: center;
    position: relative;
    width: 34px;
    z-index: 1;
}

.success-step strong {
    font-size: .78rem;
    line-height: 1.25;
}

.success-completion-panel {
    align-items: center;
    display: grid;
    gap: 2rem;
    grid-template-columns: 220px minmax(0, 1fr);
    padding: 2rem;
}

.completion-illustration {
    background: #e9f9f1;
    box-shadow: none;
    color: var(--green);
    font-size: 5rem;
    height: 160px;
    justify-self: center;
    width: 160px;
}

.completion-content h2 {
    font-size: 1.55rem;
    margin-bottom: .4rem;
}

.completion-content > p {
    color: #5e6c80;
    margin-bottom: 1.5rem;
}

.completion-checklist {
    display: grid;
    gap: 1rem 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.completion-checklist div {
    display: grid;
    gap: .18rem .75rem;
    grid-template-columns: 28px minmax(0, 1fr);
}

.completion-checklist span {
    align-items: center;
    border: 2px solid var(--green);
    border-radius: 999px;
    color: var(--green);
    display: inline-flex;
    font-size: .8rem;
    font-weight: 900;
    height: 22px;
    justify-content: center;
    margin-top: .1rem;
    width: 22px;
}

.completion-checklist strong,
.completion-checklist small {
    grid-column: 2;
}

.completion-checklist small {
    color: #627085;
}

.success-actions {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(220px, 1.3fr) minmax(180px, 1fr) minmax(180px, 1fr);
    margin-top: 2rem;
    padding-top: 1.25rem;
}

.success-metrics-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 1.4rem;
}

.success-metrics-strip div {
    border-right: 1px solid var(--line);
    display: grid;
    gap: .2rem;
    justify-items: center;
    padding: .45rem 1rem;
    text-align: center;
}

.success-metrics-strip div:last-child {
    border-right: 0;
}

.success-metrics-strip strong {
    color: var(--green);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.success-metrics-strip span {
    color: var(--navy);
    font-weight: 800;
}

.success-metrics-strip small {
    color: #627085;
}

.success-export-sidebar {
    gap: 1rem;
}

.success-export-panel h2,
.success-export-panel h3 {
    color: var(--navy);
    font-size: 1.05rem;
    font-weight: 900;
    margin: 0 0 1rem;
}

.success-export-panel h3 {
    color: #536176;
    font-size: .9rem;
    margin-top: 1.25rem;
}

.success-export-list {
    display: grid;
    gap: .8rem;
}

.success-export-list article,
.success-other-reports div {
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: .8rem;
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 1rem;
}

.success-export-list article {
    background: linear-gradient(135deg, #ffffff, #f8fffb);
}

.success-export-icon {
    align-items: center;
    background: #eaf8f1;
    border-radius: 12px;
    color: var(--green);
    display: inline-flex;
    font-size: .68rem;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.success-export-list strong,
.success-other-reports strong {
    color: var(--navy);
    display: block;
    font-weight: 900;
}

.success-export-list p,
.success-other-reports small {
    color: #637083;
    display: block;
    font-size: .82rem;
    margin: .35rem 0 .75rem;
}

.success-other-reports {
    display: grid;
    gap: .65rem;
}

.success-health-card {
    align-items: center;
    background: linear-gradient(135deg, #f1fff8, #ffffff);
    border-color: #bfe8d7;
    display: flex;
    gap: 1rem;
}

.success-health-card h2 {
    color: #087442;
}

.success-health-card p {
    color: #536176;
    margin: .25rem 0 .5rem;
}

.workspace-status-summary .status-counts strong:not(.danger):not(.warning) {
    color: var(--green);
}

.workspace-status-summary .status-counts strong.success {
    color: var(--green);
}

@keyframes success-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1200px) {
    .success-workspace-layout {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .success-export-sidebar {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .success-stepper {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .success-step::before {
        display: none;
    }
}

@media (max-width: 900px) {
    .workspace-success-hero,
    .success-completion-panel {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .workspace-success-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .completion-checklist,
    .success-actions,
    .success-metrics-strip,
    .success-export-sidebar {
        grid-template-columns: 1fr;
    }

    .success-metrics-strip div {
        border-bottom: 1px solid var(--line);
        border-right: 0;
    }

    .success-metrics-strip div:last-child {
        border-bottom: 0;
    }
}

.inline-fix-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: .85rem;
}

.inline-fix-header h3 {
    color: var(--navy);
    font-size: 1.1rem;
    margin: .35rem 0 .15rem;
}

.inline-fix-header p {
    color: #536176;
    margin: 0;
}

.inline-fix-header p strong {
    color: var(--navy);
    font-weight: 900;
}

.inline-row-issues {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: .75rem;
    margin: .75rem 0 1rem;
    padding: .85rem;
}

.inline-row-issues > div:first-child {
    display: grid;
    gap: .15rem;
}

.inline-row-issues strong {
    color: var(--navy);
}

.inline-row-issues small {
    color: #627085;
}

.inline-row-issue-list {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.inline-row-issue-pill {
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--navy);
    cursor: pointer;
    display: grid;
    gap: .1rem;
    min-width: 150px;
    padding: .55rem .7rem;
    text-align: left;
}

.inline-row-issue-pill span {
    color: #627085;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.inline-row-issue-pill strong {
    font-size: .86rem;
    line-height: 1.2;
}

.inline-row-issue-pill.chip-red {
    border-color: #fecaca;
}

.inline-row-issue-pill.chip-orange {
    border-color: #fed7aa;
}

.inline-row-issue-pill.chip-green {
    border-color: #bbf7d0;
}

.inline-row-issue-pill.is-current {
    background: #fff1f2;
    border-color: var(--red);
    box-shadow: 0 8px 22px rgba(220, 38, 38, .12);
}

.inline-row-issue-pill:not(.is-current):hover,
.inline-row-issue-pill:not(.is-current):focus-visible {
    border-color: #7da2d6;
    box-shadow: 0 8px 22px rgba(7, 49, 95, .08);
    outline: none;
}

.inline-fix-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inline-fix-span {
    grid-column: 1 / -1;
}

.inline-current-value {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: .25rem;
    padding: .75rem;
}

.inline-current-value strong {
    color: #536176;
    font-size: .82rem;
}

.inline-current-value span {
    color: var(--navy);
    font-weight: 800;
}

.inline-current-value small {
    color: var(--red);
    font-weight: 700;
}

.ean-inline-layout {
    display: grid;
    gap: 1.6rem;
    grid-template-columns: minmax(420px, .85fr) minmax(460px, 1fr);
}

.ean-problem-column,
.ean-correction-column {
    display: grid;
    gap: 1rem;
}

.ean-problem-cards {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ean-problem-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .35rem;
    min-height: 82px;
    padding: .85rem 1rem;
}

.ean-problem-card.is-field {
    background: #fff5f5;
    border-color: #ef4444;
}

.warning-problem-cards .ean-problem-card.is-field {
    background: #fff8ed;
    border-color: var(--orange);
}

.info-problem-cards .ean-problem-card.is-field {
    background: #eefbf5;
    border-color: var(--green);
}

.ean-problem-card small {
    color: #526176;
    font-size: .78rem;
    font-weight: 850;
}

.ean-problem-card strong {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 900;
}

.ean-problem-card:nth-child(2) strong {
    color: var(--red);
}

.info-problem-cards .ean-problem-card:nth-child(2) strong {
    color: var(--green);
}

.ean-problem-card p {
    color: var(--navy);
    font-size: .82rem;
    line-height: 1.35;
    margin: 0;
}

.ean-problem-card a {
    color: #075fb3;
    font-size: .8rem;
    font-weight: 850;
    text-decoration: none;
}

.ean-product-link .form-select {
    background-color: #fff;
}

.ean-input-shell {
    position: relative;
}

.ean-input-shell .form-control {
    padding-right: 2.6rem;
}

.ean-input-shell .form-control.is-invalid {
    background: #fffafa;
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .08);
}

.ean-input-shell .form-control.is-valid {
    background: #f8fffb;
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(21, 155, 114, .1);
}

.ean-scan-icon {
    border: 1px solid #7d8da5;
    border-bottom-width: 3px;
    border-radius: 3px;
    height: 18px;
    position: absolute;
    right: .75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
}

.ean-scan-icon::before,
.ean-scan-icon::after {
    background: #7d8da5;
    content: "";
    height: 12px;
    position: absolute;
    top: 2px;
    width: 1px;
}

.ean-scan-icon::before {
    left: 5px;
}

.ean-scan-icon::after {
    right: 5px;
}

.ean-validation-message {
    display: block;
    font-weight: 800;
}

.ean-validation-message.is-invalid {
    color: var(--red);
}

.ean-validation-message.is-valid {
    color: var(--green);
}

.sku-problem-cards {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: .9rem;
}

.sku-problem-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .3rem;
    min-height: 82px;
    padding: .85rem 1rem;
}

.sku-problem-card.is-field {
    background: #fff5f5;
    border-color: #ef4444;
    grid-template-columns: 34px minmax(0, 1fr);
}

.sku-problem-card.is-field small,
.sku-problem-card.is-field strong {
    grid-column: 2;
}

.sku-problem-card small,
.sku-solution-section h4,
.sku-interpretations h4 {
    color: var(--navy);
    font-size: .82rem;
    font-weight: 900;
    margin: 0;
}

.sku-problem-card strong {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 950;
}

.sku-problem-card:nth-child(2) strong {
    color: var(--red);
}

.sku-problem-card p {
    color: #24354f;
    font-size: .86rem;
    margin: 0;
}

.sku-problem-icon,
.solution-icon {
    align-items: center;
    background: #fff0f0;
    border-radius: 999px;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    position: relative;
    width: 30px;
}

.sku-problem-icon::before {
    border: 2px solid var(--red);
    border-radius: 4px;
    content: "";
    height: 14px;
    transform: rotate(45deg);
    width: 14px;
}

.sku-solution-section {
    display: grid;
    gap: .6rem;
    margin-bottom: .9rem;
}

.sku-solution-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sku-solution-card {
    align-items: start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--navy);
    cursor: pointer;
    display: grid;
    gap: .25rem .65rem;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: .8rem;
    text-align: left;
}

.sku-solution-card strong,
.sku-solution-card small {
    grid-column: 2;
}

.sku-solution-card small {
    color: #536176;
    line-height: 1.35;
}

.sku-solution-card i {
    border: 2px solid #b7c4d5;
    border-radius: 999px;
    grid-column: 3;
    grid-row: 1 / span 2;
    height: 17px;
    width: 17px;
}

.sku-solution-card.is-selected {
    background: #fff7f7;
    border-color: #ef4444;
    box-shadow: 0 10px 22px rgba(218, 45, 45, .1);
}

.sku-solution-card.is-selected i {
    background: var(--red);
    border-color: var(--red);
    box-shadow: inset 0 0 0 4px #fff;
}

.solution-icon::before {
    color: #075fb3;
    font-size: 1rem;
    font-weight: 950;
}

.link-icon::before { content: "↔"; }
.pencil-icon::before { content: "✎"; }
.rule-icon::before { content: "∴"; }

.sku-fix-body {
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
}

.sku-fields-panel {
    background: #fffafa;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: .85rem;
}

.sku-selected-fields {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sku-interpretations {
    display: grid;
    gap: .55rem;
}

.inline-conflict-table tr.is-current td {
    background: #fff4f4;
}

.inline-fix-note {
    background: #eff6ff;
    border: 1px solid #c9ddff;
    border-radius: 10px;
    color: #174a8b;
    margin-top: .85rem;
    padding: .75rem;
}

.inline-fix-actions {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: 1rem;
}

.product-link-resolution {
    display: grid;
    grid-template-columns: minmax(320px, .38fr) minmax(420px, .62fr);
    gap: 18px;
    align-items: start;
}

.product-link-resolution.is-create-mode {
    grid-template-columns: minmax(300px, .32fr) minmax(0, .68fr);
}

.product-link-context,
.product-picker-panel,
.product-link-options,
.product-creation-form {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: 18px;
}

.product-picker-panel,
.product-link-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.product-link-step-heading,
.product-creation-header {
    align-items: center;
    display: flex;
    gap: 12px;
}

.product-link-step-heading h4,
.product-creation-header h4 {
    color: #0b315f;
    font-size: 1.08rem;
    font-weight: 900;
    margin: 0;
}

.product-creation-header p {
    color: #475569;
    margin: 2px 0 0;
}

.product-creation-header .status-chip {
    margin-left: auto;
}

.step-badge {
    align-items: center;
    background: #0b5fc4;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.product-search-shell {
    position: relative;
}

.product-search-shell .form-control {
    padding-right: 44px;
}

.product-search-shell span {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #0b315f;
    font-weight: 900;
}

.product-results-header,
.product-create-row,
.product-link-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-results-header span,
.product-create-row span,
.product-link-footer span {
    color: #64748b;
    font-size: .9rem;
}

.product-result-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-result-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: center;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    padding: 14px;
}

.product-result-card.is-selected,
.product-result-card.is-active {
    border-color: #0b315f;
    box-shadow: 0 0 0 3px rgba(11, 49, 95, .1);
}

.product-result-card strong {
    display: block;
    color: #0b315f;
}

.product-result-card small,
.product-result-card p {
    margin: 2px 0;
    color: #475569;
}

.product-result-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.product-result-badges > span:not(.status-chip) {
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    padding: 3px 8px;
    font-size: .78rem;
    font-weight: 700;
}

.product-empty-state,
.new-product-drawer {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    padding: 16px;
}

.product-empty-state {
    display: grid;
    gap: 10px;
    min-height: 210px;
    place-items: center;
    text-align: center;
}

.product-empty-state strong {
    color: #0b315f;
    font-size: 1.05rem;
}

.product-empty-state p {
    color: #475569;
    margin: 0;
    max-width: 310px;
}

.product-empty-state .btn {
    min-width: 240px;
}

.product-link-step-card {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    color: #0b315f;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 72px;
    padding: 14px;
    text-align: left;
    width: 100%;
}

.product-link-step-card small {
    color: #475569;
    display: block;
    font-weight: 600;
    margin-top: 2px;
}

.product-link-step-card.is-active {
    background: #f0f7ff;
    border-color: #0b5fc4;
    box-shadow: inset 4px 0 0 #0b5fc4;
}

.product-link-step-card.is-active .step-badge {
    background: #047857;
}

.product-creation-form {
    display: grid;
    gap: 18px;
}

.product-creation-grid {
    display: grid;
    gap: 16px 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-creation-grid .form-control,
.product-creation-grid .form-select {
    min-height: 46px;
}

.product-creation-grid .form-check {
    align-self: center;
}

.product-deposit-check {
    margin-top: 28px;
}

.product-note-field {
    grid-column: 2;
    grid-row: span 2;
}

.product-note-field textarea {
    min-height: 110px;
}

.weight-unit-row {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) 92px;
}

.concept-warning {
    grid-column: 1 / -1;
    margin: 0;
}

.product-ean-unknown {
    align-self: end;
    margin-bottom: 10px;
}

.inline-conflict-table {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    margin: 0 0 .85rem;
    overflow: hidden;
}

.inline-conflict-table th,
.inline-conflict-table td {
    padding: .6rem .75rem;
}

.product-master-modal {
    border-radius: 16px;
    left: 50%;
    max-height: min(720px, calc(100vh - 3rem));
    max-width: 640px;
    overflow: auto;
    right: auto;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(640px, calc(100vw - 2rem));
}

@media (max-width: 900px) {
    .inline-fix-grid,
    .ean-inline-layout,
    .product-link-resolution,
    .product-creation-grid,
    .ean-problem-cards,
    .sku-problem-cards,
    .sku-solution-grid,
    .sku-fix-body,
    .sku-selected-fields {
        grid-template-columns: 1fr;
    }

    .product-note-field,
    .concept-warning {
        grid-column: auto;
    }

    .inline-fix-actions,
    .inline-fix-header {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 1380px) {
    .workspace-grid {
        grid-template-columns: 260px minmax(460px, 1fr) 320px;
    }

    .workspace-grid.simplified {
        grid-template-columns: 240px minmax(430px, 1fr) 310px;
    }

    .workspace-lower-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1120px) {
    .workspace-grid {
        grid-template-columns: 1fr;
    }

    .workspace-right {
        position: static;
        order: -1;
    }

    .workspace-left {
        order: 3;
    }

    .workspace-center {
        order: 2;
    }

    .workspace-desktop-progress {
        display: none;
    }

    .workspace-mobile-first {
        display: block;
    }

    .workspace-bottom-bar {
        left: 1rem;
        right: 1rem;
        grid-template-columns: 1fr;
    }

    .workspace-status-summary {
        grid-template-columns: 1fr;
    }

    .status-counts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .status-counts div {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding: .75rem 0 0;
    }
}

@media (max-width: 820px) {
    .workspace-header,
    .workspace-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .workspace-progress {
        grid-template-columns: 1fr;
    }

    .workspace-progress-step::before {
        display: none;
    }

    .workspace-issue-card {
        grid-template-columns: 1fr;
    }

    .next-action-body {
        grid-template-columns: 1fr;
    }

    .diagnosis-header,
    .diagnosis-nav {
        align-items: stretch;
        flex-direction: column;
    }

    .diagnosis-grid {
        grid-template-columns: 1fr;
    }

    .focused-diagnosis-grid,
    .diagnosis-copy div {
        grid-template-columns: 1fr;
    }

    .next-action-symbol {
        height: 68px;
        width: 100%;
    }

    .issue-actions {
        justify-content: flex-start;
    }
}

.post-scan-layout {
    display: grid;
    gap: 1rem;
}

.post-scan-progress-card {
    padding: 1.35rem 1.5rem;
}

.post-scan-progress-card h2,
.post-scan-base-card h2,
.post-scan-ai-card h2,
.post-scan-overview-card h2,
.post-scan-package-card h2 {
    color: var(--navy);
    font-size: 1.08rem;
    font-weight: 850;
    margin: 0;
}

.post-scan-stepper {
    align-items: start;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-top: 1.25rem;
    position: relative;
}

.post-scan-stepper::before {
    background: linear-gradient(90deg, var(--green) 0 var(--scan-progress, 100%), #d6e2ef var(--scan-progress, 100%) 100%);
    content: "";
    height: 4px;
    left: 1.25rem;
    position: absolute;
    right: 1.25rem;
    top: 18px;
}

.post-scan-stepper.progress-0 { --scan-progress: 0%; }
.post-scan-stepper.progress-1 { --scan-progress: 14%; }
.post-scan-stepper.progress-2 { --scan-progress: 28%; }
.post-scan-stepper.progress-3 { --scan-progress: 42%; }
.post-scan-stepper.progress-4 { --scan-progress: 57%; }
.post-scan-stepper.progress-5 { --scan-progress: 71%; }
.post-scan-stepper.progress-6 { --scan-progress: 86%; }
.post-scan-stepper.progress-7 { --scan-progress: 100%; }

.post-scan-step {
    display: grid;
    gap: .35rem;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.post-scan-step span {
    align-items: center;
    background: var(--green);
    border: 3px solid #fff;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(21, 155, 114, .25);
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.post-scan-step strong {
    color: var(--navy);
    font-size: .8rem;
}

.post-scan-step small {
    color: var(--green);
    font-weight: 700;
}

.post-scan-step.is-pending span {
    background: #fff;
    box-shadow: 0 0 0 2px #1263d8;
    color: #1263d8;
}

.post-scan-step.is-pending small {
    color: var(--muted);
}

.post-scan-step.is-running span {
    animation: postScanPulse 1.1s ease-in-out infinite;
    background: #fff;
    box-shadow: 0 0 0 2px #1263d8;
    color: #1263d8;
}

.post-scan-step.is-running small {
    color: #1263d8;
}

.post-scan-step.is-warning span {
    background: var(--orange);
    color: #fff;
}

.post-scan-step.is-warning small {
    color: var(--orange);
}

.post-scan-step.is-blocking span {
    background: var(--red);
    color: #fff;
}

.post-scan-step.is-blocking small {
    color: var(--red);
}

.post-scan-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
}

.post-scan-base-card,
.post-scan-ai-card {
    border-radius: 8px;
    min-height: 270px;
    padding: 1.7rem;
}

.post-scan-base-card {
    background: linear-gradient(115deg, #f0fff7 0%, #fff 78%);
    border-color: #bde9d5;
    border-right: 0;
}

.post-scan-base-card.is-blocked {
    background: linear-gradient(115deg, #fff3f3 0%, #fff 78%);
    border-color: #f0b8b8;
}

.post-scan-base-card.is-warning {
    background: linear-gradient(115deg, #fff8e6 0%, #fff 78%);
    border-color: #f4d188;
}

.post-scan-ai-card {
    background: linear-gradient(115deg, #f7fbff 0%, #fff 82%);
    border-color: #cbdcf2;
    border-left: 0;
}

.post-scan-card-head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
}

.post-scan-card-head p {
    color: #526176;
    font-size: 1rem;
    line-height: 1.45;
    margin: .35rem 0 0;
    max-width: 680px;
}

.post-scan-check {
    align-items: center;
    background: var(--green);
    border-radius: 999px;
    box-shadow: 0 18px 30px rgba(21, 155, 114, .2);
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 2rem;
    font-weight: 900;
    height: 62px;
    justify-content: center;
    width: 62px;
}

.post-scan-spinner {
    animation: postScanSpin 1.1s linear infinite;
    border: 5px solid #d7e5fb;
    border-radius: 999px;
    border-top-color: #1263d8;
    flex: 0 0 auto;
    height: 52px;
    width: 52px;
}

.post-scan-ai-check,
.post-scan-ai-failed,
.post-scan-ai-skipped {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .9rem;
    font-weight: 900;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.post-scan-ai-check {
    background: #e8f8f1;
    color: var(--green);
}

.post-scan-ai-failed {
    background: #fff0f0;
    color: var(--red);
}

.post-scan-ai-skipped {
    background: #eef3f8;
    color: #536176;
}

.post-scan-ai-hint {
    color: #1263d8 !important;
    font-weight: 750;
    margin-top: .25rem !important;
}

@keyframes postScanSpin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes postScanPulse {
    50% {
        box-shadow: 0 0 0 5px rgba(18, 99, 216, .15);
    }
}

.post-scan-metrics,
.post-scan-ai-status {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 1.45rem 0 1rem;
    padding: 1.05rem;
}

.post-scan-ai-status {
    grid-template-columns: 1fr 1.1fr 1fr;
}

.post-scan-metrics div,
.post-scan-ai-status div {
    border-right: 1px solid var(--line);
    display: grid;
    gap: .15rem;
    min-width: 0;
    padding: .2rem .85rem;
}

.post-scan-metrics div:last-child,
.post-scan-ai-status div:last-child {
    border-right: 0;
}

.post-scan-metrics strong {
    color: var(--green);
    font-size: 1.8rem;
    font-weight: 900;
}

.post-scan-metrics strong.danger {
    color: var(--red);
}

.post-scan-metrics strong.warning,
.post-scan-overview-row b.warning {
    color: var(--orange);
}

.post-scan-metrics strong.info,
.post-scan-overview-row b.info {
    color: #1263d8;
}

.post-scan-metrics span,
.post-scan-ai-status small {
    color: #526176;
    font-size: .86rem;
}

.post-scan-ai-status strong {
    color: var(--navy);
}

.ai-mini-icon {
    align-items: center;
    background: #e9f2ff;
    border-radius: 999px;
    color: #1263d8;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.ai-mini-icon.progress,
.ai-mini-icon.clock {
    border: 3px solid #d9e8ff;
    border-top-color: #1263d8;
}

.ai-mini-icon.done {
    background: #e8f8f1;
    border: 0;
    color: var(--green);
}

.ai-mini-icon.failed {
    background: #fff0f0;
    border: 0;
    color: var(--red);
}

.ai-mini-icon.skipped {
    background: #eef3f8;
    border: 0;
    color: #536176;
}

.ai-progressbar {
    background: #e7edf5;
    border-radius: 999px;
    height: 10px;
    margin-top: .35rem;
    overflow: hidden;
}

.ai-progressbar span {
    background: #1263d8;
    border-radius: inherit;
    display: block;
    height: 100%;
}

.generic-problem-cards {
    margin: .75rem 0 1rem;
}

.problem-input-highlight {
    background: #fff7f7 !important;
    border-color: var(--red) !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .08) !important;
}

.problem-input-highlight.is-warning {
    background: #fff8ed !important;
    border-color: var(--orange) !important;
    box-shadow: 0 0 0 3px rgba(245, 130, 32, .12) !important;
}

.problem-input-highlight.is-info {
    background: #eefbf5 !important;
    border-color: var(--green) !important;
    box-shadow: 0 0 0 3px rgba(21, 155, 114, .1) !important;
}

.export-rule-panel,
.export-rule-confirmation {
    display: grid;
    gap: 1rem;
}

.export-rule-confirmation {
    background: #fff;
    border: 1px solid #c7eedf;
    border-radius: 8px;
    padding: 1rem;
}

.export-rule-confirmation h4 {
    color: var(--navy);
    font-size: 1rem;
    margin: 0 0 .35rem;
}

.export-rule-confirmation p {
    color: #46556f;
    margin: 0;
}

.warning-export-note {
    background: #fff8ed;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    color: #8a4b00;
    font-weight: 800;
    margin: 0 0 1rem;
    padding: .75rem .9rem;
}

.quantity-preview {
    border-radius: 8px;
    font-weight: 900;
    margin-top: 1rem;
    padding: .9rem 1rem;
}

.quantity-preview.is-valid {
    background: #eefbf5;
    border: 1px solid #a7f3d0;
    color: var(--green);
}

.quantity-preview.is-warning {
    background: #fff8ed;
    border: 1px solid #fed7aa;
    color: var(--orange);
}

.pack-multiplier-panel {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .75fr);
}

.pack-ambiguity-box,
.pack-calculation-preview {
    border-radius: 8px;
    display: grid;
    gap: .45rem;
    margin-top: .85rem;
    padding: 1rem;
}

.pack-ambiguity-box {
    background: #fff7f7;
    border: 1px solid #fecaca;
    color: var(--navy);
}

.pack-ambiguity-box span:nth-child(4) {
    color: var(--red);
    font-weight: 900;
}

.pack-calculation-preview {
    background: #eefbf5;
    border: 1px solid #a7f3d0;
    color: var(--green);
    font-weight: 900;
}

.pack-calculation-preview.is-warning {
    background: #fff8ed;
    border-color: #fed7aa;
    color: var(--orange);
}

.pack-correction-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 1rem;
}

.pack-correction-panel h4 {
    color: var(--navy);
    font-size: 1rem;
    margin: 0 0 .85rem;
}

.pack-multiplier-input-row {
    align-items: center;
    display: grid;
    gap: .55rem;
    grid-template-columns: minmax(110px, 160px) 1fr;
}

.pack-multiplier-input-row small {
    color: #526176;
    font-weight: 750;
}

.pack-secondary-correction {
    background: #fff8ed;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    margin-top: 1rem;
    padding: 1rem;
}

.pack-recommendation-card article {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .45rem;
    margin-top: .75rem;
    padding: .85rem;
}

.post-scan-actions {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.summary-cta-row,
.review-nav-actions,
.report-page-actions,
.package-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.summary-cta-row {
    margin-top: .9rem;
}

.post-scan-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 330px minmax(0, 1fr) 430px;
}

.post-scan-side {
    display: grid;
    gap: 1rem;
}

.post-scan-overview-card,
.post-scan-package-card {
    padding: 1.25rem;
}

.post-scan-overview-row {
    align-items: center;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    display: grid;
    gap: .85rem;
    grid-template-columns: 28px minmax(0, 1fr) auto auto;
    padding: 1rem .6rem;
    text-align: left;
    width: 100%;
}

.post-scan-overview-row:not(.is-static):hover,
.post-scan-overview-row:not(.is-static):focus-visible {
    background: #f7fbff;
    outline: none;
}

.post-scan-overview-row b {
    color: var(--red);
    font-weight: 900;
}

.post-scan-overview-row.is-static b {
    color: var(--green);
}

.post-scan-overview-row b.ai-pending {
    color: #1263d8;
}

.post-scan-overview-row b.ai-ready,
.post-scan-overview-row b.readiness-ready {
    color: var(--green);
}

.post-scan-overview-row b.readiness-partial {
    color: var(--orange);
}

.post-scan-overview-row b.readiness-blocked {
    color: var(--red);
}

.severity-icon {
    border: 2px solid currentColor;
    border-radius: 999px;
    display: inline-block;
    height: 16px;
    width: 16px;
}

.severity-icon.blocking { color: var(--red); }
.severity-icon.warning { color: var(--orange); }
.severity-icon.info { color: #1263d8; }
.severity-icon.ai { color: #7c3aed; }
.severity-icon.ready { color: var(--green); }

.post-scan-info-note {
    background: #edf6ff;
    border-radius: 8px;
    color: #38536f;
    font-size: .93rem;
    margin: 1rem 0 0;
    padding: 1rem;
}

.post-scan-package-card {
    display: grid;
    gap: .75rem;
}

.post-scan-package-card article {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem;
}

.post-scan-package-card p {
    color: #526176;
    margin: .25rem 0 0;
}

.post-scan-package-card small {
    color: #64748b;
    display: block;
    margin-top: .25rem;
}

.package-page-layout {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 360px;
}

.report-package-page {
    display: grid;
    gap: 1rem;
}

.declaration-readiness-panel {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    padding: 1rem;
}

.declaration-readiness-panel strong {
    color: var(--navy);
    font-size: 1.05rem;
}

.declaration-readiness-panel p {
    color: #526176;
    margin: .2rem 0 0;
}

.declaration-readiness-panel span {
    border-radius: 999px;
    font-weight: 900;
    padding: .35rem .65rem;
}

.declaration-readiness-panel.readiness-blocked {
    background: #fff7f7;
    border-color: #fecaca;
}

.declaration-readiness-panel.readiness-blocked span {
    background: #fff0f0;
    color: var(--red);
}

.declaration-readiness-panel.readiness-partial {
    background: #fffaf0;
    border-color: #fed7aa;
}

.declaration-readiness-panel.readiness-partial span {
    background: #fff4df;
    color: var(--orange);
}

.declaration-readiness-panel.readiness-ready {
    background: #f1fff8;
    border-color: #bde9d5;
}

.declaration-readiness-panel.readiness-ready span {
    background: #e8f8f1;
    color: var(--green);
}

.package-status-grid {
    display: grid;
    gap: .75rem;
}

.package-status-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem;
}

.package-status-row.danger {
    background: #fffafa;
    border-color: #fecaca;
}

.package-status-row.warning {
    background: #fffdf7;
    border-color: #fed7aa;
}

.package-status-row.success {
    background: #f8fffb;
    border-color: #bde9d5;
}

.package-status-row strong {
    color: var(--navy);
    font-weight: 950;
}

.package-status-row p {
    color: #344258;
    margin: .35rem 0 .15rem;
}

.package-status-row small,
.audit-status-panel p {
    color: #64748b;
}

.audit-status-panel {
    background: #f7fbff;
    border: 1px solid #cfe0f3;
    border-radius: 10px;
    padding: 1rem;
}

.audit-status-panel h3 {
    color: var(--navy);
    font-size: 1rem;
    margin: 0 0 .35rem;
}

.blocker-nav-card {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.blocker-nav-card p {
    color: #64748b;
    margin: .15rem 0 0;
}

@media (max-width: 1200px) {
    .post-scan-hero,
    .post-scan-grid,
    .package-page-layout {
        grid-template-columns: 1fr;
    }

    .post-scan-base-card,
    .post-scan-ai-card {
        border: 1px solid var(--line);
    }
}

@media (max-width: 760px) {
    .post-scan-stepper {
        gap: .9rem;
        grid-template-columns: 1fr;
    }

    .post-scan-stepper::before {
        bottom: 1rem;
        height: auto;
        left: 18px;
        right: auto;
        top: 1rem;
        width: 4px;
    }

    .post-scan-metrics,
    .post-scan-ai-status {
        grid-template-columns: 1fr;
    }

    .post-scan-metrics div,
    .post-scan-ai-status div {
        border-bottom: 1px solid var(--line);
        border-right: 0;
        padding: .65rem 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .post-scan-spinner {
        animation: none !important;
    }

    .post-scan-step.is-running span {
        animation: none !important;
    }
}

/* Controle workspace transition choreography */
.controle-workspace {
    position: relative;
}

.controle-workspace.is-background-disabled > *:not(.processing-overlay):not(.workspace-toast) {
    pointer-events: none;
}

.upload-transition-shell {
    min-height: 320px;
    position: relative;
}

.upload-transition-shell.is-uploading .row {
    opacity: .45;
}

.processing-overlay {
    align-items: center;
    background: rgba(246, 248, 251, .76);
    display: flex;
    inset: 0;
    justify-content: center;
    min-height: 260px;
    padding: 1.25rem;
    position: absolute;
    z-index: 30;
}

.confirm-overlay {
    position: fixed;
}

.workspace-starting-page {
    display: grid;
    gap: 1.25rem;
}

.workspace-starting-info {
    align-items: flex-start;
    border-color: #bfdbfe;
    display: flex;
    gap: 1rem;
}

.workspace-starting-info h1 {
    font-size: 1.25rem;
    margin: 0 0 .25rem;
}

.workspace-starting-info p {
    margin: 0 0 .25rem;
}

.workspace-starting-card {
    align-items: center;
    display: grid;
    gap: 1rem;
    justify-items: center;
    min-height: 320px;
    text-align: center;
}

.workspace-starting-card h2 {
    font-size: 1.6rem;
    margin: .25rem 0 0;
}

.workspace-starting-card p {
    margin: 0;
}

.workspace-starting-steps {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
    max-width: 920px;
    width: 100%;
}

.workspace-starting-steps article {
    border: 1px solid #d7e0ef;
    border-radius: .75rem;
    padding: 1rem;
    text-align: left;
}

.workspace-starting-steps article.is-complete {
    border-color: #9fd6b2;
}

.workspace-starting-steps article.is-active {
    border-color: #93c5fd;
}

.workspace-starting-steps strong,
.workspace-starting-steps span {
    display: block;
}

.workspace-starting-steps span {
    color: #52627a;
    font-size: .9rem;
    margin-top: .25rem;
}

@media (max-width: 860px) {
    .workspace-starting-steps {
        grid-template-columns: 1fr;
    }
}

.processing-card {
    animation: workspace-overlay-in 180ms ease both;
    background: #fff;
    border: 1px solid #d8e3ef;
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(7, 49, 95, .14);
    display: grid;
    gap: .8rem;
    max-width: 520px;
    padding: 1.35rem;
    width: min(520px, 100%);
}

.processing-card h2 {
    color: var(--navy);
    font-size: 1.25rem;
    font-weight: 850;
    margin: 0;
}

.processing-card p {
    color: #526176;
    margin: 0;
}

.status-badge,
.file-type-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 850;
    padding: .3rem .55rem;
    width: fit-content;
}

.status-badge.is-loading {
    background: #eaf2ff;
    color: #1263d8;
}

.status-badge.neutral,
.file-type-badge {
    background: #eef3f8;
    color: #536176;
}

.processing-checklist {
    display: grid;
    gap: .45rem;
}

.processing-checklist span {
    align-items: center;
    color: #667085;
    display: flex;
    font-weight: 750;
    gap: .5rem;
}

.processing-checklist span::before {
    background: #dbe5f0;
    border-radius: 999px;
    content: "";
    height: 10px;
    width: 10px;
}

.processing-checklist span.is-active::before {
    animation: workspace-progress-pulse 1s ease-in-out infinite;
    background: #1263d8;
}

.processing-checklist span.is-complete {
    color: var(--green);
}

.processing-checklist span.is-complete::before {
    background: var(--green);
}

.file-role-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
}

.file-role-warning-card {
    background: #fff8f1;
    border-color: #ffbf78;
}

.file-role-warning-card ul {
    color: #536176;
    margin: .65rem 0 0;
}

.file-role-hint {
    background: #fff;
    border: 1px dashed #ffbf78;
    border-radius: 8px;
    color: #a34b00;
    font-weight: 800;
    margin-top: 1rem;
    padding: .75rem;
}

.file-role-actions-card {
    display: grid;
    gap: .75rem;
}

.file-role-choice {
    align-items: center;
    border: 1px solid #dbe5f0;
    border-radius: 8px;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .85rem;
}

.file-role-choice:first-of-type {
    background: #f2fbf7;
    border-color: #bde7d1;
}

.file-role-choice span {
    color: #667085;
    display: block;
    font-size: .86rem;
}

.source-relationship-card {
    align-items: stretch;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.source-relationship-card > div {
    background: #fff;
    border: 1px solid #dbe5f0;
    border-radius: 8px;
    display: grid;
    gap: .45rem;
    padding: 1rem;
}

.source-relationship-card > .source-relationship-arrow {
    align-items: center;
    background: transparent;
    border: 0;
    color: #536176;
    display: flex;
    font-size: .82rem;
    font-weight: 850;
    justify-content: center;
    max-width: 140px;
    text-align: center;
}

.source-relationship-card strong {
    color: var(--navy);
}

.source-relationship-card ul,
.declaration-output-list {
    display: grid;
    gap: .35rem;
    list-style: none;
    margin: .25rem 0 0;
    padding: 0;
}

.declaration-output-list li {
    background: #f6f8fb;
    border: 1px solid #dbe5f0;
    border-radius: 8px;
    color: #667085;
    font-weight: 750;
    padding: .5rem .65rem;
}

.inline-mapping-card {
    animation: workspace-card-expand 220ms ease both;
    overflow: clip;
}

.inline-mapping-table thead {
    animation: workspace-fade-in 140ms ease both;
}

.inline-mapping-table tbody tr {
    animation: workspace-row-enter 220ms ease both;
}

.inline-mapping-table tbody tr:nth-child(2) { animation-delay: 45ms; }
.inline-mapping-table tbody tr:nth-child(3) { animation-delay: 90ms; }
.inline-mapping-table tbody tr:nth-child(4) { animation-delay: 135ms; }
.inline-mapping-table tbody tr:nth-child(5) { animation-delay: 180ms; }
.inline-mapping-table tbody tr:nth-child(6) { animation-delay: 225ms; }

.inline-mapping-footer {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-top: 1rem;
}

.mapping-row-highlight {
    animation: mapping-row-highlight 900ms ease both;
}

.workspace-toast {
    animation: workspace-toast-in 180ms ease both;
    background: #07315f;
    border-radius: 8px;
    bottom: 1.25rem;
    box-shadow: 0 16px 36px rgba(7, 49, 95, .18);
    color: #fff;
    font-weight: 850;
    padding: .85rem 1rem;
    position: fixed;
    right: 1.25rem;
    z-index: 50;
}

@keyframes workspace-overlay-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes workspace-card-expand {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes workspace-row-enter {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes workspace-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mapping-row-highlight {
    0% { background: #fff7e8; }
    100% { background: transparent; }
}

@keyframes workspace-progress-pulse {
    50% { box-shadow: 0 0 0 5px rgba(18, 99, 216, .14); }
}

@keyframes workspace-toast-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
    .file-role-layout,
    .source-relationship-card {
        grid-template-columns: 1fr;
    }

    .source-relationship-card > .source-relationship-arrow {
        max-width: none;
    }

    .file-role-choice,
    .inline-mapping-footer {
        grid-template-columns: 1fr;
    }

    .inline-mapping-footer {
        align-items: stretch;
        display: grid;
    }
}

@media (prefers-reduced-motion: reduce) {
    .processing-card,
    .inline-mapping-card,
    .inline-mapping-table thead,
    .inline-mapping-table tbody tr,
    .mapping-row-highlight,
    .workspace-toast,
    .processing-checklist span.is-active::before {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}
/* Localhost onboarding */
.onboarding-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    background: #f2f6fb;
    color: #07152f;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.onboarding-shell svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
}

.onboarding-sidebar {
    position: sticky;
    top: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 20px 28px;
    background: radial-gradient(circle at 0 0, rgba(28, 94, 189, .22), transparent 34%), #06152f;
    color: #e8eef9;
}

.onboarding-sidebar-top {
    display: grid;
    gap: 24px;
}

.onboarding-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    font-size: 1.18rem;
}

.onboarding-logo {
    display: inline-grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    color: #0c9b46;
    background: linear-gradient(145deg, #f7fff8, #e0f7e8);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
    font-weight: 900;
    font-size: .92rem;
}

.local-profile-badge {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(53, 191, 101, .18);
    color: #dfffea;
    font-weight: 800;
    font-size: .78rem;
}

.local-profile-badge svg {
    color: #65df8a;
}

.onboarding-nav {
    display: grid;
    gap: 8px;
}

.onboarding-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0 12px;
    border-radius: 8px;
    color: #d8e2f3;
    text-decoration: none;
    font-weight: 750;
}

.onboarding-nav a:hover,
.onboarding-nav a:focus-visible {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.onboarding-nav a.is-active {
    background: rgba(255, 255, 255, .09);
    color: #5bea7e;
}

.onboarding-nav a svg {
    width: 24px;
    height: 24px;
}

.demo-environment-card {
    padding: 16px 17px;
    border: 1px solid rgba(126, 181, 255, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    color: #e8eef9;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.demo-card-title {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 9px;
    color: #63e986;
}

.demo-card-title strong {
    font-size: .95rem;
}

.demo-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: #4ce778;
    box-shadow: 0 0 0 4px rgba(76, 231, 120, .12);
}

.demo-environment-card p {
    margin: 16px 0 0;
    color: #eef4ff;
    font-size: .9rem;
    line-height: 1.55;
}

.onboarding-main {
    display: grid;
    place-items: start center;
    padding: 24px 28px;
}

.onboarding-card {
    width: min(100%, 1200px);
    min-height: calc(100vh - 48px);
    padding: 30px 34px 26px;
    border: 1px solid #dbe5f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(8, 22, 48, .08);
}

.onboarding-header h1 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.1;
    font-weight: 900;
    color: #07152f;
    letter-spacing: 0;
}

.onboarding-header p,
.section-heading p {
    color: #63718a;
}

.onboarding-header p {
    margin: 8px 0 0;
    font-size: 1.02rem;
}

.onboarding-stepper {
    display: grid;
    grid-template-columns: auto minmax(72px, 135px) auto minmax(72px, 135px) auto;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 28px auto 24px;
    padding: 0;
    list-style: none;
}

.step {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #718096;
    white-space: nowrap;
}

.step-circle {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1.5px solid #c8d5e5;
    border-radius: 50%;
    background: #fff;
    color: #516173;
    font-weight: 850;
}

.step-circle svg {
    width: 18px;
    height: 18px;
}

.step-label {
    font-weight: 800;
}

.step.is-complete {
    color: #13a047;
}

.step.is-complete .step-circle {
    color: #fff;
    border-color: #13a047;
    background: #13a047;
}

.step.is-current {
    color: #1169cf;
}

.step.is-current .step-circle {
    color: #fff;
    border-color: #1169cf;
    background: #1169cf;
    box-shadow: 0 8px 20px rgba(17, 105, 207, .24);
}

.step-line {
    height: 2px;
    background: #dbe3ee;
}

.step-line.is-complete {
    background: linear-gradient(90deg, #13a047 0 58%, #1169cf 58% 100%);
}

.onboarding-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 374px;
    gap: 30px;
    border-top: 1px solid #dfe7f1;
    padding-top: 20px;
}

.section-heading h2,
.workspace-form h2,
.onboarding-preview-panel h2 {
    margin: 0;
    font-size: 1.28rem;
    line-height: 1.2;
    font-weight: 900;
    color: #07152f;
}

.section-heading p {
    margin: 6px 0 0;
}

.use-case-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.use-case-card {
    position: relative;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 18px;
    min-height: 116px;
    padding: 18px 20px;
    border: 1px solid #d9e2ed;
    border-radius: 8px;
    background: #fff;
    text-align: left;
    color: #07152f;
    box-shadow: 0 8px 18px rgba(8, 22, 48, .04);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, transform .16s ease;
}

.use-case-card:hover,
.use-case-card:focus-visible {
    border-color: #9bb9dd;
    box-shadow: 0 12px 28px rgba(17, 46, 82, .09);
}

.use-case-card.is-selected {
    border-color: #19a64a;
    background: linear-gradient(135deg, rgba(28, 177, 77, .1), rgba(255, 255, 255, .94));
    box-shadow: 0 14px 30px rgba(20, 153, 66, .14), inset 0 0 0 1px rgba(25, 166, 74, .42);
}

.use-case-icon,
.other-icon,
.flow-icon {
    display: grid;
    place-items: center;
    border-radius: 8px;
}

.use-case-icon {
    width: 58px;
    height: 58px;
    color: #1169cf;
    background: #eaf2ff;
}

.use-case-icon svg {
    width: 32px;
    height: 32px;
}

.icon-shopping-cart {
    color: #13a047;
    background: #e7f8ed;
}

.icon-briefcase-business {
    color: #7b3fd0;
    background: #f0e8fb;
}

.icon-flask-conical {
    color: #f28a0c;
    background: #fff0dc;
}

.use-case-copy {
    display: grid;
    gap: 6px;
    padding-right: 20px;
}

.use-case-copy strong {
    font-size: 1rem;
    line-height: 1.25;
}

.use-case-copy span {
    color: #334464;
    line-height: 1.42;
    font-size: .92rem;
}

.use-case-copy em {
    justify-self: start;
    padding: 3px 9px;
    border-radius: 999px;
    background: #dff7e7;
    color: #13813c;
    font-style: normal;
    font-weight: 850;
    font-size: .78rem;
}

.selected-check {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #13a047;
    color: #fff;
}

.selected-check svg {
    width: 18px;
    height: 18px;
}

.workspace-form {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e1e8f1;
}

.workspace-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 340px);
    gap: 20px;
    margin-top: 14px;
}

.workspace-fields label {
    display: grid;
    gap: 8px;
    color: #07152f;
    font-weight: 800;
    font-size: .9rem;
}

.input-shell,
.select-shell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #cdd8e6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 1px rgba(8, 22, 48, .03);
}

.input-shell:focus-within,
.select-shell:focus-within {
    border-color: #1169cf;
    box-shadow: 0 0 0 3px rgba(17, 105, 207, .12);
}

.input-shell svg,
.select-shell svg {
    color: #58708c;
}

.input-shell .form-control,
.select-shell .form-select {
    min-height: 46px;
    padding: 0;
    border: 0;
    box-shadow: none;
    color: #07152f;
    font-weight: 700;
}

.select-shell {
    grid-template-columns: auto minmax(0, 1fr);
}

.country-flag {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(8, 22, 48, .08);
    background: linear-gradient(#ae1c28 0 33%, #fff 33% 66%, #21468b 66%);
}

.workspace-helper,
.onboarding-error {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 16px 0 0;
    padding: 12px 14px;
    border-radius: 8px;
    font-weight: 650;
    line-height: 1.45;
}

.workspace-helper {
    border: 1px solid #d6e7fb;
    background: #f1f7ff;
    color: #164d94;
}

.workspace-helper svg {
    margin-top: 1px;
    color: #1169cf;
}

.onboarding-error {
    border: 1px solid #f2b8b8;
    background: #fff3f3;
    color: #9a1c1c;
}

.workspace-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}

.primary-onboarding-button,
.secondary-onboarding-button,
.skip-onboarding {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 8px;
    font-weight: 850;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, transform .16s ease;
}

.primary-onboarding-button {
    min-width: 320px;
    min-height: 52px;
    padding: 0 26px;
    border: 1px solid #0e963f;
    background: linear-gradient(180deg, #18b84f, #0b9f3f);
    color: #fff;
    box-shadow: 0 14px 24px rgba(15, 158, 65, .24);
}

.primary-onboarding-button:hover:not(:disabled),
.primary-onboarding-button:focus-visible:not(:disabled) {
    background: linear-gradient(180deg, #1ec95b, #0b9f3f);
    box-shadow: 0 16px 28px rgba(15, 158, 65, .28);
}

.secondary-onboarding-button {
    min-height: 52px;
    padding: 0 24px;
    border: 1px solid #d0dbe8;
    background: #fff;
    color: #07152f;
    box-shadow: 0 8px 18px rgba(8, 22, 48, .06);
}

.primary-onboarding-button:disabled,
.secondary-onboarding-button:disabled,
.skip-onboarding:disabled {
    cursor: not-allowed;
    opacity: .68;
}

.button-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, .4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: onboarding-spin .8s linear infinite;
}

.skip-onboarding {
    margin: 16px auto 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1169cf;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.skip-onboarding svg {
    width: 16px;
    height: 16px;
}

.onboarding-preview-panel {
    align-self: start;
    padding: 24px 22px 20px;
    border: 1px solid #dce6f1;
    border-radius: 8px;
    background: linear-gradient(180deg, #fbfdff, #f7fbff);
    box-shadow: 0 14px 34px rgba(8, 22, 48, .08);
}

.preview-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.preview-title svg {
    color: #1169cf;
}

.creation-flow {
    position: relative;
    display: grid;
    gap: 0;
    margin: 22px 0 22px;
}

.creation-flow::before {
    content: "";
    position: absolute;
    top: 44px;
    bottom: 44px;
    left: 24px;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(#8bbfff, #d9e5f3);
}

.flow-node {
    position: relative;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-height: 76px;
}

.flow-icon {
    width: 50px;
    height: 50px;
    color: #1169cf;
    background: #e7f1ff;
    box-shadow: 0 0 0 8px #fbfdff;
    z-index: 1;
}

.flow-icon svg {
    width: 24px;
    height: 24px;
}

.flow-node strong,
.flow-node em {
    display: block;
}

.flow-node strong {
    color: #07152f;
    font-weight: 900;
}

.flow-node em {
    margin-top: 2px;
    color: #164d94;
    font-style: normal;
    font-weight: 700;
    font-size: .9rem;
}

.other-options {
    border-top: 1px solid #dfe7f1;
    padding-top: 18px;
}

.other-options h3 {
    margin: 0 0 10px;
    font-size: .95rem;
    font-weight: 900;
}

.other-options button {
    width: 100%;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    background: rgba(255, 255, 255, .88);
    color: #07152f;
    text-align: left;
    box-shadow: 0 7px 15px rgba(8, 22, 48, .04);
}

.other-options button:hover,
.other-options button:focus-visible {
    border-color: #a9c4e6;
    box-shadow: 0 10px 20px rgba(8, 22, 48, .07);
}

.other-icon {
    width: 42px;
    height: 42px;
}

.other-icon svg {
    width: 22px;
    height: 22px;
}

.other-options strong,
.other-options em {
    display: block;
}

.other-options strong {
    font-size: .9rem;
    font-weight: 900;
}

.other-options em {
    margin-top: 2px;
    color: #4f617a;
    font-style: normal;
    font-size: .84rem;
}

.other-options button > svg {
    width: 16px;
    height: 16px;
    color: #07152f;
}

.preview-note {
    display: flex;
    gap: 12px;
    margin: 22px 0 0;
    padding: 12px 14px;
    border: 1px solid #b9d5ff;
    border-radius: 8px;
    background: #f5f9ff;
    color: #0b63cf;
    font-weight: 750;
    line-height: 1.45;
}

@keyframes onboarding-spin {
    to { transform: rotate(360deg); }
}

.mixed-client-warning-card {
    border-color: #f1c96b;
    background: #fffaf0;
    margin-bottom: 16px;
}

.mixed-client-warning-card h2 {
    margin-top: 8px;
}

.mixed-client-warning-card dl {
    display: grid;
    gap: 8px;
    margin: 12px 0;
}

.mixed-client-warning-card dl div {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 12px;
}

.mixed-client-warning-card dt {
    color: #7a5a00;
}

.mixed-client-warning-card dd {
    margin: 0;
}

@media (max-width: 1120px) {
    .onboarding-shell {
        grid-template-columns: 1fr;
    }

    .onboarding-sidebar {
        display: none;
    }

    .onboarding-content-grid,
    .use-case-grid,
    .workspace-fields {
        grid-template-columns: 1fr;
    }

    .onboarding-card {
        width: min(100%, 880px);
    }
}

@media (max-width: 720px) {
    .onboarding-main {
        padding: 12px;
    }

    .onboarding-card {
        min-height: calc(100vh - 24px);
        padding: 22px 16px;
    }

    .onboarding-stepper {
        grid-template-columns: auto 1fr auto 1fr auto;
        gap: 8px;
        margin-inline: 0;
    }

    .step {
        gap: 6px;
    }

    .step-label {
        font-size: .76rem;
    }

    .step-circle {
        width: 32px;
        height: 32px;
    }

    .step-line {
        min-width: 22px;
    }

    .use-case-card {
        grid-template-columns: 56px minmax(0, 1fr);
        padding: 16px;
    }

    .use-case-icon {
        width: 48px;
        height: 48px;
    }

    .workspace-actions {
        justify-content: stretch;
    }

    .primary-onboarding-button,
    .secondary-onboarding-button {
        width: 100%;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .use-case-card,
    .primary-onboarding-button,
    .secondary-onboarding-button,
    .skip-onboarding,
    .button-spinner {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}
.workspace-status-summary:has(.status-ring.blocked) {
    border-color: #fecaca;
    background: linear-gradient(180deg, #fff7f7, #fff);
}

.workspace-status-summary:has(.status-ring.blocked) .status-main h2,
.workspace-status-summary .status-counts .danger {
    color: #dc2626;
}

.duplicate-resolution-workspace {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.duplicate-resolution-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 16px;
    align-items: start;
}

.duplicate-main-card,
.duplicate-decision-panel {
    border-radius: 8px;
}

.duplicate-card-header {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding-bottom: 16px;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 16px;
}

.guided-problem-icon.danger {
    background: #dc2626;
    color: #fff;
}

.duplicate-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.duplicate-badges span {
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: .8rem;
    font-weight: 700;
    color: #0b315f;
    background: #f8fafc;
}

.duplicate-badges .danger {
    border-color: #fecaca;
    color: #dc2626;
    background: #fff1f2;
}

.duplicate-compare-table {
    table-layout: fixed;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    overflow: hidden;
}

.duplicate-compare-table th,
.duplicate-compare-table td {
    padding: 10px 12px;
    vertical-align: middle;
}

.duplicate-compare-table thead th:nth-child(2) {
    background: #fff7f7;
    color: #b91c1c;
}

.duplicate-compare-table thead th:nth-child(4) {
    background: #f8fafc;
    color: #0b315f;
}

.match-indicator {
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: .7rem;
    font-weight: 800;
}

.match-indicator.is-match {
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
}

.match-indicator.is-different {
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.duplicate-info-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .65fr);
    gap: 16px;
    margin-top: 16px;
}

.duplicate-explanation,
.duplicate-bulk-panel,
.duplicate-recommended {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: 14px;
    background: #fff;
}

.duplicate-bulk-panel {
    background: #f8fbff;
}

.duplicate-bulk-panel .btn,
.duplicate-decision-panel .btn {
    width: 100%;
    margin-top: 8px;
}

.duplicate-decision-panel {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.duplicate-decision-panel small {
    color: #64748b;
    margin-bottom: 8px;
}

.inline-action-status,
.workspace-action-status {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 10px 12px;
    color: #1e3a8a;
    background: #eff6ff;
}

.inline-action-status strong,
.workspace-action-status strong {
    font-size: .95rem;
}

.inline-action-status span,
.inline-action-status small,
.workspace-action-status span {
    color: #475569;
}

.inline-action-status.is-error,
.workspace-action-status.is-error {
    border-color: #fecaca;
    color: #991b1b;
    background: #fff1f2;
}

.mapping-ai-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: .78rem;
    font-weight: 800;
    color: #475569;
    background: #f8fafc;
}

.mapping-ai-badge.is-available {
    border-color: #bbf7d0;
    color: #047857;
    background: #ecfdf5;
}

.mapping-ai-badge.is-not-needed {
    border-color: #bfdbfe;
    color: #1d4ed8;
    background: #eff6ff;
}

.mapping-ai-badge.is-running {
    border-color: #fed7aa;
    color: #c2410c;
    background: #fff7ed;
}

.mapping-ai-badge.is-unavailable,
.mapping-ai-badge.is-disabled {
    border-color: #e2e8f0;
    color: #64748b;
    background: #f8fafc;
}

.mapping-ai-badge.is-error {
    border-color: #fecaca;
    color: #b91c1c;
    background: #fff1f2;
}

.mapping-ai-assist-panel {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: 12px 14px;
    background: #f8fafc;
}

.mapping-ai-assist-panel p {
    margin: 0;
    color: #475569;
}

.mapping-ai-assist-panel p:first-child {
    color: #0b315f;
    font-weight: 800;
}

.mapping-ai-assist-panel blockquote {
    margin: 4px 0 0;
    border-left: 3px solid #bfdbfe;
    padding-left: 10px;
    color: #0b315f;
}

.mapping-ai-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.mapping-ai-assist-panel.is-not-needed {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.mapping-ai-assist-panel.is-available {
    border-color: #bbf7d0;
    background: #ecfdf5;
}

.mapping-ai-assist-panel.is-error,
.mapping-ai-assist-panel.is-unavailable {
    border-color: #fecaca;
    background: #fff1f2;
}

.duplicate-recommended {
    border-color: #fecaca;
    background: #fff7f7;
}

.duplicate-nav {
    justify-content: space-between;
}

.imports-workspace {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: min(100%, 1880px);
    margin: 0 auto;
    padding: 24px 28px 48px;
}

.imports-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 64px;
}

.imports-header p {
    margin: 0 0 8px;
    color: #475569;
    font-weight: 700;
}

.imports-header h1 {
    margin: 0;
    color: #0b315f;
    font-size: 2.35rem;
    line-height: 1;
}

.imports-header .btn-success {
    min-width: 146px;
    height: 48px;
    border-radius: 8px;
    box-shadow: 0 12px 22px rgba(16, 185, 129, .22);
}

.imports-toolbar {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 144px 170px 180px 150px minmax(450px, auto);
    gap: 14px;
    align-items: center;
    padding: 22px 24px;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

.documents-search {
    position: relative;
    display: block;
}

.documents-search span {
    position: absolute;
    left: 16px;
    top: 50%;
    width: 16px;
    height: 16px;
    border: 2px solid #64748b;
    border-radius: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.documents-search span::after {
    content: "";
    position: absolute;
    right: -6px;
    bottom: -5px;
    width: 8px;
    height: 2px;
    border-radius: 2px;
    background: #64748b;
    transform: rotate(45deg);
}

.documents-search .form-control {
    padding-left: 46px;
}

.imports-toolbar .form-control,
.imports-toolbar .form-select {
    height: 48px;
    border-color: #dbe4f0;
    border-radius: 8px;
    color: #0f172a;
    font-weight: 600;
}

.imports-tabs {
    display: inline-flex;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    overflow: hidden;
    justify-self: end;
    height: 48px;
    background: #fff;
}

.imports-tabs button {
    border: 0;
    background: #fff;
    min-width: 108px;
    padding: 0 18px;
    color: #0b315f;
    font-weight: 700;
    border-left: 1px solid #dbe4f0;
}

.imports-tabs button:first-child {
    border-left: 0;
}

.imports-tabs button.is-active {
    background: #0b315f;
    color: #fff;
}

.imports-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.imports-summary-grid article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 14px;
    align-items: center;
    min-height: 108px;
    padding: 22px 26px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}

.imports-summary-grid strong {
    font-size: 1.75rem;
    color: #0b315f;
    line-height: 1;
}

.imports-summary-grid small {
    grid-column: 2;
    color: #334155;
    font-weight: 700;
}

.summary-icon {
    grid-row: span 2;
    position: relative;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #eef6ff;
}

.summary-icon::before,
.summary-icon::after {
    content: "";
    position: absolute;
    inset: 15px;
    border: 2px solid #2563eb;
    border-radius: 3px;
}

.summary-icon::after {
    display: none;
}

.summary-icon.file::after {
    display: block;
    inset: auto;
    right: 14px;
    top: 14px;
    width: 12px;
    height: 12px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(135deg, transparent 50%, #2563eb 51%);
}

.summary-icon.ready::before {
    border-color: #059669;
    border-radius: 50%;
}

.summary-icon.ready::after {
    display: block;
    inset: 20px 16px 16px 22px;
    border: solid #059669;
    border-width: 0 0 3px 3px;
    transform: rotate(-45deg);
}

.summary-icon.blocked::before {
    border-color: #f59e0b;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.summary-icon.package::before {
    border-color: #7c3aed;
    border-radius: 4px;
}

.summary-icon.archived::before {
    border-color: #64748b;
}

.summary-icon.ready { background: #dcfce7; }
.summary-icon.blocked { background: #fee2e2; }
.summary-icon.package { background: #f3e8ff; }
.summary-icon.archived { background: #f1f5f9; }

.imports-bulk-bar {
    display: grid;
    grid-template-columns: auto auto auto auto 1fr auto;
    gap: 12px;
    align-items: center;
    min-height: 72px;
    padding: 14px 22px;
    border-bottom: 1px solid #dbe4f0;
    background: #eff6ff;
    border-radius: 8px 8px 0 0;
}

.imports-bulk-bar strong {
    color: #0b315f;
    font-size: 1.1rem;
}

.imports-bulk-bar .btn {
    min-width: 130px;
    height: 42px;
    border-radius: 7px;
    font-weight: 800;
}

.imports-table-card {
    padding: 0;
    overflow: visible;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.imports-table {
    margin: 0;
    table-layout: fixed;
}

.imports-table thead th {
    height: 54px;
    color: #64748b;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: 0;
    font-weight: 800;
    border-bottom: 1px solid #dbe4f0;
}

.imports-table tbody td {
    height: 55px;
    border-color: #e8eef6;
    color: #0f172a;
}

.imports-table th:nth-child(1),
.imports-table td:nth-child(1) { width: 52px; text-align: center; }
.imports-table th:nth-child(2),
.imports-table td:nth-child(2) { width: 31%; }
.imports-table th:nth-child(3),
.imports-table td:nth-child(3) { width: 12%; }
.imports-table th:nth-child(4),
.imports-table td:nth-child(4) { width: 9%; }
.imports-table th:nth-child(5),
.imports-table td:nth-child(5) { width: 13%; }
.imports-table th:nth-child(6),
.imports-table td:nth-child(6) { width: 12%; }
.imports-table th:nth-child(7),
.imports-table td:nth-child(7) { width: 10%; }
.imports-table th:nth-child(8),
.imports-table td:nth-child(8) { width: 8%; }
.imports-table th:nth-child(9),
.imports-table td:nth-child(9) { width: 12%; }

.imports-table .form-check-input {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    border-color: #cbd5e1;
}

.imports-table .form-check-input:checked {
    background-color: #0b315f;
    border-color: #0b315f;
}

.imports-table tr.is-selected {
    background: #f0f7ff;
}

.imports-table tr.has-blockers {
    box-shadow: inset 4px 0 0 #ef4444;
    background: #fff8f8;
}

.import-file-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    max-width: 100%;
    border: 0;
    background: transparent;
    color: #0b315f;
    font-weight: 700;
    text-align: left;
    padding: 0;
}

.import-file-button span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-doc-icon {
    position: relative;
    flex: 0 0 18px;
    width: 18px;
    height: 22px;
    border: 2px solid #cbd5e1;
    border-radius: 3px;
}

.file-doc-icon::after {
    content: "";
    position: absolute;
    right: -2px;
    top: -2px;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #cbd5e1;
}

.source-pill,
.import-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 7px;
    padding: 4px 9px;
    font-size: .8rem;
    font-weight: 800;
}

.source-pill { background: #eef2f7; color: #334155; }
.source-pill.shopify { background: #dcfce7; color: #166534; }
.source-pill.bol { background: #dbeafe; color: #1d4ed8; }

.import-status.uploaded { background: #dbeafe; color: #1d4ed8; }
.import-status.mapped { background: #ede9fe; color: #6d28d9; }
.import-status.ready { background: #dcfce7; color: #166534; }
.import-status.blocked { background: #fee2e2; color: #dc2626; }
.import-status.package { background: #f3e8ff; color: #7e22ce; }
.import-status.archived { background: #e2e8f0; color: #475569; }

.issue-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-weight: 700;
}

.issue-link::before {
    content: "0";
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid currentColor;
    font-size: .72rem;
}

.issue-link.warning::before,
.issue-link.blocked::before {
    content: attr(data-count);
    color: #fff;
    border-color: transparent;
}

.issue-link.warning::before { background: #f59e0b; }
.issue-link.blocked::before { background: #ef4444; }

.issue-link.ok { color: #047857; }
.issue-link.warning { color: #d97706; }
.issue-link.blocked { color: #dc2626; }

.package-lock {
    color: #0b315f;
    font-weight: 800;
}

.row-actions-menu {
    position: relative;
    display: inline-block;
    margin-left: 8px;
}

.row-actions-menu summary {
    width: 34px;
    height: 34px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    list-style: none;
    color: #0b315f;
    font-weight: 900;
    font-size: 0;
}

.row-actions-menu summary::before {
    content: "...";
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 1px;
}

.row-actions-menu div {
    position: absolute;
    right: 0;
    top: 38px;
    z-index: 20;
    display: flex;
    min-width: 236px;
    flex-direction: column;
    padding: 10px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .14);
}

.row-actions-menu button {
    border: 0;
    background: #fff;
    text-align: left;
    padding: 10px 12px;
    color: #0b315f;
    font-weight: 700;
    border-radius: 6px;
}

.row-actions-menu button:hover {
    background: #f8fafc;
}

.row-actions-menu button.danger {
    color: #dc2626;
}

.imports-empty {
    text-align: center;
    color: #64748b;
    padding: 40px;
}

.imports-table-footer {
    padding: 16px 22px;
    border-top: 1px solid #dbe4f0;
    color: #64748b;
    min-height: 56px;
}

.import-detail-panel {
    position: fixed;
    right: 24px;
    top: 88px;
    z-index: 30;
    width: min(420px, calc(100vw - 48px));
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
}

.import-detail-panel dl div {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 12px;
    border-bottom: 1px solid #eef2f7;
    padding: 8px 0;
}

@media (max-width: 1100px) {
    .duplicate-resolution-grid,
    .duplicate-info-grid,
    .imports-toolbar,
    .imports-summary-grid {
        grid-template-columns: 1fr;
    }
}
.sup-review-panel {
    display: grid;
    gap: 1rem;
}

.sup-review-intro p {
    margin: 0;
    color: #52627a;
}

.sup-review-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.sup-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.sup-choice-card {
    display: grid;
    gap: .35rem;
    padding: .85rem;
    border: 1px solid #d7e0ee;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

.sup-choice-card.is-selected {
    border-color: #0f766e;
    box-shadow: 0 0 0 2px rgba(15, 118, 110, .14);
}

.sup-choice-card input {
    margin: 0;
}

.sup-apply-scope,
.generic-readonly-editor {
    border: 1px solid #d7e0ee;
    border-radius: 8px;
    padding: 1rem;
    background: #f8fbff;
}

.generic-readonly-editor {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem 1rem;
}

.generic-readonly-editor dt {
    font-size: .78rem;
    color: #52627a;
}

.generic-readonly-editor dd {
    margin: 0;
    font-weight: 700;
    color: #0f2341;
}

@media (max-width: 760px) {
    .sup-review-fields,
    .sup-choice-grid,
    .generic-readonly-editor {
        grid-template-columns: 1fr;
    }
}

.issue-specific-inline-editor {
    display: grid;
    gap: 14px;
}

.issue-specific-inline-editor .inline-fix-header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.inline-issue-icon,
.field-icon {
    align-items: center;
    border: 1px solid #b8c9df;
    border-radius: 6px;
    color: #0b315f;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    line-height: 1;
    width: 28px;
}

.field-icon {
    height: 22px;
    width: 22px;
}

.icon-tag::before { content: "SKU"; font-size: .52rem; }
.icon-product::before { content: "BOX"; font-size: .48rem; }
.icon-barcode::before { content: "|||"; letter-spacing: -1px; }
.icon-hash::before { content: "#"; font-size: .9rem; }
.icon-globe::before { content: "GL"; font-size: .52rem; }
.icon-status::before,
.icon-check::before { content: "OK"; font-size: .52rem; }
.icon-sup::before { content: "SUP"; font-size: .46rem; }
.icon-scale::before { content: "KG"; font-size: .52rem; }
.icon-layers::before { content: "LAY"; font-size: .46rem; }
.icon-duplicate::before { content: "2X"; font-size: .52rem; }
.icon-note::before { content: "NT"; font-size: .52rem; }
.icon-warning::before { content: "!"; font-size: .9rem; }

.issue-context-strip {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.issue-context-strip article {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    display: flex;
    gap: 9px;
    min-height: 54px;
    padding: 8px 10px;
}

.issue-context-strip small {
    color: #52627a;
    display: block;
    font-size: .72rem;
    font-weight: 800;
}

.issue-context-strip strong {
    color: #0b315f;
    display: block;
    font-size: .88rem;
    overflow-wrap: anywhere;
}

.product-link-focus-workspace {
    display: grid;
    gap: 12px;
}

.product-link-page-title h1 {
    color: #0b315f;
    font-size: 1.55rem;
    margin: 0 0 2px;
}

.product-link-page-title p {
    color: #536176;
    margin: 0;
}

.product-link-focused-header {
    align-items: flex-start;
    background: #fff7f7;
    border: 1px solid #f5b5b5;
    border-radius: 8px;
    display: flex;
    gap: 14px;
    padding: 18px;
}

.product-link-focused-header.is-warning {
    background: #fffaf0;
    border-color: #f8d48a;
}

.product-link-focused-header h2 {
    color: #0b315f;
    font-size: 1.45rem;
    margin: 0 0 4px;
}

.product-link-focused-header p {
    color: #44546a;
    margin: 0;
}

.product-link-blocker-icon {
    background: #dc2626;
    border-color: #dc2626;
    border-radius: 999px;
    color: #fff;
    height: 44px;
    width: 44px;
}

.product-link-blocker-icon.is-warning {
    background: #f59e0b;
    border-color: #f59e0b;
}

.product-link-header-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.product-draft-suggestion {
    background: #f8fbff;
    border: 1px solid #b8cbe8;
    border-radius: 8px;
    display: grid;
    gap: 14px;
    padding: 14px;
}

.product-draft-suggestion p {
    color: #536176;
    margin: 4px 0 0;
}

.product-draft-suggestion dl {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.product-draft-suggestion dl div {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    padding: 8px 10px;
}

.product-draft-suggestion dt {
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
}

.product-draft-suggestion dd {
    color: #0b315f;
    font-weight: 800;
    margin: 0;
}

.product-draft-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.row-issue-position-chip {
    display: inline-flex;
    margin-left: 8px;
}

.product-link-source-strip {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: 10px;
}

.product-link-row-context,
.product-link-technical-details {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: 10px 12px;
}

.product-link-row-context summary,
.product-link-technical-details summary {
    color: #0b315f;
    cursor: pointer;
    font-weight: 900;
}

.product-link-row-context .row-context-table {
    margin-top: 10px;
}

.product-link-other-issues {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    padding: 10px 12px;
}

.product-link-other-issues strong {
    color: #0b315f;
}

.product-link-other-issues > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.product-problem-timeline {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 10px 12px;
}

.product-problem-timeline-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.product-problem-timeline-header div {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.product-problem-timeline-header strong {
    color: #0b315f;
}

.product-problem-timeline-header span {
    color: #536176;
    font-size: .85rem;
    font-weight: 800;
}

.product-problem-dots {
    align-items: end;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(20, minmax(22px, 1fr));
    min-height: 38px;
    overflow-x: auto;
}

.product-problem-dot {
    align-items: center;
    background: transparent;
    border: 0;
    color: #344258;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    font-size: .72rem;
    font-weight: 850;
    gap: 4px;
    min-width: 22px;
    padding: 0;
}

.product-problem-dot::after {
    border-radius: 999px;
    content: "";
    display: block;
    height: 10px;
    width: 10px;
}

.product-problem-dot.ok::after { background: #0f9f6e; }
.product-problem-dot.warning::after { background: #f59e0b; }
.product-problem-dot.blocking::after { background: #dc2626; }
.product-problem-dot.pending::after { background: #94a3b8; }

.product-problem-dot.is-current::after {
    background: #fff;
    border: 4px solid #dc2626;
    box-shadow: 0 0 0 6px rgba(220, 38, 38, .14);
    height: 18px;
    width: 18px;
}

.product-problem-legend {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.product-problem-legend span {
    align-items: center;
    color: #475569;
    display: inline-flex;
    font-size: .82rem;
    font-weight: 800;
    gap: 5px;
}

.product-problem-legend i {
    border-radius: 999px;
    display: inline-block;
    height: 9px;
    width: 9px;
}

.product-problem-legend .ok { background: #0f9f6e; }
.product-problem-legend .warning { background: #f59e0b; }
.product-problem-legend .blocking { background: #dc2626; }
.product-problem-legend .current {
    background: #fff;
    border: 2px solid #dc2626;
}

.product-link-repair-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(280px, 1.15fr) minmax(260px, 1fr) minmax(240px, .75fr);
}

.product-link-repair-column {
    display: grid;
    gap: 12px;
}

.product-link-repair-column h3,
.product-creation-panel h3 {
    color: #0b315f;
    font-size: 1.05rem;
    margin: 0;
}

.product-link-why h3 {
    align-items: center;
    display: flex;
    gap: 8px;
}

.product-link-why p {
    color: #344258;
    margin: 0;
}

.product-link-why ul {
    color: #0b315f;
    font-weight: 800;
    margin: 0;
    padding-left: 1.1rem;
}

.product-create-inline-button {
    justify-self: start;
}

.product-creation-panel {
    display: grid;
    gap: 16px;
}

.product-creation-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.product-link-technical-details dl {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 10px 0 0;
}

.product-link-technical-details div {
    background: #f8fbff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: 8px 10px;
}

.product-link-technical-details dt {
    color: #536176;
    font-size: .75rem;
    font-weight: 900;
}

.product-link-technical-details dd {
    color: #0b315f;
    margin: 0;
    overflow-wrap: anywhere;
}

.product-link-sticky-actions {
    align-items: center;
    background: rgba(255, 255, 255, .96);
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    bottom: 10px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px 12px;
    position: sticky;
    z-index: 5;
}

.product-link-footer-left,
.product-link-footer-right {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.product-save-helper {
    color: #9a3412;
    font-size: .84rem;
    font-weight: 850;
}

@media (max-width: 1000px) {
    .product-link-repair-grid,
    .product-link-technical-details dl {
        grid-template-columns: 1fr;
    }

    .product-link-sticky-actions,
    .product-problem-timeline-header {
        align-items: stretch;
        flex-direction: column;
    }

    .product-link-footer-right {
        justify-content: flex-start;
    }

    .product-problem-dots {
        grid-template-columns: repeat(20, 24px);
    }
}

.compact-row-issue-note {
    background: #fffaf0;
    border-color: #fed7aa;
}

.issue-specific-inline-editor .inline-fix-actions {
    align-items: center;
}

.issue-specific-inline-editor .inline-fix-actions::before {
    color: #047857;
    content: "OK  Alleen relevante velden";
    font-size: .82rem;
    font-weight: 850;
    margin-right: auto;
}

.issue-specific-inline-editor .inline-fix-actions .relevant-fields-helper {
    display: none;
}

.compact-apply-checkbox,
.ean-apply-scope {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    margin: 0;
}

.sup-choice-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.sup-choice-card input {
    grid-column: 1;
    grid-row: 2 / span 2;
}

.sup-choice-card strong,
.sup-choice-card small {
    grid-column: 2;
}

.product-result-card strong,
.product-result-card small {
    align-items: center;
    display: flex;
    gap: 6px;
}

.user-menu {
    align-items: center;
    display: flex;
    gap: 10px;
}

.user-menu .user-icon {
    align-items: center;
    background: #0b315f;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.user-menu strong {
    color: #0b315f;
    display: block;
    font-size: .9rem;
    line-height: 1.1;
}

.local-user-switch {
    border: 1px solid #d7e0ee;
    border-radius: 6px;
    color: #334155;
    font-size: .8rem;
    margin-top: 2px;
    max-width: 190px;
    min-height: 30px;
    padding: 3px 8px;
}

.switch-user-overlay {
    align-items: center;
    background: rgba(15, 23, 42, .22);
    display: flex;
    inset: 0;
    justify-content: center;
    position: fixed;
    z-index: 100;
}

.switch-user-panel {
    background: #fff;
    border: 1px solid #d7e0ee;
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .2);
    color: #0b315f;
    display: grid;
    gap: 8px;
    min-width: 240px;
    padding: 22px;
    text-align: center;
}

.switch-user-panel span {
    color: #52627a;
    font-weight: 800;
}
