/* 016K Supplier Orders & Reservations operational detail + viewport repair */
body.booking-workspace-open{overflow:hidden!important}
.booking-workspace{position:fixed!important;z-index:260!important;top:var(--supplier-booking-workspace-top,72px)!important;bottom:22px!important;left:max(18px,calc((100vw - 1040px)/2))!important;right:max(18px,calc((100vw - 1040px)/2))!important;max-height:none!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;border:1px solid #d9e3ed!important;border-radius:20px!important;background:#f7f9fc!important;box-shadow:0 28px 70px rgba(15,35,58,.22)!important}
.booking-workspace .booking-detail-head{position:sticky!important;top:0!important;z-index:6!important;display:flex!important;align-items:flex-start!important;padding:18px 20px!important;background:#fff!important;border-bottom:1px solid #e4eaf0!important}
.booking-workspace .booking-detail-head small{font-size:10px!important;letter-spacing:.11em!important;font-weight:900!important;color:#66798b!important}
.booking-workspace .booking-detail-head h3{font-size:23px!important;line-height:1.12!important;color:#10263e!important;margin:4px 0 5px!important}
.booking-workspace .booking-detail-head p{margin:0!important;font-size:13px!important;font-weight:800!important;color:#0b6fd3!important}
.booking-workspace .booking-detail-body{overflow:visible!important;min-height:auto!important;padding:18px 20px 30px!important;background:#f7f9fc!important}
.booking-progress{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:15px;margin:0 0 15px}
.booking-progress-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.booking-progress-title span{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#738294}.booking-progress-title b{text-align:right;font-size:12px;color:#153e68}
.booking-stage-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.booking-stage{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px;min-width:0;padding:8px;border-radius:10px;background:#f4f6f8;color:#738294}.booking-stage i{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#dce3ea;color:#536475;font-style:normal;font-size:10px;font-weight:900}.booking-stage span{font-size:10px;font-weight:800;line-height:1.2}.booking-stage.done{background:#f1f9f4;color:#25633d}.booking-stage.done i{background:#d9efdf;color:#17663a}.booking-stage.current{background:#eef6ff;color:#14599f;box-shadow:inset 0 0 0 1px #9fc4ea}.booking-stage.current i{background:#0b6fd3;color:#fff}
.booking-workspace .detail-grid{margin-bottom:12px}.booking-workspace .detail-grid>div{background:#fff!important}.optional-field{font-size:10px;font-weight:700;color:#7a8795;margin-left:5px}
.ops-secondary-views{justify-content:flex-end}.ops-secondary-views>span{font-size:10px!important;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.booking-status{max-width:100%;white-space:normal;line-height:1.2}
@media(max-width:760px){.booking-workspace{top:var(--supplier-booking-workspace-top,198px)!important;bottom:72px!important;left:8px!important;right:8px!important;border-radius:16px!important}.booking-workspace .booking-detail-head{padding:14px 14px 12px!important}.booking-workspace .booking-detail-head h3{font-size:18px!important}.booking-workspace .booking-detail-body{padding:13px 12px 24px!important}.booking-stage-list{grid-template-columns:1fr!important;gap:5px}.booking-stage{grid-template-columns:24px 1fr;padding:7px 8px}.booking-progress-title{display:grid;gap:4px}.booking-progress-title b{text-align:left}.booking-workspace .detail-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}.booking-workspace .detail-grid>div{padding:10px!important}.ops-secondary-views{justify-content:flex-start!important}}
@media(max-width:420px){.booking-workspace .detail-grid{grid-template-columns:1fr!important}}

/* 016I closeout alignment */
.booking-waiting-note{border-color:#cfe0f0!important;background:#f6faff!important}
.booking-current-action{border:1px solid #cfe0f0!important;border-radius:14px!important;background:#fff!important;padding:14px!important;margin-top:14px!important}
.calendar-toura-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}
.calendar-toura-actions .module-action,.calendar-toura-actions .settlement-secondary-action{width:100%;min-height:42px;margin:0!important;display:flex;align-items:center;justify-content:center;text-align:center}
.calendar-manager-actions .module-action,.calendar-manager-actions .settlement-secondary-action{min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1.15!important;padding-top:10px!important;padding-bottom:10px!important}
.integration-request-form input[name="provider_name"]{text-overflow:ellipsis}
@media(max-width:760px){.calendar-toura-actions{grid-template-columns:1fr}.calendar-toura-actions .module-action,.calendar-toura-actions .settlement-secondary-action{min-height:44px}.booking-current-action{padding:12px!important}}

/* Overview navigation affordance carried into Supplier closeout */
.studio-metrics article.tp008c-metric-link{position:relative!important;border-color:#b8cfe8!important;box-shadow:0 7px 18px rgba(14,78,140,.07)!important;padding-right:38px!important;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease!important}
.studio-metrics article.tp008c-metric-link:after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:999px;background:#eef6ff;color:#0b6fd3;font-size:20px;font-weight:900;line-height:1}
.studio-metrics article.tp008c-metric-link:hover{border-color:#78aee2!important;box-shadow:0 9px 22px rgba(14,78,140,.1)!important;transform:translateY(-1px)}

/* 016J progressive disclosure: tracker first, supporting information on demand */
.booking-details-disclosure{margin-top:14px;border:1px solid #dfe7ef;border-radius:15px;background:#fff;overflow:hidden}
.booking-details-disclosure summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;color:#10263e;user-select:none}
.booking-details-disclosure summary::-webkit-details-marker{display:none}
.booking-details-disclosure summary>span{display:grid;gap:3px;min-width:0}
.booking-details-disclosure summary b{font-size:14px;line-height:1.2}
.booking-details-disclosure summary small{font-size:11px;color:#778494;font-weight:600;white-space:normal}
.booking-details-disclosure summary em{font-style:normal;font-size:11px;font-weight:850;color:#0b6fd3;display:flex;align-items:center;gap:5px;white-space:nowrap}
.booking-details-disclosure summary em:after{content:'+';font-size:17px;line-height:1}
.booking-details-disclosure[open] summary{border-bottom:1px solid #e7edf3;background:#fbfdff}
.booking-details-disclosure[open] summary em:after{content:'−'}
.booking-details-disclosure[open] summary em{font-size:0}
.booking-details-disclosure[open] summary em:before{content:'Hide';font-size:11px}
.booking-details-content{padding:13px 14px 15px;background:#f9fbfd}
.booking-details-content .booking-primary-details{margin:0 0 10px!important}
.booking-detail-note{padding:12px 13px;border:1px solid #e3e9ef;border-radius:12px;background:#fff;margin-top:9px}
.booking-detail-note b{display:block;font-size:13px;color:#10263e;margin-bottom:4px}
.booking-detail-note p{margin:0;color:#667589;line-height:1.42;font-size:12px}
.booking-workspace .booking-action-card{background:#fff;border:1px solid #dce6ef;border-radius:14px;padding:14px;margin-top:13px}
.booking-workspace .booking-action-card:first-of-type{margin-top:0}
@media(max-width:760px){
  .booking-details-disclosure{margin-top:11px}
  .booking-details-disclosure summary{padding:12px 13px}
  .booking-details-content{padding:11px 12px 13px}
  .booking-detail-note{padding:11px 12px}
}

/* 016K structured booking details */
.booking-detail-section{border:1px solid #e3e9ef;border-radius:12px;background:#fff;padding:12px 13px;margin-top:9px}
.booking-detail-section:first-child{margin-top:0}
.booking-detail-section>h4{margin:0 0 10px;color:#10263e;font-size:13px;line-height:1.2}
.booking-detail-lines{display:grid;gap:9px}
.booking-detail-line{display:grid;grid-template-columns:minmax(96px,.72fr) minmax(0,1.28fr);gap:10px;align-items:start}
.booking-detail-line small{color:#7b8794;font-size:10px;line-height:1.3}
.booking-detail-line b,.booking-detail-line span{color:#14283e;font-size:12px;line-height:1.35;word-break:break-word}
.booking-traveler-card{border-top:1px solid #edf1f5;padding-top:9px;margin-top:9px}
.booking-traveler-card:first-child{border-top:0;padding-top:0;margin-top:0}
.booking-traveler-card strong{display:block;color:#10263e;font-size:12px;margin-bottom:4px}
.booking-traveler-meta{display:flex;flex-wrap:wrap;gap:5px 10px;color:#667589;font-size:11px;line-height:1.35}
@media(max-width:520px){.booking-detail-line{grid-template-columns:1fr;gap:2px}.booking-detail-section{padding:11px 12px}}

.booking-preline{white-space:pre-line}


/* 016M: canonical booking reader uses document scroll; no nested fixed viewport */
body.booking-workspace-open{overflow:auto!important;position:static!important;touch-action:auto!important}
.booking-reader-panel{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.booking-reader-panel .booking-workspace,
.booking-workspace{position:relative!important;z-index:auto!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;max-height:none!important;height:auto!important;min-height:0!important;overflow:visible!important;overscroll-behavior:auto!important;touch-action:auto!important;border:1px solid #d9e3ed!important;border-radius:20px!important;background:#f7f9fc!important;box-shadow:0 14px 34px rgba(15,35,58,.10)!important;margin:0!important;scroll-margin-top:190px!important}
.booking-workspace .booking-detail-head{position:relative!important;top:auto!important;z-index:1!important}
.booking-workspace .booking-detail-body{overflow:visible!important;height:auto!important;max-height:none!important;min-height:0!important}
@media(max-width:760px){
  .booking-reader-panel{margin:0!important;padding:0!important;overflow:visible!important}
  .booking-reader-panel .booking-workspace,.booking-workspace{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;border-radius:16px!important;margin:0!important;scroll-margin-top:205px!important}
  .booking-workspace .booking-detail-head{position:relative!important;top:auto!important}
}
