.he-booking-progress{width:100%;padding:var(--he-space-md);color:var(--he-navy);background:var(--he-white);border:1px solid var(--he-gray-200);border-radius:var(--he-border-radius-lg);box-shadow:var(--he-shadow-sm)}.he-booking-progress__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--he-space-xs) var(--he-space-md)}.he-booking-progress__count,.he-booking-progress__title{margin:0}.he-booking-progress__title{font-size:var(--he-text-lg);line-height:1.3}.he-booking-progress__count{color:var(--he-gray-600);font-size:var(--he-text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.he-booking-progress__terminal-badge{padding:2px 8px;color:var(--he-red-900);background:var(--he-red-50);border:1px solid var(--he-red-200);border-radius:999px;font-size:var(--he-text-xs);font-weight:600}.he-booking-progress__terminal{display:flex;align-items:center;min-height:64px;gap:var(--he-space-sm);margin-top:var(--he-space-md);padding:var(--he-space-sm) var(--he-space-md);background:var(--he-gray-50);border:1px solid var(--he-gray-200);border-radius:var(--he-border-radius)}.he-booking-progress__terminal-marker{position:relative;width:22px;height:22px;flex:0 0 auto;background:var(--he-white);border:2px solid var(--he-red-700);border-radius:50%}.he-booking-progress__terminal-marker:after,.he-booking-progress__terminal-marker:before{content:"";position:absolute;top:9px;left:4px;width:10px;height:2px;background:var(--he-red-700);border-radius:999px}.he-booking-progress__terminal-marker:before{transform:rotate(45deg)}.he-booking-progress__terminal-marker:after{transform:rotate(-45deg)}.he-booking-progress__terminal-copy{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--he-gray-600);font-size:var(--he-text-sm);line-height:1.4}.he-booking-progress__terminal-copy strong{color:var(--he-navy)}.he-booking-progress__desktop-steps{display:none}.he-booking-progress__mobile{margin-top:var(--he-space-md)}.he-booking-progress__segments{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.he-booking-progress__segment{height:4px;background:var(--he-gray-400);border-radius:999px}.he-booking-progress__segment--completed{background:var(--he-green)}.he-booking-progress__segment--current{background:var(--he-blue)}.he-booking-progress__featured{display:flex;align-items:center;min-height:56px;gap:var(--he-space-sm);margin-top:var(--he-space-md);padding:var(--he-space-sm) var(--he-space-md);background:var(--he-blue-pale);border:1px solid var(--he-blue-12);border-radius:var(--he-border-radius)}.he-booking-progress__featured--completed{background:var(--he-success-bg);border-color:var(--he-green-light)}.he-booking-progress__featured-marker,.he-booking-progress__mobile-marker{position:relative;width:20px;height:20px;flex:0 0 auto;background:var(--he-white);border:2px solid var(--he-gray-400);border-radius:50%}.he-booking-progress__featured--action .he-booking-progress__featured-marker,.he-booking-progress__featured--current .he-booking-progress__featured-marker,.he-booking-progress__mobile-step--current .he-booking-progress__mobile-marker{background:var(--he-blue);border-color:var(--he-blue);box-shadow:0 0 0 3px var(--he-blue-15)}.he-booking-progress__featured--action .he-booking-progress__featured-marker:after,.he-booking-progress__featured--current .he-booking-progress__featured-marker:after,.he-booking-progress__mobile-step--current .he-booking-progress__mobile-marker:after{content:"";position:absolute;inset:5px;background:var(--he-white);border-radius:50%}.he-booking-progress__featured--completed .he-booking-progress__featured-marker,.he-booking-progress__mobile-step--completed .he-booking-progress__mobile-marker{background:var(--he-green);border-color:var(--he-green)}.he-booking-progress__featured--completed .he-booking-progress__featured-marker:after,.he-booking-progress__mobile-step--completed .he-booking-progress__mobile-marker:after{content:"";position:absolute;left:50%;top:44%;width:5px;height:9px;border:solid var(--he-white);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}.he-booking-progress__featured-copy{display:flex;min-width:0;flex-direction:column;gap:2px;font-size:var(--he-text-sm)}.he-booking-progress__featured-copy strong{color:var(--he-navy);overflow-wrap:anywhere}.he-booking-progress__featured-kicker{color:var(--he-blue);font-size:var(--he-text-xs);font-weight:600}.he-booking-progress__featured--completed .he-booking-progress__featured-kicker{color:var(--he-green-800,#166534)}.he-booking-progress__action-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:2px 6px;color:var(--he-blue);background:var(--he-blue-pale);border:1px solid var(--he-blue-12);border-radius:4px;font-size:.6875rem;font-weight:600;line-height:1.25;white-space:nowrap}.he-booking-progress__details{margin-top:var(--he-space-sm);border-top:1px solid var(--he-gray-200)}.he-booking-progress__toggle{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:var(--he-space-sm);padding-top:var(--he-space-sm);color:var(--he-blue);font-size:var(--he-text-sm);font-weight:600;cursor:pointer;list-style:none}.he-booking-progress__toggle::-webkit-details-marker{display:none}.he-booking-progress__toggle:focus-visible{outline:3px solid var(--he-blue);outline-offset:3px;border-radius:var(--he-border-radius)}.he-booking-progress__details[open] .he-booking-progress__toggle-closed,.he-booking-progress__toggle-open{display:none}.he-booking-progress__details[open] .he-booking-progress__toggle-open{display:inline}.he-booking-progress__chevron{width:8px;height:8px;margin-right:3px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);transition:transform .16s ease}.he-booking-progress__details[open] .he-booking-progress__chevron{transform:rotate(225deg)}.he-booking-progress__mobile-list{margin:var(--he-space-xs) 0 0;padding:0;overflow:hidden;list-style:none;border:1px solid var(--he-gray-200);border-radius:var(--he-border-radius)}.he-booking-progress__mobile-step{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;min-height:48px;gap:var(--he-space-sm);padding:var(--he-space-sm) var(--he-space-md);background:var(--he-white);border-bottom:1px solid var(--he-gray-200)}.he-booking-progress__mobile-step:last-child{border-bottom:0}.he-booking-progress__mobile-step--current{background:var(--he-blue-pale)}.he-booking-progress__mobile-label{min-width:0;color:var(--he-gray-700);font-size:var(--he-text-sm);line-height:1.35;overflow-wrap:anywhere}.he-booking-progress__current-badge,.he-booking-progress__mobile-step--current .he-booking-progress__mobile-label{color:var(--he-blue);font-weight:600}.he-booking-progress__current-badge{padding:2px 6px;background:var(--he-white);border:1px solid var(--he-blue-12);border-radius:999px;font-size:.6875rem}@media (min-width:1024px){.he-booking-progress{padding:var(--he-space-lg)}.he-booking-progress__desktop-steps{display:flex;align-items:flex-start;margin:var(--he-space-lg) 0 0;padding:0;list-style:none}.he-booking-progress__step{position:relative;display:flex;min-width:0;flex:1 1;flex-direction:column;align-items:center;gap:var(--he-space-sm);padding:0 var(--he-space-xs)}.he-booking-progress__step:not(:last-child):after{content:"";position:absolute;z-index:0;top:9px;left:50%;width:100%;height:2px;background:var(--he-gray-400)}.he-booking-progress__marker{position:relative;z-index:1;width:20px;height:20px;flex:0 0 auto;background:var(--he-white);border:2px solid var(--he-gray-400);border-radius:50%}.he-booking-progress__step--completed .he-booking-progress__marker{background:var(--he-green);border-color:var(--he-green)}.he-booking-progress__step--completed .he-booking-progress__marker:after{content:"";position:absolute;left:50%;top:44%;width:5px;height:9px;border:solid var(--he-white);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}.he-booking-progress__step--current .he-booking-progress__marker{background:var(--he-blue);border-color:var(--he-blue);box-shadow:0 0 0 4px var(--he-blue-15)}.he-booking-progress__step--current .he-booking-progress__marker:after{content:"";position:absolute;inset:5px;background:var(--he-white);border-radius:50%}.he-booking-progress__label{max-width:11rem;color:var(--he-gray-600);font-size:.875rem;line-height:1.35;text-align:center;text-wrap:balance;overflow-wrap:anywhere}.he-booking-progress__step--completed .he-booking-progress__label{color:var(--he-gray-700);font-weight:500}.he-booking-progress__step--current .he-booking-progress__label{color:var(--he-blue);font-weight:600}.he-booking-progress__mobile{display:none}}@media print{.he-booking-progress{break-inside:avoid;box-shadow:none;page-break-inside:avoid}.he-booking-progress__featured,.he-booking-progress__segments,.he-booking-progress__toggle{display:none}.he-booking-progress__details{margin-top:var(--he-space-md);border-top:0}.he-booking-progress__details>.he-booking-progress__mobile-list{display:block!important}}