.parcours-page { padding-bottom: 1.5rem; }
.parcours-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.3rem; align-items: start; border-bottom: 1px solid var(--border); padding-bottom: 1.65rem; margin-bottom: 1.55rem; }
.parcours-heading h1 { margin: .65rem 0 0; font-size: clamp(1.8rem, 2.5vw, 2.7rem); line-height: 1.15; font-weight: 750; letter-spacing: -.055em; }
.parcours-heading .eyebrow { margin: 0; }
.parcours-primary-actions { padding-top: .15rem; }
.parcours-primary-actions > div { display: flex; gap: .65rem; flex-wrap: wrap; justify-content: flex-end; }
.parcours-primary-actions .button { font-size: .83rem; padding-inline: .95rem; gap: .7rem; }
.parcours-primary-actions .button-primary img { filter: brightness(0) invert(1); }
.parcours-primary-actions > p { font-size: .8rem; color: var(--ink-muted); text-align: right; max-width: 28rem; margin: .8rem 0 0; }
.parcours-workspace { display: grid; grid-template-columns: minmax(0, .98fr) minmax(0, 1fr); gap: 1.8rem; }
.parcours-flow { padding-right: 1.8rem; border-right: 1px solid var(--border); min-width: 0; }
.parcours-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin: 0 0 .55rem; }
.parcours-section-heading h2 { margin: 0; }
.parcours-section-heading .badge { white-space: normal; text-align: center; }
.parcours-flow > select { margin: .2rem 0 1.2rem; }
.parcours-steps { list-style: none; margin: 0; padding: 0; }
.parcours-step-row { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .9fr); gap: 1rem; padding-bottom: .75rem; }
.parcours-step-row:not(:last-child)::after { content: ""; position: absolute; left: 2.2rem; top: 100%; height: .75rem; border-left: 2px solid #b0bac6; transform: translateY(-100%); }
.parcours-step { display: flex; align-items: center; gap: 1.1rem; padding: .65rem 1.15rem; min-height: 3.8rem; width: 100%; text-align: left; background: #f8fafc; border: 1px solid #d4dde6; border-radius: .35rem; font: inherit; color: var(--ink); cursor: pointer; }
.parcours-step > img { flex: 0 0 auto; }
.parcours-step span { min-width: 0; }
.parcours-step strong, .parcours-step small { display: block; }
.parcours-step strong { font-size: 1rem; line-height: 1.25; font-weight: 650; }
.parcours-step small { font-size: .82rem; color: var(--ink-muted); margin-top: .2rem; overflow-wrap: anywhere; }
.parcours-step:hover { background: #edf5f5; border-color: #83b4b0; }
.parcours-step.is-selected { background: #eaf4f4; border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand); color: #006f70; }
.parcours-step.is-selected small { color: #006f70; }
.parcours-step.is-selected img { filter: invert(33%) sepia(92%) saturate(641%) hue-rotate(137deg) brightness(88%) contrast(102%); }
.parcours-step.is-optional { border-style: dashed; }
.parcours-step-row.with-branch { padding-bottom: 1rem; }
.parcours-refusal { align-self: center; display: flex; gap: .65rem; align-items: center; padding: .7rem .75rem; background: #fff4e3; border: 1px solid #eeb44e; border-radius: .35rem; color: #573900; position: relative; }
.parcours-refusal::before { content: ""; position: absolute; width: 1rem; top: 50%; left: -1rem; border-top: 1px solid #d99426; }
.parcours-refusal > img { flex: 0 0 auto; }
.parcours-refusal strong, .parcours-refusal small { display: block; }
.parcours-refusal strong { font-size: .86rem; }
.parcours-refusal small { font-size: .73rem; margin-top: .2rem; }
.parcours-profile-settings { border-top: 1px solid var(--border); padding-top: .9rem; margin-top: .3rem; font-size: .85rem; }
.parcours-profile-settings label { margin-top: 1rem; }
.parcours-settings { min-width: 0; }
.parcours-step-heading { padding-bottom: 1.4rem; border-bottom: 1px solid var(--border); }
.parcours-step-heading > p:first-child { margin: 0 0 1rem; font-weight: 600; font-size: .84rem; }
.parcours-step-heading h2 { font-size: 2rem; line-height: 1.15; margin: 0 0 .6rem; letter-spacing: -.04em; }
.parcours-step-heading p:last-child { margin: 0; line-height: 1.6; }
.parcours-owner { margin: 1.25rem 0 1.5rem; }
.parcours-owner > span { font-size: .95rem; font-weight: 600; }
.parcours-owner p { padding: .7rem .8rem; border: 1px solid #c7d2dc; border-radius: .3rem; background: #fff; margin: .5rem 0; }
.parcours-owner small { color: var(--ink-muted); font-size: .82rem; line-height: 1.5; display: block; }
.parcours-rule { display: flex; align-items: flex-start; gap: .8rem; font-size: 1rem; font-weight: 500; line-height: 1.5; margin-bottom: 1.3rem; }
.parcours-rule input { flex: 0 0 auto; margin-top: .13rem; width: 1.35rem; height: 1.35rem; }
.parcours-rule small { display: block; color: var(--ink-muted); margin-top: .4rem; font-size: .875rem; font-weight: 400; }
.parcours-trace { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem; background: #eef3f6; border-radius: .35rem; color: #5c6c7b; line-height: 1.5; }
.parcours-trace img { flex: 0 0 auto; margin-top: .1rem; opacity: .7; }
.parcours-trace small { display: block; font-size: .8rem; margin-top: .1rem; }
.parcours-protected-rule { margin: 1rem 0; line-height: 1.65; font-size: .9rem; }
.parcours-protected-rule p { color: var(--ink-muted); }
.parcours-documents { display: grid; grid-template-columns: 1fr 1fr; gap: .2rem .7rem; }
.parcours-documents .checkbox-label { align-items: flex-start; line-height: 1.4; }
.parcours-documents input { flex: 0 0 auto; }
.parcours-simulation { margin-top: 1.7rem; border-top: 1px solid var(--border); padding: 1.15rem 1.15rem 1rem; background: #f0f4f6; border-radius: .35rem; }
.parcours-simulation-heading { display: flex; align-items: center; gap: .65rem; }
.parcours-simulation-heading > img { flex: 0 0 auto; }
.parcours-simulation-heading label { margin: 0; font-size: 1.06rem; flex: 1; }
.parcours-simulation-heading .button { font-size: .78rem; padding-inline: .8rem; }
.parcours-simulation > select { margin-top: .85rem; background: #fff; }
.parcours-simulation-empty { font-size: .9rem; line-height: 1.6; margin: 1.1rem 0; color: var(--ink-muted); }
.parcours-simulation-note { font-size: .72rem; line-height: 1.55; color: var(--ink-muted); margin: .9rem 0 0; }
.parcours-simulation-result { display: flex; align-items: flex-start; gap: .85rem; padding: 1rem; border-radius: .3rem; margin-top: 1rem; line-height: 1.5; }
.parcours-simulation-result > img { flex: 0 0 auto; }
.parcours-simulation-result strong { font-size: .93rem; }
.parcours-simulation-result p { font-size: .88rem; margin: .55rem 0 0; }
.parcours-simulation-result small { display: block; margin-top: .65rem; }
.parcours-simulation-result.is-warning, .parcours-warning { background: #fff1db; color: #624013; border-color: #e6c998; }
.parcours-simulation-result.is-success { background: #e2f3ed; color: #175e50; }
.parcours-simulation details { font-size: .78rem; }
.parcours-simulation-steps { padding-left: 1.1rem; line-height: 1.55; }
.parcours-simulation-steps li { margin: .8rem 0; }
.parcours-simulation-steps span { display: block; }
.parcours-publication { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-top: 1.75rem; padding-top: 1.4rem; border-top: 1px solid var(--border); }
.parcours-publication > div { flex: 1; min-width: 18rem; }
.parcours-publication h2 { margin: .6rem 0; }
.parcours-publication p { line-height: 1.6; margin: .35rem 0; max-width: 49rem; }
.parcours-publication > div > p:last-child { color: var(--ink-muted); font-size: .86rem; }
.parcours-publish-review { width: 100%; border: 1px solid #aed2c9; background: #eff8f4; padding: 1rem; border-radius: .35rem; }
.parcours-inline-actions { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: 1rem; }
.parcours-history { padding-top: 1.2rem; border-top: 1px solid var(--border); }
.parcours-entry { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.5rem; margin-bottom: 1.4rem; background: #edf6f4; border: 1px solid #c8e0da; border-radius: .4rem; }
.parcours-entry p { max-width: 50rem; color: var(--ink-muted); line-height: 1.6; margin-bottom: 0; }
.parcours-catalogue-tools { padding-bottom: 1.15rem; margin-bottom: 1.3rem; border-bottom: 1px solid var(--border); }
.parcours-catalogue-tools .parcours-inline-actions { margin-top: 0; align-items: flex-end; }
.parcours-import-label { margin: 0 0 0 auto; font-size: .8rem; min-width: 0; max-width: 23rem; }
.parcours-import-label input { font-size: .78rem; padding: .35rem .6rem; min-height: 2.9rem; margin-top: .3rem; }
.parcours-catalogue-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: .7rem; }
.parcours-catalogue-meta p { color: var(--ink-muted); font-size: .76rem; margin: 0; line-height: 1.55; }
.parcours-catalogue-meta label { font-size: .8rem; margin: 0; }
.parcours-creation { padding: 1.5rem; margin-bottom: 1.5rem; border-color: #b8d7d0; }
.parcours-creation > header { max-width: 52rem; margin-bottom: 1.3rem; }
.parcours-creation > header p { color: var(--ink-muted); line-height: 1.65; }
.parcours-template-summary { background: #eff5f4; border: 1px solid #d4e5e0; border-radius: .35rem; padding: 1rem; }
.parcours-template-summary p { line-height: 1.6; margin-bottom: 0; }
.parcours-availability { margin: 1.35rem 0; padding-top: 1.3rem; border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.parcours-availability > div { flex: 1; min-width: 16rem; }
.parcours-availability h2 { font-size: 1.05rem; }
.parcours-availability p { color: var(--ink-muted); max-width: 52rem; line-height: 1.6; font-size: .85rem; }
@media (max-width: 90rem) {
    .parcours-heading { grid-template-columns: 1fr; }
    .parcours-primary-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .7rem; }
    .parcours-primary-actions > p { text-align: left; margin: 0; }
    .parcours-primary-actions > div { justify-content: flex-start; }
}
@media (max-width: 72rem) {
    .parcours-workspace { gap: 1.1rem; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); }
    .parcours-flow { padding-right: 1.1rem; }
    .parcours-step-row { grid-template-columns: 1fr; }
    .parcours-step-row.with-branch { gap: .7rem; }
    .parcours-refusal { margin-left: 2.2rem; }
    .parcours-refusal::before { display: none; }
    .parcours-step-row.with-branch::after { left: 1rem; height: 1.7rem; }
    .parcours-section-heading { align-items: flex-start; flex-direction: column; }
    .parcours-documents { grid-template-columns: 1fr; }
}
@media (max-width: 45rem) {
    .parcours-workspace { grid-template-columns: 1fr; }
    .parcours-flow { border-right: 0; padding-right: 0; border-bottom: 1px solid var(--border); padding-bottom: 1.3rem; }
    .parcours-step-row { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
    .parcours-refusal { margin-left: 0; }
    .parcours-section-heading { flex-direction: row; align-items: center; }
    .parcours-step { gap: .65rem; padding: .7rem; }
    .parcours-step strong { font-size: .85rem; }
    .parcours-step small { font-size: .7rem; }
    .parcours-step-row:not(:last-child)::after { left: 1.5rem; }
    .parcours-primary-actions > div { width: 100%; }
    .parcours-primary-actions .button { flex: 1; }
    .parcours-settings { padding-top: .5rem; }
    .parcours-entry { align-items: stretch; flex-direction: column; gap: 1rem; }
    .parcours-publication > div { min-width: 0; flex-basis: 100%; }
    .parcours-publication > button { width: 100%; }
    .parcours-import-label { margin-left: 0; max-width: none; width: 100%; }
    .parcours-creation { padding: 1rem; }
    .parcours-availability > div { min-width: 0; flex-basis: 100%; }
    .parcours-availability > button { width: 100%; }
}
