.guided-workflow {
    --guided-workflow-accent: #1d4ed8;
    --guided-workflow-accent-soft: rgba(37, 99, 235, .1);
    --guided-workflow-border: #cbd5e1;
    --guided-workflow-muted: #475569;
    background: var(--ct-body-bg, #fff);
    border: 1px solid var(--guided-workflow-border);
    border-radius: .8rem;
    color: var(--ct-body-color, #1f2937);
    margin-bottom: 1.5rem;
    padding: 1.1rem;
}

.guided-workflow-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.guided-workflow-heading {
    min-width: 0;
}

.guided-workflow-eyebrow {
    color: var(--guided-workflow-accent);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    margin: 0 0 .25rem;
    text-transform: uppercase;
}

.guided-workflow-title {
    color: var(--ct-emphasis-color, #0f172a);
    font-size: 1.18rem;
    line-height: 1.35;
    margin: 0;
}

.guided-workflow-intro {
    color: var(--guided-workflow-muted);
    line-height: 1.5;
    margin: .35rem 0 0;
    max-width: 70ch;
}

.guided-workflow-status {
    background: var(--guided-workflow-accent-soft);
    border: 1px solid rgba(37, 99, 235, .32);
    border-radius: 999px;
    color: #1e3a8a;
    flex: 0 0 auto;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.3;
    padding: .38rem .68rem;
}

.guided-workflow-status.is-complete {
    background: rgba(22, 163, 74, .11);
    border-color: rgba(22, 163, 74, .35);
    color: #166534;
}

.guided-workflow-progress {
    background: #e2e8f0;
    border-radius: 999px;
    height: .55rem;
    margin-top: 1rem;
    overflow: hidden;
}

.guided-workflow-progress > span {
    background: var(--guided-workflow-accent);
    display: block;
    height: 100%;
    min-width: .55rem;
    transition: width .18s ease;
}

.guided-workflow-steps {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}

.guided-workflow-step {
    min-width: 0;
}

.guided-workflow-step-content {
    align-items: flex-start;
    background: var(--ct-secondary-bg, #f8fafc);
    border: 1px solid var(--guided-workflow-border);
    border-radius: .65rem;
    color: inherit;
    display: flex;
    gap: .7rem;
    height: 100%;
    min-height: 4.5rem;
    padding: .78rem;
    text-decoration: none;
}

a.guided-workflow-step-content {
    min-height: max(4.5rem, 44px);
}

a.guided-workflow-step-content:hover {
    border-color: var(--guided-workflow-accent);
    color: inherit;
}

a.guided-workflow-step-content:focus-visible,
.guided-workflow-help > summary:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .45);
    outline-offset: 2px;
}

.guided-workflow-step.is-current .guided-workflow-step-content {
    background: var(--guided-workflow-accent-soft);
    border-color: var(--guided-workflow-accent);
}

.guided-workflow-step.is-complete .guided-workflow-step-content {
    border-color: rgba(22, 163, 74, .42);
}

.guided-workflow-marker {
    align-items: center;
    background: #fff;
    border: 2px solid #94a3b8;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    flex: 0 0 2rem;
    font-size: .88rem;
    font-weight: 800;
    height: 2rem;
    justify-content: center;
    line-height: 1;
    width: 2rem;
}

.guided-workflow-step.is-current .guided-workflow-marker {
    background: var(--guided-workflow-accent);
    border-color: var(--guided-workflow-accent);
    color: #fff;
}

.guided-workflow-step.is-complete .guided-workflow-marker {
    background: #15803d;
    border-color: #15803d;
    color: #fff;
}

.guided-workflow-step-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.guided-workflow-step-state {
    color: var(--guided-workflow-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.35;
    text-transform: uppercase;
}

.guided-workflow-step-label {
    color: var(--ct-emphasis-color, #0f172a);
    font-weight: 750;
    line-height: 1.35;
    margin-top: .1rem;
}

.guided-workflow-step-description {
    color: var(--guided-workflow-muted);
    font-size: .86rem;
    line-height: 1.4;
    margin-top: .2rem;
}

.guided-workflow-help {
    border-top: 1px solid var(--guided-workflow-border);
    margin-top: 1rem;
    padding-top: .55rem;
}

.guided-workflow-help > summary {
    align-items: center;
    border-radius: .4rem;
    color: var(--guided-workflow-accent);
    cursor: pointer;
    display: flex;
    font-weight: 750;
    min-height: 44px;
    padding: .35rem .2rem;
    width: fit-content;
}

.guided-workflow-help-body {
    color: var(--guided-workflow-muted);
    line-height: 1.5;
    max-width: 75ch;
    padding: .15rem .2rem .35rem;
}

.guided-workflow-help-body p,
.guided-workflow-help-body ul {
    margin-bottom: 0;
}

.guided-workflow-help-body ul {
    padding-left: 1.25rem;
}

.guided-workflow-help-body li + li {
    margin-top: .28rem;
}

[data-bs-theme="dark"] .guided-workflow {
    --guided-workflow-accent: #93c5fd;
    --guided-workflow-accent-soft: rgba(59, 130, 246, .16);
    --guided-workflow-border: #475569;
    --guided-workflow-muted: #cbd5e1;
}

[data-bs-theme="dark"] .guided-workflow-status {
    border-color: rgba(147, 197, 253, .45);
    color: #dbeafe;
}

[data-bs-theme="dark"] .guided-workflow-status.is-complete {
    color: #bbf7d0;
}

[data-bs-theme="dark"] .guided-workflow-progress {
    background: #334155;
}

[data-bs-theme="dark"] .guided-workflow-marker {
    background: #1e293b;
    border-color: #94a3b8;
    color: #e2e8f0;
}

[data-bs-theme="dark"] .guided-workflow-step.is-current .guided-workflow-marker {
    background: #2563eb;
    border-color: #60a5fa;
    color: #fff;
}

[data-bs-theme="dark"] .guided-workflow-step.is-complete .guided-workflow-marker {
    background: #166534;
    border-color: #4ade80;
}

@media (max-width: 767.98px) {
    .guided-workflow {
        padding: 1rem;
    }

    .guided-workflow-header {
        flex-direction: column;
    }

    .guided-workflow-steps {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .guided-workflow-progress > span {
        transition: none;
    }
}
