.patient-journey{position:relative;z-index:1;margin:4px 0 0;padding:24px 30px 0;background:#fff;border:1px solid #e9e3ee;border-radius:20px;box-shadow:0 16px 50px #44334f0a;text-align:left;color:#302c35;overflow:hidden}
.journey-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.journey-top>span{font-size:10px;font-weight:600;letter-spacing:.15em;color:#82738e}.journey-toggle{display:grid;place-items:center;border:1px solid #e9e3ee;background:white;border-radius:50%;width:28px;height:28px;color:#796687;cursor:pointer;font-size:12px}
.journey-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.journey-stop{appearance:none;border:0;background:transparent;position:relative;display:flex;align-items:center;gap:10px;padding:0 0 18px;text-align:left;color:#99909f;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer}.journey-stop-icon{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f7f5f9;transition:background .4s,color .4s}.journey-stop-icon svg{height:22px;width:22px}.journey-stop:after,.journey-stop i{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#eee9f2}.journey-stop i{z-index:1;width:0;background:#9b80af}.journey-stop[aria-selected=true]{color:#5d456e}.journey-stop[aria-selected=true] .journey-stop-icon{background:#eee6f5;color:#816096}.journey-stop[aria-selected=true] i{animation:journey-progress 6s linear forwards}.patient-journey.is-paused .journey-stop i{animation-play-state:paused}.journey-stop:focus-visible,.journey-toggle:focus-visible{outline:2px solid #9b80af;outline-offset:5px}
.journey-scene{padding:28px 0}.journey-panel{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;animation:journey-enter .55s ease both}.journey-panel[hidden]{display:none}.journey-copy{max-width:430px}.journey-eyebrow{font-size:11px;color:#897593;font-weight:500}.patient-journey .journey-copy h3{font-size:clamp(23px,2.5vw,32px);line-height:1.2;letter-spacing:-.035em;margin:12px 0 14px;font-weight:500;color:#302c35}.journey-copy p{font-size:14px;line-height:1.7;color:#79717f;margin:0}.journey-phase{display:inline-block;font-size:11px;color:#8c8094;margin-top:24px;padding-left:16px;position:relative}.journey-phase:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#b49bc5;left:0;top:5px}
.journey-visit{background:linear-gradient(145deg,#faf8fc,#fff);border:1px solid #e9e2ef;border-radius:14px;padding:18px 20px;box-shadow:0 7px 24px #63507107}.journey-patient{display:flex;align-items:center;gap:10px}.journey-avatar{width:34px;height:34px;background:#eae0f1;color:#816693;border-radius:50%;display:grid;place-items:center;font-size:11px}.journey-patient strong{display:block;font-size:12px;font-weight:600}.journey-patient small{display:block;font-size:10px;color:#a096a7;margin-top:3px}.journey-spark{margin-left:auto;font-size:24px;color:#a58bb7}.journey-document{margin:16px 0;padding:12px 14px;border:1px solid #eee7f3;background:white;border-radius:8px}.journey-document strong{display:block;font-size:12px;font-weight:500}.journey-document>span{display:block;font-size:10px;color:#9d91a6;margin-top:5px}.journey-visit ul{list-style:none;padding:0;margin:0}.journey-visit li{display:flex;align-items:center;gap:9px;font-size:11px;color:#756b7d;padding:7px 0;animation:journey-task .5s ease both;animation-delay:calc(.7s + var(--item)*.8s)}.journey-check{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#e9deef;color:#826196;font-size:10px}.journey-outcome{display:flex;align-items:center;gap:7px;border-top:1px solid #ece5f1;margin-top:12px;padding-top:12px;color:#836895;font-size:10px;animation:journey-task .5s 3.2s both}.journey-outcome>span{width:5px;height:5px;border-radius:50%;background:#9b80af}
.journey-channel{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #eee8f3;font-size:11px;color:#9b90a3}.journey-channel strong{color:#7a6887;font-size:11px;font-weight:500}.journey-channel small{margin-left:auto;font-size:10px}.journey-channel-dot{width:6px;height:6px;border-radius:50%;background:#b49cc5;box-shadow:0 0 0 4px #f5f0f8}
@keyframes journey-progress{to{width:100%}}@keyframes journey-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes journey-task{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:760px){.patient-journey{padding:18px 16px 0;border-radius:14px}.journey-top{margin-bottom:16px}.journey-top>span{font-size:8px}.journey-track{gap:8px}.journey-stop{flex-direction:column;align-items:flex-start;gap:8px;font-size:10px;line-height:1.4}.journey-stop-icon{width:30px;height:30px}.journey-stop-icon svg{width:20px;height:20px}.journey-panel{grid-template-columns:1fr;gap:20px}.journey-scene{padding:22px 0}.patient-journey .journey-copy h3{font-size:24px}.journey-copy p{font-size:13px}.journey-copy{min-height:165px}.journey-phase{margin-top:14px}.journey-channel{flex-wrap:wrap;gap:8px}.journey-channel small{display:none}.journey-visit{padding:16px}}
@media(prefers-reduced-motion:reduce){.patient-journey *{animation:none!important;transition:none!important}}

/* Stronger visual emphasis and connected back-office context. */
.patient-journey{background:linear-gradient(135deg,#faf7fd 0%,#fff 55%,#f7f2fb 100%);border:1px solid #d6c6e2;box-shadow:0 18px 55px #6c48851a,0 3px 10px #6c488509}
.journey-top>span{color:#765686}.journey-stop{font-size:13px}.journey-stop small{display:block;font-size:9px;font-weight:400;color:#96869f;margin-top:3px}.journey-stop[aria-selected=true] .journey-stop-icon{background:#e7d8f1;color:#79538e;box-shadow:0 2px 8px #8e63a51a}
.journey-panel{min-height:364px}.journey-visit{background:#ffffffd9;border-color:#e0d3e9;box-shadow:0 8px 24px #6e4d8010}
.journey-automation{margin-top:18px;padding:12px 14px;background:#eee5f580;border-left:2px solid #b296c6;border-radius:0 8px 8px 0}.journey-automation strong{display:block;font-size:10px;font-weight:600;color:#80608f}.journey-automation>span{display:block;margin-top:5px;font-size:11px;line-height:1.6;color:#807086}
.journey-channel{border-top-color:#ddcde7}.journey-channel strong{color:#765886}.journey-channel small{color:#887094}.journey-outcome{animation-delay:3.7s}
@media(max-width:760px){.journey-stop{font-size:10px}.journey-stop small{font-size:8px}.journey-panel{min-height:0}.journey-copy{min-height:240px}}

/* Readable journey labels and tasks. */
.journey-top>span{font-size:13px;letter-spacing:.1em}
.journey-stop small{font-size:12px;line-height:1.4;margin-top:4px}
.journey-visit li{font-size:14px;line-height:1.5;padding:8px 0}
.journey-document>span{font-size:12px;line-height:1.5}
.journey-outcome{font-size:12px}
.journey-automation>span{font-size:12px}
.journey-channel small{font-size:12px}
@media(max-width:760px){.journey-top>span{font-size:11px;letter-spacing:.07em}.journey-stop small{font-size:10px}.journey-visit li{font-size:13px}.journey-document>span{font-size:11px}}

.patient-journey{border-width:2px}

.patient-journey{border-color:#69249d}

/* Quiet links connect the journey stages without competing with progress. */
.journey-track{gap:34px}
.journey-chain{position:absolute;right:-27px;top:10px;width:20px;height:20px;display:grid;place-items:center;color:#b39ac5;pointer-events:none}
.journey-chain svg{display:block;width:17px;height:17px}
@media(max-width:760px){.journey-track{gap:16px}.journey-chain{right:-15px;top:9px;width:13px;height:13px}.journey-chain svg{width:12px;height:12px}}

/* Higher-contrast completion markers in the patient journey. */
.patient-journey .journey-check{background:#69249d;color:#fff;font-weight:700}

.patient-journey.is-paused *{animation-play-state:paused!important}
