.booking-section{--booking-card-min-height:760px;min-height:var(--booking-card-min-height);flex-direction:column;gap:16px;display:flex}.booking-progress{border:1px solid var(--glass-border);grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;min-height:48px;padding:8px 12px;display:grid}.booking-progress__item{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:.8125rem;font-weight:700;display:flex}.booking-progress__dot{border:1px solid var(--glass-border);border-radius:var(--hp-radius-pill);width:28px;height:28px;color:var(--text-muted);flex:0 0 28px;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.booking-progress__dot--reached{background:var(--hp-color-accent);color:var(--hp-color-calendar-on-strong)}.booking-progress__line{background:var(--glass-border);flex:auto;min-width:0;height:1px}.booking-section__draft-banner{color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:.875rem;font-weight:600;display:flex}.admin-reconnect-banner{border:1px solid var(--hp-color-border-strong);color:var(--text-primary);align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-reconnect-banner__icon{color:var(--hp-color-accent);flex:none}.admin-reconnect-banner__body{flex:auto;min-width:0}.admin-reconnect-banner__message{margin:0;font-size:.875rem;font-weight:600;line-height:1.6}.admin-reconnect-banner__message strong{color:var(--hp-color-accent);font-weight:700}.admin-reconnect-banner__actions{flex:none;align-items:center;gap:8px;display:flex}.admin-reconnect-banner__cta{align-items:center;min-height:36px;padding:0 14px;font-size:.8125rem;font-weight:700;display:inline-flex}.admin-reconnect-banner__dismiss{width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;font-size:1.125rem;line-height:1;display:inline-flex}.admin-reconnect-banner__dismiss:hover,.admin-reconnect-banner__dismiss:focus-visible{color:var(--text-primary)}@media (max-width:640px){.admin-reconnect-banner{flex-wrap:wrap}.admin-reconnect-banner__actions{flex-basis:100%;justify-content:flex-end}}.booking-section__draft-actions{flex-wrap:wrap;gap:8px;display:flex}.booking-settings__label{color:var(--text-muted);font-size:.8125rem;font-weight:700}.booking-section__text-button,.booking-form__text-link{color:var(--hp-color-accent);font:inherit;text-underline-offset:4px;background:0 0;border:0;font-weight:700;text-decoration:underline}.booking-section__body{flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.booking-settings{gap:16px;display:grid}.booking-settings__create{gap:10px;padding:16px;display:grid}.booking-settings__create-row,.booking-settings__copy-row{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.booking-settings__input,.booking-settings__select{min-width:0;min-height:44px;font:inherit;flex:260px;padding:10px 12px}.booking-settings__button,.booking-settings__icon-button{border:1px solid var(--glass-border);min-height:44px;color:var(--text-primary);font:inherit;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.booking-settings__button:disabled,.booking-settings__icon-button:disabled{cursor:not-allowed;opacity:.6}.booking-settings__icon-button{flex:0 0 44px;width:44px;padding:0}.booking-settings__notice,.booking-settings__error{color:var(--text-primary);margin:0;padding:12px 14px;font-size:.875rem;font-weight:700}.booking-settings__error{color:var(--hp-color-error)}.booking-settings__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;display:grid}.booking-settings__panel{align-content:start;gap:16px;min-width:0;padding:16px;display:grid}.booking-settings__panel-head,.booking-settings__team-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.booking-settings__member-count{width:fit-content;padding:6px 10px}.booking-settings__team-name{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.booking-settings__members{gap:8px;display:grid}.booking-settings__member{min-width:0;color:var(--text-primary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;font-weight:700;display:flex}.booking-settings__member small,.booking-settings__empty{color:var(--text-muted);font-size:.875rem;font-weight:500}.booking-settings__invite{gap:10px;display:grid}.booking-section__pane{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.booking-section__pane--active{z-index:1;position:relative}.booking-section__pane--outgoing{z-index:2;pointer-events:none;position:absolute;inset:0}.booking-section__pane--enter-forward{animation:booking-section-pane-enter-forward var(--motion-duration-modal) var(--ease-in-out-strong) both}.booking-section__pane--exit-forward{animation:booking-section-pane-exit-forward var(--motion-duration-modal) var(--ease-in-out-strong) both}.booking-section__pane--enter-back{animation:booking-section-pane-enter-back var(--motion-duration-modal) var(--ease-in-out-strong) both}.booking-section__pane--exit-back{animation:booking-section-pane-exit-back var(--motion-duration-modal) var(--ease-in-out-strong) both}@keyframes booking-section-pane-enter-forward{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes booking-section-pane-exit-forward{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-32px)}}@keyframes booking-section-pane-enter-back{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes booking-section-pane-exit-back{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(32px)}}.booking-section__pane--hidden{display:none}@media (prefers-reduced-motion:reduce){.booking-section__pane--enter-forward,.booking-section__pane--enter-back{animation:booking-section-pane-fade-in var(--motion-duration-modal) linear both!important}.booking-section__pane--exit-forward,.booking-section__pane--exit-back{animation:booking-section-pane-fade-out var(--motion-duration-modal) linear both!important}}@keyframes booking-section-pane-fade-in{0%{opacity:0}to{opacity:1}}@keyframes booking-section-pane-fade-out{0%{opacity:1}to{opacity:0}}.booking-section__pane>.booking-calendar{flex:auto;grid-template-rows:auto minmax(0,1fr);min-height:0}.booking-section__pane>.booking-calendar .booking-calendar__surface{min-height:0}.booking-section__pane>.booking-calendar .fc-daygrid-day-frame{min-height:clamp(76px,6.5vw,88px)}.booking-section__pane>.booking-calendar .fc-timegrid-slot{height:56px}.booking-footer{border-top:1px solid var(--glass-border);flex:none;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:12px;min-height:60px;padding-top:12px;display:grid}.booking-footer__secondary,.booking-footer__primary{border:1px solid var(--glass-border);min-height:44px;font:inherit;text-align:center;justify-content:center;align-items:center;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.booking-footer__secondary{width:fit-content;color:var(--text-primary)}.booking-footer__primary{background:var(--hp-color-accent);color:var(--hp-color-calendar-on-strong)}.booking-footer__primary:disabled{background:color-mix(in srgb, var(--text-muted) 24%, var(--glass-bg));color:color-mix(in srgb, var(--text-primary) 70%, var(--text-muted));cursor:not-allowed}.booking-form{gap:18px;min-width:0;min-height:0;padding-right:8px;display:grid;overflow-y:auto}.booking-form__slot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-form__slot-pill,.booking-confirm__slot-pill,.booking-done__slot{overflow-wrap:anywhere;word-break:break-word;width:fit-content;min-width:0;max-width:100%;padding:8px 12px;display:inline-flex}button.booking-form__slot-pill{appearance:none;cursor:pointer;font:inherit}button.booking-form__slot-pill:hover,button.booking-form__slot-pill:focus-visible{border-color:color-mix(in srgb, var(--hp-color-accent) 40%, transparent);color:var(--text-primary)}.booking-form__slot-list{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.booking-form__duration-total{border-radius:var(--hp-radius-sm);flex-wrap:wrap;align-items:baseline;gap:10px;width:fit-content;min-width:0;max-width:100%;padding:10px 12px;display:flex}.booking-form__duration-total strong{color:var(--text-primary);font-size:1rem}.booking-form__group{border:0;gap:8px;min-width:0;padding:0;display:grid}.booking-form__label{color:var(--text-muted);font-size:.8125rem;font-weight:700}.booking-form__label-optional{color:var(--text-muted);margin-left:4px;font-size:.8125rem;font-weight:400}.booking-form__control{width:100%;min-height:44px;font:inherit;padding:10px 12px}.booking-form__control--readonly{background:color-mix(in srgb, var(--text-muted) 8%, var(--glass-bg))}.booking-form__grid,.booking-form__checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.booking-choice{border:1px solid var(--glass-border);min-width:0;min-height:44px;color:var(--text-primary);align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.booking-choice input{accent-color:var(--hp-color-accent)}.booking-choice--terms a{color:var(--hp-color-accent);text-underline-offset:4px;font-weight:700;text-decoration:underline}.booking-form__callout{border:1px solid var(--hp-color-border-strong);min-width:0;color:var(--text-primary);overflow-wrap:anywhere;padding:12px 14px;font-size:.875rem;line-height:1.8}.booking-form__error{color:var(--text-muted);font-size:.75rem;font-weight:700}.booking-confirm{align-content:start;gap:18px;min-width:0;display:grid}.booking-confirm__submit-error{border:1px solid var(--hp-color-error);min-width:0;color:var(--text-primary);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.875rem;line-height:1.8;display:flex}.booking-confirm__submit-error p{overflow-wrap:anywhere;margin:0}.booking-confirm__submit-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.booking-confirm__title,.booking-done__title{color:var(--text-primary);letter-spacing:0;margin-top:16px;font-size:1.5rem;font-weight:700}.booking-confirm__list{gap:0;min-width:0;padding:18px;display:grid}.booking-confirm__row{border-bottom:1px solid var(--glass-border);grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);gap:16px;min-width:0;padding:12px 0;display:grid}.booking-confirm__row:last-child{border-bottom:0}.booking-confirm__row dt,.booking-confirm__row dd{overflow-wrap:anywhere;word-break:break-word;min-width:0;margin:0}.booking-done{align-content:start;gap:16px;width:100%;min-width:0;max-width:720px;padding:28px;display:grid;overflow:hidden}.booking-done p{overflow-wrap:anywhere;min-width:0}.booking-history__page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.booking-history__back{border:1px solid var(--glass-border);min-height:44px;color:var(--text-primary);justify-content:center;align-items:center;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.booking-history__list{gap:14px;min-width:0;margin-top:28px;display:grid}.booking-history__card,.booking-history__empty{min-width:0;padding:18px;overflow:hidden}.booking-history__card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.booking-history__title-group{min-width:0}.booking-history__item-title{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:1.125rem;font-weight:700}.booking-history__created{color:var(--text-muted);margin:4px 0 0;font-size:.8125rem;font-weight:600}.booking-history__status{max-width:100%;padding:6px 10px}.booking-history__details{gap:10px;min-width:0;margin:14px 0 0;display:grid}.booking-history__row{grid-template-columns:minmax(88px,.22fr) minmax(0,1fr);gap:12px;min-width:0;display:grid}.booking-history__row dt,.booking-history__row dd,.booking-history__empty{overflow-wrap:anywhere;word-break:break-word;min-width:0;margin:0}.booking-history__row dt{color:var(--text-muted);font-size:.8125rem;font-weight:700}.booking-history__row dd,.booking-history__empty{color:var(--text-primary)}@media (max-width:1024px){.booking-section{--booking-card-min-height:700px}.booking-settings__grid{grid-template-columns:1fr}.booking-section__pane>.booking-calendar .fc-daygrid-day-frame{min-height:clamp(64px,7.5vw,76px)}}@media (max-width:767px){.booking-section{--booking-card-min-height:0px;min-height:0}.booking-progress{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}.booking-progress__line{display:none}.booking-section__body,.booking-form{overflow:visible}.booking-section__pane>.booking-calendar .fc-daygrid-day-frame{min-height:clamp(40px,10.5vw,52px)}.booking-form__grid,.booking-form__checkbox-grid,.booking-footer{grid-template-columns:1fr}.booking-confirm__row{grid-template-columns:1fr;gap:6px}.booking-history__row{grid-template-columns:1fr;gap:4px}.booking-settings__button{width:100%}}
