.booking-progress.stay-journey{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);margin-block:24px;overflow:hidden}.journey-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.journey-eyebrow{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em}.journey-connection{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.connection-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#32835c;box-shadow:0 0 0 3px #32835c14}.is-stale .connection-dot{background:#b77926;box-shadow:none}.journey-current{display:flex;align-items:flex-start;gap:14px;padding-block:24px}.journey-current-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--soft);color:var(--brand);flex:none}.stay-journey.success .journey-current-icon{color:#15613f;background:#e8f5ee}.journey-current h3{font-size:22px;line-height:1.5;margin:0}.stay-journey .journey-current p{font-size:14px;line-height:1.85;color:var(--muted);margin:8px 0 0}.journey-timeline{list-style:none;padding:0;margin:0 0 20px}.journey-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;position:relative;padding-bottom:22px}.journey-step:last-child{padding-bottom:0}.journey-step:not(:last-child):after{content:"";position:absolute;inset-inline-start:18px;top:39px;bottom:2px;width:2px;background:var(--line)}.journey-step.done:not(:last-child):after{background:#a8d6bb}.journey-step-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--muted);background:var(--soft);border:1px solid var(--line)}.journey-step.done .journey-step-icon{background:#e8f5ee;color:#15613f;border-color:#bddfc9}.journey-step.current .journey-step-icon{color:var(--brand);border:2px solid var(--brand);background:var(--surface);box-shadow:0 0 0 4px var(--soft)}.journey-step-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-height:30px}.journey-step-heading strong{font-size:15px}.journey-step-heading small{font-size:11px;color:var(--muted)}.journey-step.current small{color:var(--brand);padding:3px 9px;background:var(--soft);border-radius:20px}.journey-step.done small{color:#20724b}.journey-step.upcoming strong{font-weight:500;color:var(--muted)}.stay-journey .journey-step p{font-size:12px;color:var(--muted);line-height:1.75;margin:2px 0 0}.journey-payment{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;font-size:13px}.journey-countdown{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--brand)}.stay-journey .journey-notice{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0 0}.journey-notice svg{flex:none;margin-top:3px}.journey-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;border-radius:12px;background:var(--brand);color:var(--on-brand);padding:14px 18px;min-height:50px;font-weight:700;text-decoration:none}.journey-action:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.stay-journey.success .journey-action{background:#176140;color:white}[data-theme=dark] .journey-step.done .journey-step-icon,[data-theme=dark] .stay-journey.success .journey-current-icon{background:#173c2d;color:#a4e7be;border-color:#315e47}[data-theme=dark] .journey-step.done small{color:#a4e7be}[data-theme=dark] .journey-step.done:not(:last-child):after{background:#315e47}@media(min-width:900px){.journey-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.journey-step{display:flex;flex-direction:column;gap:12px;padding-bottom:0}.journey-step:not(:last-child):after{top:18px;inset-inline-start:48px;inset-inline-end:-8px;bottom:auto;width:auto;height:2px}.journey-step-heading{align-items:flex-start;justify-content:flex-start}.journey-step-heading small{display:none}.journey-step.current .journey-step-heading small{display:inline-block}.journey-current{max-width:760px}}@media(max-width:600px){.booking-progress.stay-journey{padding:20px 16px;border-radius:18px}.journey-current h3{font-size:20px}.journey-current{gap:10px}.journey-current-icon{width:40px;height:40px;border-radius:13px}.journey-connection,.journey-eyebrow{font-size:11px}}