/*
 * DockFlow Booking Drawer V2 — Canonical operational booking surface
 * ------------------------------------------------------------------
 * Owner: Booking-detail composition only.
 * Shared header/body/footer/actions remain owned by df-ui-v2.css.
 * This file intentionally loads after historical Calendar booking-detail CSS so
 * the V2 variant can replace that legacy surface without another inline patch.
 */

/* ==========================================================================
   01. Booking operational drawer geometry + work surface
   ========================================================================== */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-child-mode="booking-v2"][data-dfc-drawer-variant="booking-v2"]{
  position:fixed !important;
  width:clamp(900px,62vw,1040px) !important;
  max-width:min(1040px,calc(100vw - 20px)) !important;
  min-width:0 !important;
  height:100dvh !important;
  max-height:100dvh !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:var(--df-drawer-v2-body-bg) !important;
  box-shadow:-26px 0 70px rgba(18,44,32,.16) !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:264px minmax(0,1fr) !important;
  grid-template-rows:minmax(0,1fr) !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .dfc-cal__drawerpanel{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:var(--df-drawer-v2-body-bg) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .df-ui-drawer-header-v2{
  flex:0 0 auto !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .df-ui-drawer-header-v2__subtitle[hidden]{
  display:none !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__drawerbody.df-ui-drawer-body-v2{
  min-height:0 !important;
  height:auto !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:var(--df-drawer-v2-body-bg) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:#b7c7bf #eef4f1 !important;
  scrollbar-gutter:stable !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__drawerbody.df-ui-drawer-body-v2::-webkit-scrollbar{width:8px !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__drawerbody.df-ui-drawer-body-v2::-webkit-scrollbar-track{background:#eef4f1 !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__drawerbody.df-ui-drawer-body-v2::-webkit-scrollbar-thumb{background:#b7c7bf !important;border-radius:999px !important;border:2px solid #eef4f1 !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__possteps{
  display:none !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__drawersection.dfc-cal__posstage{
  min-height:100% !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__posfootererror{
  display:none !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__guestfootmeta:not([hidden]){
  min-width:0 !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:auto auto !important;
  grid-template-rows:auto auto !important;
  column-gap:8px !important;
  align-items:baseline !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__guestfootmeta > span{
  grid-column:1 !important;
  color:#91a098 !important;
  font:760 9px/1.1 Inter,system-ui,sans-serif !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__guestfootmeta > strong{
  grid-column:2 !important;
  color:#102119 !important;
  font:760 13px/1.15 Inter,system-ui,sans-serif !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .dfc-cal__guestfootmeta > small{
  grid-column:1 / -1 !important;
  margin-top:2px !important;
  color:#819089 !important;
  font:520 9.5px/1.2 Inter,system-ui,sans-serif !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .df-ui-drawer-footer-v2{
  grid-row:3 !important;
  flex:0 0 auto !important;
  justify-content:flex-end !important;
}

/* Shared Booking guest-context extension. The canonical Booking workspace can
   compose this rail whenever a specific Guest is the active investigation context. */
html body.dfd-app .df-booking-context-v1{
  min-width:0 !important; min-height:0 !important; height:100% !important;
  display:flex !important; flex-direction:column !important;
  padding:27px 20px 18px !important; box-sizing:border-box !important;
  overflow-y:auto !important; overscroll-behavior:contain !important;
  border-right:1px solid rgba(16,33,49,.08) !important;
  background:linear-gradient(180deg,#fff 0%,#f8fbf9 100%) !important; color:#102119 !important;
}
html body.dfd-app .df-booking-context-v1[hidden]{display:none !important;}
html body.dfd-app .df-booking-context-v1__head{min-width:0 !important;display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;}
html body.dfd-app .df-booking-context-v1__badge{display:inline-flex !important;align-items:center !important;min-height:22px !important;margin:0 !important;color:#1a8f50 !important;font:800 9px/1 Inter,system-ui,sans-serif !important;letter-spacing:.1em !important;text-transform:uppercase !important;}
html body.dfd-app .df-booking-context-v1__avatar{width:68px !important;height:68px !important;min-width:68px !important;min-height:68px !important;display:grid !important;place-items:center !important;margin:17px 0 13px !important;overflow:hidden !important;border:1px solid #cde8d7 !important;border-radius:50% !important;background:#eef9f2 !important;color:#145c36 !important;font:760 19px/1 Inter,system-ui,sans-serif !important;}
html body.dfd-app .df-booking-context-v1__avatar img{width:100% !important;height:100% !important;display:block !important;object-fit:cover !important;}
html body.dfd-app .df-booking-context-v1__head h3{width:100% !important;margin:0 !important;color:#102119 !important;font:780 16px/1.25 Inter,system-ui,sans-serif !important;letter-spacing:-.02em !important;overflow-wrap:anywhere !important;}
html body.dfd-app .df-booking-context-v1__head p{width:100% !important;margin:5px 0 0 !important;color:#819089 !important;font:520 10.5px/1.4 Inter,system-ui,sans-serif !important;overflow-wrap:anywhere !important;}
html body.dfd-app .df-booking-context-v1__meta{width:100% !important;display:grid !important;gap:0 !important;margin:22px 0 0 !important;padding:0 !important;border-top:1px solid rgba(16,33,49,.08) !important;}
html body.dfd-app .df-booking-context-v1__meta > div{min-width:0 !important;display:grid !important;grid-template-columns:72px minmax(0,1fr) !important;align-items:center !important;gap:10px !important;min-height:46px !important;padding:9px 0 !important;border-bottom:1px solid rgba(16,33,49,.065) !important;}
html body.dfd-app .df-booking-context-v1__meta dt,html body.dfd-app .df-booking-context-v1__meta dd{min-width:0 !important;margin:0 !important;}
html body.dfd-app .df-booking-context-v1__meta dt{color:#91a098 !important;font:720 9px/1.2 Inter,system-ui,sans-serif !important;letter-spacing:.045em !important;text-transform:uppercase !important;}
html body.dfd-app .df-booking-context-v1__meta dd{overflow:hidden !important;color:#4b6056 !important;font:620 10.5px/1.3 Inter,system-ui,sans-serif !important;text-align:right !important;text-overflow:ellipsis !important;white-space:nowrap !important;}

/* ==========================================================================
   02. Booking identity hero
   ========================================================================== */
html body.dfd-app .df-booking-v2{
  --df-booking-v2-ink:#11283b;
  --df-booking-v2-copy:#718394;
  --df-booking-v2-line:#dfe8e3;
  --df-booking-v2-soft:#f5f8f6;
  --df-booking-v2-green:#1ed760;
  --df-booking-v2-green-deep:#087a43;
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  color:var(--df-booking-v2-ink) !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body.dfd-app .df-booking-v2 *,
html body.dfd-app .df-booking-v2 *::before,
html body.dfd-app .df-booking-v2 *::after{box-sizing:border-box !important;}
html body.dfd-app .df-booking-v2__hero{
  position:relative !important;
  min-height:178px !important;
  display:grid !important;
  grid-template-columns:70px minmax(0,1fr) !important;
  gap:17px !important;
  align-items:start !important;
  padding:22px 26px 20px !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid var(--df-booking-v2-line) !important;
  overflow:hidden !important;
}
html body.dfd-app .df-booking-v2__avatar{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid var(--df-guest-avatar-border) !important;
  border-radius:50% !important;
  background:var(--df-guest-avatar-bg) !important;
  color:var(--df-guest-avatar-ink) !important;
  box-shadow:var(--df-guest-avatar-shadow) !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  flex:0 0 auto !important;
}
html body.dfd-app .df-booking-v2__avatar--hero{
  position:relative !important;
  z-index:1 !important;
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  border-radius:50% !important;
  font-size:18px !important;
  box-shadow:0 10px 28px rgba(18,74,45,.09),inset 0 0 0 1px rgba(255,255,255,.75) !important;
}
html body.dfd-app .df-booking-v2__hero-main{
  position:relative !important;
  z-index:1 !important;
  min-width:0 !important;
}
html body.dfd-app .df-booking-v2__customer-line{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
}
html body.dfd-app .df-booking-v2__customer-line h2{
  margin:0 !important;
  color:#10283d !important;
  font-size:23px !important;
  font-weight:680 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}
html body.dfd-app .df-booking-v2__customer-line p{
  margin:5px 0 0 !important;
  color:#728596 !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
}
html body.dfd-app .df-booking-v2__experience{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-width:0 !important;
  margin-top:14px !important;
}
html body.dfd-app .df-booking-v2__experience .df-ui-experience-type-icon-v2{
  width:38px !important;
  height:36px !important;
  min-width:38px !important;
  min-height:36px !important;
  border-radius:12px !important;
}
html body.dfd-app .df-booking-v2__experience .df-ui-experience-type-icon-v2::before{width:18px !important;height:18px !important;}
html body.dfd-app .df-booking-v2__experience > div{min-width:0 !important;}
html body.dfd-app .df-booking-v2__experience strong{
  display:block !important;
  overflow:hidden !important;
  color:#1f3a4f !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__experience span:not(.df-ui-experience-type-icon-v2){
  display:block !important;
  margin-top:3px !important;
  overflow:hidden !important;
  color:#748798 !important;
  font-size:11px !important;
  font-weight:500 !important;
  line-height:1.3 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__pills{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-top:13px !important;
}
html body.dfd-app .df-booking-v2__pill{
  min-height:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:3px 9px !important;
  border:1px solid #dfe7e3 !important;
  border-radius:999px !important;
  background:#f6f8f7 !important;
  color:#65786d !important;
  font-size:10px !important;
  font-weight:720 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__pill.is-good{border-color:#cdebd7 !important;background:#effaf3 !important;color:#0c7b41 !important;}
html body.dfd-app .df-booking-v2__pill.is-warn{border-color:#f0dec0 !important;background:#fff8ed !important;color:#9a5f11 !important;}
html body.dfd-app .df-booking-v2__pill.is-danger{border-color:#f1d1d1 !important;background:#fff4f4 !important;color:#a63d3d !important;}
html body.dfd-app .df-booking-v2__pill.is-soft{border-color:#dde6e2 !important;background:#f7f9f8 !important;color:#687c70 !important;}
html body.dfd-app .df-booking-v2__pill.is-info{border-color:#cfe0ff !important;background:#f2f7ff !important;color:#2563c7 !important;}

/* ==========================================================================
   03. Conditional operational intelligence
   ========================================================================== */
html body.dfd-app .df-booking-v2__attention{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  margin:18px 24px 0 !important;
  padding:14px 15px !important;
  border:1px solid #d7e8df !important;
  border-radius:15px !important;
  background:linear-gradient(115deg,#ffffff,#f6fbf8) !important;
  box-shadow:0 6px 18px rgba(30,68,48,.035) !important;
}
html body.dfd-app .df-booking-v2__attention.is-warn{border-color:#eadfca !important;background:linear-gradient(115deg,#fff,#fffaf2) !important;}
html body.dfd-app .df-booking-v2__attention-icon{
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:13px !important;
  background:#e9fbef !important;
  color:#0b9e4d !important;
  font-size:18px !important;
  line-height:1 !important;
}
html body.dfd-app .df-booking-v2__attention.is-warn .df-booking-v2__attention-icon{background:#fff3dc !important;color:#a7650d !important;}
html body.dfd-app .df-booking-v2__attention-icon svg{width:18px !important;height:18px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.9 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
html body.dfd-app .df-booking-v2__attention-copy{min-width:0 !important;}
html body.dfd-app .df-booking-v2__attention-copy > span{
  display:block !important;
  margin:0 0 4px !important;
  color:#15934d !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:.075em !important;
}
html body.dfd-app .df-booking-v2__attention.is-warn .df-booking-v2__attention-copy > span{color:#a56612 !important;}
html body.dfd-app .df-booking-v2__attention-copy strong{display:block !important;color:#1d3a4d !important;font-size:12.5px !important;font-weight:720 !important;line-height:1.28 !important;}
html body.dfd-app .df-booking-v2__attention-copy p{margin:3px 0 0 !important;color:#788b99 !important;font-size:10px !important;font-weight:500 !important;line-height:1.35 !important;}
html body.dfd-app .df-booking-v2__attention-action{
  height:36px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:0 12px !important;
  border:1px solid #1ed760 !important;
  border-radius:10px !important;
  background:#1ed760 !important;
  color:#fff !important;
  box-shadow:0 7px 16px rgba(30,215,96,.18) !important;
  font:700 10px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__attention.is-warn .df-booking-v2__attention-action{border-color:#e5bb75 !important;background:#fff !important;color:#8a5a13 !important;box-shadow:none !important;}
html body.dfd-app .df-booking-v2__attention-action span{display:inline-flex !important;align-items:center !important;}
html body.dfd-app .df-booking-v2__attention-action span svg{width:13px !important;height:13px !important;fill:none !important;stroke:currentColor !important;stroke-width:2 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
html body.dfd-app .df-booking-v2__attention-action[hidden]{display:none !important;}

/* ==========================================================================
   04. Tabs + panels
   ========================================================================== */
html body.dfd-app .df-booking-v2__tabs{
  position:sticky !important;
  z-index:17 !important;
  top:0 !important;
  transition:top 180ms cubic-bezier(.2,.8,.2,1) !important;
  display:flex !important;
  align-items:center !important;
  gap:2px !important;
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-bottom:1px solid var(--df-booking-v2-line) !important;
  background:#fff !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none !important;
}
html body.dfd-app .df-booking-v2__tabs::-webkit-scrollbar{display:none !important;}
html body.dfd-app .df-booking-v2__tabs button{
  position:relative !important;
  height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 10px !important;
  border:0 !important;
  background:transparent !important;
  color:#748697 !important;
  box-shadow:none !important;
  font:570 12px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__tabs button::after{
  content:"" !important;
  position:absolute !important;
  left:8px !important;
  right:8px !important;
  bottom:0 !important;
  height:2px !important;
  border-radius:999px !important;
  background:transparent !important;
}
html body.dfd-app .df-booking-v2__tabs button.is-active{color:var(--df-drawer-v2-accent) !important;font-weight:650 !important;}
html body.dfd-app .df-booking-v2__tabs button.is-active::after{background:var(--df-drawer-v2-accent) !important;}
html body.dfd-app .df-booking-v2.is-context-compact .df-booking-v2__tabs{top:58px !important;}
html body.dfd-app .df-booking-v2__tab-count{
  min-width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 5px !important;
  border:1px solid #e0e8e3 !important;
  border-radius:999px !important;
  background:#f6f9f7 !important;
  color:#819087 !important;
  font:680 9px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-variant-numeric:tabular-nums !important;
}
html body.dfd-app .df-booking-v2__tabs button.is-active .df-booking-v2__tab-count{
  border-color:#c8edd6 !important;
  background:#effaf3 !important;
  color:#0c8b4a !important;
}
html body.dfd-app .df-booking-v2__panels{padding:20px 24px 32px !important;}
html body.dfd-app .df-booking-v2__panel{display:block !important;margin:0 !important;padding:0 !important;}
html body.dfd-app .df-booking-v2__panel[hidden]{display:none !important;}
html body.dfd-app .df-booking-v2__sheet{
  width:100% !important;
  border:1px solid var(--df-booking-v2-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 5px 18px rgba(28,58,43,.035) !important;
  overflow:hidden !important;
}

/* Overview follows the dense dossier-list language: one operational fact per row,
   Lucide stroke icon, quiet helper copy, restrained trailing state/action. */
html body.dfd-app .df-booking-v2__overview-card{
  width:100% !important;
  border:1px solid var(--df-booking-v2-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 5px 18px rgba(28,58,43,.035) !important;
  overflow:hidden !important;
}
html body.dfd-app .df-booking-v2__overview-head{
  min-height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 15px !important;
  border-bottom:1px solid #e8eeeb !important;
  background:#fff !important;
}
html body.dfd-app .df-booking-v2__overview-head h3{margin:0 !important;color:#263f52 !important;font-size:13px !important;font-weight:720 !important;line-height:1.2 !important;}
html body.dfd-app .df-booking-v2__overview-head > span{color:#899992 !important;font-size:9px !important;font-weight:600 !important;line-height:1.2 !important;}
html body.dfd-app .df-booking-v2__overview-list{display:grid !important;}
html body.dfd-app .df-booking-v2__overview-row{
  min-height:70px !important;
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:11px !important;
  padding:11px 13px !important;
  border-bottom:1px solid #eef2f0 !important;
  background:#fff !important;
}
html body.dfd-app .df-booking-v2__overview-row:last-child{border-bottom:0 !important;}
html body.dfd-app .df-booking-v2__overview-icon{
  width:34px !important;height:34px !important;display:grid !important;place-items:center !important;border-radius:10px !important;
  background:#eff8f3 !important;color:#168a4c !important;box-shadow:inset 0 0 0 1px rgba(var(--df-drawer-v2-accent-rgb),.08) !important;
}
html body.dfd-app .df-booking-v2__overview-icon svg,
html body.dfd-app .df-booking-v2__row-link svg{width:16px !important;height:16px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.8 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
html body.dfd-app .df-booking-v2__overview-copy{min-width:0 !important;display:flex !important;flex-direction:column !important;gap:2px !important;}
html body.dfd-app .df-booking-v2__overview-copy > span{color:#889890 !important;font-size:9.5px !important;font-weight:800 !important;line-height:1.15 !important;letter-spacing:.075em !important;}
html body.dfd-app .df-booking-v2__overview-copy > strong{overflow:hidden !important;color:#355065 !important;font-size:12.5px !important;font-weight:700 !important;line-height:1.35 !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
html body.dfd-app .df-booking-v2__overview-copy > small{overflow:hidden !important;color:#84958d !important;font-size:11px !important;font-weight:500 !important;line-height:1.4 !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
html body.dfd-app .df-booking-v2__overview-trailing{min-width:0 !important;display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:8px !important;}
html body.dfd-app .df-booking-v2__overview-trailing .df-booking-v2__pill{max-width:165px !important;overflow:hidden !important;text-overflow:ellipsis !important;}
html body.dfd-app .df-booking-v2__row-link{
  min-height:30px !important;display:inline-flex !important;align-items:center !important;gap:6px !important;margin:0 !important;padding:0 9px !important;
  border:1px solid #dbe6e0 !important;border-radius:9px !important;background:#fff !important;color:#567064 !important;box-shadow:none !important;
  font:700 10.5px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;cursor:pointer !important;white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__row-link:hover{border-color:#b8ddc5 !important;background:#f7fcf9 !important;color:var(--df-drawer-v2-accent-deep) !important;}
html body.dfd-app .df-booking-v2__row-link svg{width:13px !important;height:13px !important;}
html body.dfd-app .df-booking-v2__overview-card > .df-booking-v2__action-status{margin:12px 13px 13px !important;}
html body.dfd-app .df-booking-v2__section{position:relative !important;padding:18px 18px 17px !important;margin:0 !important;border:0 !important;background:transparent !important;}
html body.dfd-app .df-booking-v2__section + .df-booking-v2__section{border-top:1px solid #e5ece8 !important;}
html body.dfd-app .df-booking-v2__section-head{min-width:0 !important;}
html body.dfd-app .df-booking-v2__section-head > span,
html body.dfd-app .df-booking-v2__tab-intro span{
  display:block !important;
  margin:0 0 6px !important;
  color:#819291 !important;
  font-size:9.5px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:.075em !important;
}
html body.dfd-app .df-booking-v2__section-head > strong,
html body.dfd-app .df-booking-v2__tab-intro strong{
  display:block !important;
  color:#1c384c !important;
  font-size:15px !important;
  font-weight:720 !important;
  line-height:1.32 !important;
}
html body.dfd-app .df-booking-v2__section-head > p{margin:4px 0 0 !important;color:#758896 !important;font-size:11px !important;font-weight:500 !important;line-height:1.4 !important;}
html body.dfd-app .df-booking-v2__quiet-meta{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-top:13px !important;
  padding-top:12px !important;
  border-top:1px dashed #e2eae6 !important;
}
html body.dfd-app .df-booking-v2__quiet-meta span{color:#82928f !important;font-size:9.5px !important;font-weight:650 !important;}
html body.dfd-app .df-booking-v2__quiet-meta strong{color:#425c6b !important;font-size:10.5px !important;font-weight:680 !important;text-align:right !important;}
html body.dfd-app .df-booking-v2__contact-grid,
html body.dfd-app .df-booking-v2__info-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 20px !important;margin-top:12px !important;}
html body.dfd-app .df-booking-v2__info-row{min-width:0 !important;display:flex !important;flex-direction:column !important;gap:4px !important;padding:9px 0 !important;border-top:1px solid #edf1ef !important;}
html body.dfd-app .df-booking-v2__info-row > span{color:#889891 !important;font-size:9.5px !important;font-weight:600 !important;line-height:1.2 !important;}
html body.dfd-app .df-booking-v2__info-row > strong{overflow-wrap:anywhere !important;color:#345064 !important;font-size:10.5px !important;font-weight:650 !important;line-height:1.4 !important;}
html body.dfd-app .df-booking-v2__text-action{
  height:32px !important;
  display:inline-flex !important;
  align-items:center !important;
  margin-top:12px !important;
  padding:0 11px !important;
  border:1px solid #d7e3dd !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#4e6a5c !important;
  box-shadow:none !important;
  font:680 9.5px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  cursor:pointer !important;
}
html body.dfd-app .df-booking-v2__text-action:hover{border-color:#a9dcbc !important;color:#087a43 !important;background:#fbfefc !important;}
html body.dfd-app .df-booking-v2__action-status{margin:12px 0 0 !important;padding:9px 11px !important;border:1px solid #dce9e2 !important;border-radius:10px !important;background:#f6fbf8 !important;color:#517061 !important;font-size:10px !important;font-weight:600 !important;line-height:1.4 !important;}

/* ==========================================================================
   05. Guests / participant operations
   ========================================================================== */
html body.dfd-app .df-booking-v2__tab-intro{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin:0 2px 13px !important;
}
html body.dfd-app .df-booking-v2__tab-intro p{max-width:270px !important;margin:0 !important;color:#84939d !important;font-size:10.75px !important;font-weight:500 !important;line-height:1.42 !important;text-align:right !important;}
html body.dfd-app .df-booking-v2__tab-summary{
  display:flex !important;
  align-items:center !important;
  min-height:24px !important;
  margin:0 2px 11px !important;
}
html body.dfd-app .df-booking-v2__tab-summary strong{
  color:#1c384c !important;
  font-size:15px !important;
  font-weight:720 !important;
  line-height:1.3 !important;
}
html body.dfd-app .df-booking-v2__person-row,
html body.dfd-app .df-booking-v2__waiver-row{
  min-height:72px !important;
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) auto auto !important;
  align-items:center !important;
  gap:12px !important;
  padding:14px 16px !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
}
html body.dfd-app .df-booking-v2__person-row + .df-booking-v2__person-row,
html body.dfd-app .df-booking-v2__waiver-row + .df-booking-v2__waiver-row{border-top:1px solid #e8eeeb !important;}
html body.dfd-app .df-booking-v2__person-copy{min-width:0 !important;}
html body.dfd-app .df-booking-v2__person-copy > strong{display:block !important;overflow:hidden !important;color:#29465a !important;font-size:12.75px !important;font-weight:700 !important;line-height:1.3 !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
html body.dfd-app .df-booking-v2__person-copy > span{display:block !important;margin-top:3px !important;overflow:hidden !important;color:#7a8c98 !important;font-size:11.25px !important;font-weight:550 !important;line-height:1.35 !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
html body.dfd-app .df-booking-v2__person-copy > em{display:block !important;margin-top:3px !important;overflow:hidden !important;color:#9aa6ad !important;font-size:10.5px !important;font-style:normal !important;font-weight:500 !important;line-height:1.3 !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
html body.dfd-app .df-booking-v2__person-status{display:flex !important;align-items:center !important;justify-content:flex-end !important;flex-wrap:wrap !important;gap:5px !important;}
html body.dfd-app .df-booking-v2__row-action{
  height:32px !important;
  min-width:72px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:0 10px !important;
  border:1px solid #d8e4de !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#49675a !important;
  box-shadow:none !important;
  font:690 10.5px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  cursor:pointer !important;
}
html body.dfd-app .df-booking-v2__row-action:hover:not(:disabled){border-color:#93ddb0 !important;background:#f8fdf9 !important;color:#087a43 !important;}
html body.dfd-app .df-booking-v2__row-action:disabled{opacity:.5 !important;cursor:default !important;}
html body.dfd-app .df-booking-v2__row-action svg{
  width:13px !important;
  height:13px !important;
  flex:0 0 13px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
html body.dfd-app .df-booking-v2__overview-action{min-width:72px !important;}
html body.dfd-app .df-booking-v2__empty{padding:28px 20px !important;text-align:center !important;}
html body.dfd-app .df-booking-v2__empty strong{display:block !important;color:#526c7b !important;font-size:12px !important;font-weight:700 !important;}
html body.dfd-app .df-booking-v2__empty p{margin:5px 0 0 !important;color:#91a0a8 !important;font-size:10.5px !important;font-weight:500 !important;line-height:1.4 !important;}

/* ==========================================================================
   06. Payments
   ========================================================================== */
html body.dfd-app .df-booking-v2__metrics{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;margin:0 0 13px !important;border:1px solid #dde7e2 !important;border-radius:14px !important;background:#fff !important;box-shadow:0 4px 14px rgba(25,58,42,.025) !important;overflow:hidden !important;}
html body.dfd-app .df-booking-v2__metrics > div{min-height:76px !important;display:flex !important;flex-direction:column !important;justify-content:center !important;padding:12px 15px !important;border:0 !important;border-right:1px solid #e7eeea !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;}
html body.dfd-app .df-booking-v2__metrics > div:last-child{border-right:0 !important;}
html body.dfd-app .df-booking-v2__metrics > div.is-attention{background:#fffaf3 !important;}
html body.dfd-app .df-booking-v2__metrics span{color:#86968e !important;font-size:10.5px !important;font-weight:650 !important;line-height:1.2 !important;}
html body.dfd-app .df-booking-v2__metrics strong{display:block !important;margin-top:7px !important;color:#1f4056 !important;font-size:19px !important;font-weight:720 !important;line-height:1 !important;letter-spacing:-.025em !important;}
html body.dfd-app .df-booking-v2__metrics > div.is-attention strong{color:#925d11 !important;}
/* Payment detail is intentionally row-based: quiet labels on the left,
   stronger values on the right, and one divider rhythm throughout. */
html body.dfd-app .df-booking-v2__payment-detail-list,
html body.dfd-app .df-booking-v2__payment-event-list{
  margin-top:14px !important;
  border-top:1px solid #e8eeeb !important;
}
html body.dfd-app .df-booking-v2__payment-detail-row{
  min-height:50px !important;
  display:grid !important;
  grid-template-columns:minmax(110px,.72fr) minmax(0,1.28fr) !important;
  align-items:center !important;
  gap:18px !important;
  padding:10px 0 !important;
  border-bottom:1px solid #edf1ef !important;
}
html body.dfd-app .df-booking-v2__payment-detail-row:last-child{border-bottom:0 !important;padding-bottom:0 !important;}
html body.dfd-app .df-booking-v2__payment-detail-row > span{
  color:#7f9088 !important;
  font-size:11.25px !important;
  font-weight:560 !important;
  line-height:1.3 !important;
}
html body.dfd-app .df-booking-v2__payment-detail-row > strong{
  color:#203f53 !important;
  font-size:13px !important;
  font-weight:720 !important;
  line-height:1.3 !important;
  text-align:right !important;
  overflow-wrap:anywhere !important;
}
html body.dfd-app .df-booking-v2__payment-detail-row.is-strong > strong{font-size:13.5px !important;font-weight:760 !important;}
html body.dfd-app .df-booking-v2__payment-detail-row.is-warn > strong{color:#9a651b !important;}

html body.dfd-app .df-booking-v2__payment-instrument{
  min-height:82px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-top:14px !important;
  padding:14px 15px !important;
  border:1px solid #dfe9e4 !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#fbfefc 0%,#f6fbf8 100%) !important;
  box-shadow:0 5px 16px rgba(22,74,48,.035) !important;
}
html body.dfd-app .df-booking-v2__payment-instrument-main{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}
html body.dfd-app .df-booking-v2__payment-instrument-copy{min-width:0 !important;}
html body.dfd-app .df-booking-v2__payment-instrument-copy > strong{
  display:block !important;
  overflow:hidden !important;
  color:#17384c !important;
  font-size:13.25px !important;
  font-weight:730 !important;
  line-height:1.25 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__payment-instrument-copy > strong em{
  margin-left:4px !important;
  color:#6f8178 !important;
  font-style:normal !important;
  font-weight:610 !important;
  letter-spacing:.015em !important;
}
html body.dfd-app .df-booking-v2__payment-instrument-copy > small{
  display:block !important;
  margin-top:4px !important;
  overflow:hidden !important;
  color:#94a29b !important;
  font-size:10px !important;
  font-weight:520 !important;
  line-height:1.3 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__payment-instrument-amount{
  flex:0 0 auto !important;
  text-align:right !important;
}
html body.dfd-app .df-booking-v2__payment-instrument-amount > strong{
  display:block !important;
  color:#17384c !important;
  font-size:14px !important;
  font-weight:780 !important;
  line-height:1.15 !important;
}
html body.dfd-app .df-booking-v2__payment-instrument-amount > span{
  display:block !important;
  margin-top:4px !important;
  color:#218b57 !important;
  font-size:9.75px !important;
  font-weight:690 !important;
}
html body.dfd-app .df-booking-v2__card-mark{
  width:48px !important;
  height:31px !important;
  flex:0 0 48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  overflow:hidden !important;
  border:1px solid #dfe6e2 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#17384c !important;
  font-size:8px !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:-.02em !important;
}
html body.dfd-app .df-booking-v2__card-mark svg{width:17px !important;height:17px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.7 !important;}
html body.dfd-app .df-booking-v2__card-mark.is-visa{color:#172b85 !important;font-size:10px !important;font-style:italic !important;letter-spacing:-.07em !important;}
html body.dfd-app .df-booking-v2__card-mark.is-amex{background:#2f79bc !important;border-color:#2f79bc !important;color:#fff !important;font-size:7px !important;letter-spacing:.025em !important;}
html body.dfd-app .df-booking-v2__card-mark.is-discover{color:#202426 !important;font-size:6.5px !important;letter-spacing:-.015em !important;}
html body.dfd-app .df-booking-v2__card-mark.is-mastercard{border:0 !important;background:#fff !important;}
html body.dfd-app .df-booking-v2__card-mark.is-mastercard i{width:19px !important;height:19px !important;display:block !important;position:absolute !important;top:6px !important;border-radius:50% !important;background:#e6412d !important;}
html body.dfd-app .df-booking-v2__card-mark.is-mastercard i:first-child{left:9px !important;}
html body.dfd-app .df-booking-v2__card-mark.is-mastercard i:last-child{right:9px !important;background:#f2a31f !important;opacity:.95 !important;}
html body.dfd-app .df-booking-v2__payment-instrument + .df-booking-v2__payment-detail-list{margin-top:10px !important;}

html body.dfd-app .df-booking-v2__payment-event-row{
  min-height:62px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:11px 0 !important;
  border-bottom:1px solid #edf1ef !important;
}
html body.dfd-app .df-booking-v2__payment-event-row:last-child{border-bottom:0 !important;padding-bottom:0 !important;}
html body.dfd-app .df-booking-v2__payment-event-copy{min-width:0 !important;}
html body.dfd-app .df-booking-v2__payment-event-copy > strong{
  display:block !important;
  color:#304d61 !important;
  font-size:12px !important;
  font-weight:690 !important;
  line-height:1.3 !important;
}
html body.dfd-app .df-booking-v2__payment-event-copy > p{
  margin:3px 0 0 !important;
  color:#83929c !important;
  font-size:11px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
}
html body.dfd-app .df-booking-v2__payment-event-copy > small{
  display:block !important;
  margin-top:4px !important;
  color:#9aa6ad !important;
  font-size:10.5px !important;
  font-weight:540 !important;
  line-height:1.25 !important;
}
html body.dfd-app .df-booking-v2__payment-event-value{
  color:#1f4056 !important;
  font-size:12.5px !important;
  font-weight:740 !important;
  line-height:1.25 !important;
  text-align:right !important;
  white-space:nowrap !important;
}

/* Activity uses a real chronological rail rather than stacked status rows.
   Date/time owns the left lane on desktop/tablet; the rail collapses cleanly on mobile. */
html body.dfd-app .df-booking-v2__activity-sheet{padding:0 !important;}
html body.dfd-app .df-booking-v2__activity-timeline{
  position:relative !important;
  padding:18px 18px 4px !important;
}
html body.dfd-app .df-booking-v2__activity-item{
  position:relative !important;
  display:grid !important;
  grid-template-columns:92px 34px minmax(0,1fr) !important;
  align-items:start !important;
  gap:10px !important;
  min-height:76px !important;
}
html body.dfd-app .df-booking-v2__activity-item + .df-booking-v2__activity-item{
  padding-top:12px !important;
}
html body.dfd-app .df-booking-v2__activity-when{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:3px !important;
  padding-top:4px !important;
  color:#82928f !important;
  font-style:normal !important;
  text-align:right !important;
}
html body.dfd-app .df-booking-v2__activity-when strong{
  color:#5d7168 !important;
  font-size:11px !important;
  font-weight:650 !important;
  line-height:1.2 !important;
}
html body.dfd-app .df-booking-v2__activity-when span{
  color:#9aa6ad !important;
  font-size:10.25px !important;
  font-weight:540 !important;
  line-height:1.2 !important;
}
html body.dfd-app .df-booking-v2__activity-rail{
  position:relative !important;
  min-height:76px !important;
  display:flex !important;
  justify-content:center !important;
}
html body.dfd-app .df-booking-v2__activity-rail::after{
  content:"" !important;
  position:absolute !important;
  top:32px !important;
  bottom:-14px !important;
  left:50% !important;
  width:1px !important;
  transform:translateX(-50%) !important;
  background:linear-gradient(180deg,#cfe0d7 0%,#e6eeea 100%) !important;
}
html body.dfd-app .df-booking-v2__activity-item.is-last .df-booking-v2__activity-rail::after{display:none !important;}
html body.dfd-app .df-booking-v2__activity-marker{
  position:relative !important;
  z-index:2 !important;
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #d7e5de !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#6f8579 !important;
  box-shadow:0 3px 10px rgba(25,58,42,.035) !important;
}
html body.dfd-app .df-booking-v2__activity-marker svg{
  width:14px !important;
  height:14px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
html body.dfd-app .df-booking-v2__activity-item.is-good .df-booking-v2__activity-marker{
  border-color:#c8ead4 !important;
  background:#effaf3 !important;
  color:#15924d !important;
}
html body.dfd-app .df-booking-v2__activity-item.is-warn .df-booking-v2__activity-marker{
  border-color:#ecdab8 !important;
  background:#fff8ec !important;
  color:#a66b13 !important;
}
html body.dfd-app .df-booking-v2__activity-event{
  min-width:0 !important;
  min-height:64px !important;
  padding:3px 0 16px !important;
  border-bottom:1px solid #e9efec !important;
}
html body.dfd-app .df-booking-v2__activity-item.is-last .df-booking-v2__activity-event{border-bottom:0 !important;}
html body.dfd-app .df-booking-v2__activity-event > strong{
  display:block !important;
  color:#29475b !important;
  font-size:12.75px !important;
  font-weight:720 !important;
  line-height:1.3 !important;
}
html body.dfd-app .df-booking-v2__activity-event > p{
  margin:5px 0 0 !important;
  color:#7e8f9a !important;
  font-size:11.25px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
}

/* ==========================================================================
   07. Waiver guardian assignment
   ========================================================================== */
html body.dfd-app .df-booking-v2__waiver-row{grid-template-columns:40px minmax(0,1fr) minmax(180px,235px) !important;}
html body.dfd-app .df-booking-v2__guardian{min-width:0 !important;display:grid !important;grid-template-columns:1fr !important;gap:5px !important;margin:0 !important;}
html body.dfd-app .df-booking-v2__guardian > span{color:#899891 !important;font-size:8.5px !important;font-weight:650 !important;line-height:1.1 !important;}
html body.dfd-app .df-booking-v2__guardian select{
  width:100% !important;
  height:32px !important;
  min-height:32px !important;
  padding:0 28px 0 9px !important;
  border:1px solid #dbe5e0 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#405c6d !important;
  box-shadow:none !important;
  outline:none !important;
  font:600 9.5px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body.dfd-app .df-booking-v2__guardian select:focus{border-color:#72dc9b !important;box-shadow:0 0 0 3px rgba(30,215,96,.10) !important;}
html body.dfd-app .df-booking-v2__guardian > em{color:#9aa6ad !important;font-size:8.5px !important;font-style:normal !important;font-weight:550 !important;line-height:1.25 !important;}

/* ==========================================================================
   09. Responsive behavior
   ========================================================================== */
@media (max-width:700px){
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-child-mode="booking-v2"][data-dfc-drawer-variant="booking-v2"]{width:100vw !important;max-width:100vw !important;}
  html body.dfd-app .df-booking-v2__hero{grid-template-columns:58px minmax(0,1fr) !important;gap:13px !important;min-height:176px !important;padding:21px 16px 20px !important;}
  html body.dfd-app .df-booking-v2__avatar--hero{width:56px !important;height:56px !important;min-width:56px !important;border-radius:50% !important;font-size:15px !important;}
  html body.dfd-app .df-booking-v2__customer-line h2{font-size:20px !important;}
  html body.dfd-app .df-booking-v2__attention{grid-template-columns:40px minmax(0,1fr) !important;margin:14px 14px 0 !important;}
  html body.dfd-app .df-booking-v2__attention-action{grid-column:2 !important;justify-self:start !important;}
  html body.dfd-app .df-booking-v2__tabs{gap:2px !important;margin:0 !important;padding:0 8px !important;}
  html body.dfd-app .df-booking-v2__panels{padding:16px 14px 24px !important;}
  html body.dfd-app .df-booking-v2__contact-grid,
  html body.dfd-app .df-booking-v2__info-grid{grid-template-columns:1fr !important;}
  html body.dfd-app .df-booking-v2__person-row{grid-template-columns:40px minmax(0,1fr) auto !important;gap:10px !important;}
  html body.dfd-app .df-booking-v2__person-status{grid-column:2 / -1 !important;justify-content:flex-start !important;}
  html body.dfd-app .df-booking-v2__row-action{grid-column:3 !important;grid-row:1 !important;}
  html body.dfd-app .df-booking-v2__waiver-row{grid-template-columns:40px minmax(0,1fr) !important;}
  html body.dfd-app .df-booking-v2__guardian{grid-column:2 !important;}
  html body.dfd-app .df-booking-v2__tab-intro{display:block !important;}
  html body.dfd-app .df-booking-v2__tab-intro p{max-width:none !important;margin-top:6px !important;text-align:left !important;}
  html body.dfd-app .df-booking-v2__metrics strong{font-size:15px !important;}
  html body.dfd-app .df-booking-v2__payment-detail-row{grid-template-columns:minmax(92px,.7fr) minmax(0,1.3fr) !important;gap:12px !important;}
  html body.dfd-app .df-booking-v2__payment-event-row{gap:12px !important;}
  html body.dfd-app .df-booking-v2__activity-timeline{padding:16px 14px 2px !important;}
  html body.dfd-app .df-booking-v2__activity-item{grid-template-columns:78px 30px minmax(0,1fr) !important;gap:8px !important;}
  html body.dfd-app .df-booking-v2__activity-marker{width:26px !important;height:26px !important;}
  html body.dfd-app .df-booking-v2__activity-rail::after{top:30px !important;}
  html body.dfd-app .df-booking-v2__overview-row{grid-template-columns:34px minmax(0,1fr) !important;gap:10px !important;padding:11px 12px !important;}
  html body.dfd-app .df-booking-v2__overview-trailing{grid-column:2 !important;justify-content:flex-start !important;margin-top:4px !important;}
  html body.dfd-app .df-booking-v2__overview-copy > strong,
  html body.dfd-app .df-booking-v2__overview-copy > small{white-space:normal !important;text-overflow:clip !important;}
}

@media (max-width:520px){
  html body.dfd-app .df-booking-v2__payment-detail-row{
    grid-template-columns:minmax(86px,.72fr) minmax(0,1.28fr) !important;
    gap:10px !important;
  }
  html body.dfd-app .df-booking-v2__payment-detail-row > strong{font-size:11.75px !important;}
  html body.dfd-app .df-booking-v2__payment-event-row{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
  }
  html body.dfd-app .df-booking-v2__payment-event-value{font-size:11.75px !important;}
  html body.dfd-app .df-booking-v2__activity-item{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:10px !important;
    min-height:88px !important;
  }
  html body.dfd-app .df-booking-v2__activity-when{
    grid-column:2 !important;
    grid-row:1 !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    padding:0 0 5px !important;
    text-align:left !important;
  }
  html body.dfd-app .df-booking-v2__activity-rail{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    min-height:88px !important;
  }
  html body.dfd-app .df-booking-v2__activity-rail::after{top:30px !important;bottom:-12px !important;}
  html body.dfd-app .df-booking-v2__activity-event{
    grid-column:2 !important;
    grid-row:2 !important;
    min-height:58px !important;
    padding:0 0 16px !important;
  }
}

/* ==========================================================================
   10. Loading / visibility contracts
   ========================================================================== */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] .df-ui-drawer-action-v2[hidden]{display:none !important;}
html body.dfd-app .df-booking-v2__loading{
  min-height:360px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:32px !important;
  color:#718394 !important;
  text-align:center !important;
}
html body.dfd-app .df-booking-v2__loading > span{
  width:28px !important;
  height:28px !important;
  margin-bottom:4px !important;
  border:2px solid #dbe8e1 !important;
  border-top-color:#1ed760 !important;
  border-radius:50% !important;
  animation:df-booking-v2-spin .8s linear infinite !important;
}
html body.dfd-app .df-booking-v2__loading > strong{color:#345064 !important;font-size:12px !important;font-weight:700 !important;line-height:1.3 !important;}
html body.dfd-app .df-booking-v2__loading > p{max-width:300px !important;margin:0 !important;color:#8a9aa4 !important;font-size:10px !important;font-weight:500 !important;line-height:1.4 !important;}
html body.dfd-app .df-booking-v2__loading.is-error > span{display:none !important;}
@keyframes df-booking-v2-spin{to{transform:rotate(360deg);}}

/* Legacy booking-detail panel paint is explicitly retired inside V2. */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .dfc-cal__drawerpanel::before{
  content:none !important;
  display:none !important;
}

/* ==========================================================================
   10. Full-data Booking skeleton — mirrors the live hierarchy, not one card
   ========================================================================== */
html body.dfd-app .df-booking-v2--skeleton{min-height:100% !important;background:var(--df-drawer-v2-body-bg) !important;}
html body.dfd-app .df-booking-v2__skeleton-sr{
  position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;
  overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
}
html body.dfd-app .df-booking-v2__skeleton-hero{
  min-height:178px !important;display:grid !important;grid-template-columns:70px minmax(0,1fr) !important;gap:17px !important;
  padding:22px 26px 20px !important;border-bottom:1px solid var(--df-booking-v2-line) !important;
}
html body.dfd-app .df-booking-v2__sk-avatar{width:68px !important;height:68px !important;border-radius:20px !important;}
html body.dfd-app .df-booking-v2__sk-hero-copy{min-width:0 !important;padding-top:2px !important;}
html body.dfd-app .df-booking-v2__sk-name{width:min(255px,72%) !important;height:24px !important;border-radius:8px !important;}
html body.dfd-app .df-booking-v2__sk-meta{width:118px !important;height:11px !important;margin-top:9px !important;border-radius:5px !important;}
html body.dfd-app .df-booking-v2__sk-experience{display:grid !important;grid-template-columns:38px minmax(0,1fr) !important;gap:11px !important;align-items:center !important;margin-top:15px !important;}
html body.dfd-app .df-booking-v2__sk-type{width:38px !important;height:36px !important;border-radius:12px !important;}
html body.dfd-app .df-booking-v2__sk-experience>div{min-width:0 !important;}
html body.dfd-app .df-booking-v2__sk-exp-title{width:min(280px,80%) !important;height:12px !important;border-radius:5px !important;}
html body.dfd-app .df-booking-v2__sk-exp-time{width:min(235px,68%) !important;height:10px !important;margin-top:7px !important;border-radius:5px !important;}
html body.dfd-app .df-booking-v2__sk-pills{display:flex !important;flex-wrap:wrap !important;gap:7px !important;margin-top:14px !important;}
html body.dfd-app .df-booking-v2__sk-pills .df-ui-skeleton{width:76px !important;height:25px !important;}
html body.dfd-app .df-booking-v2__sk-pills .df-ui-skeleton:nth-child(2){width:61px !important;}
html body.dfd-app .df-booking-v2__sk-pills .df-ui-skeleton:nth-child(3){width:98px !important;}
html body.dfd-app .df-booking-v2__skeleton-tabs{display:flex !important;align-items:center !important;gap:2px !important;min-height:48px !important;padding:0 18px !important;margin:0 !important;border-bottom:1px solid var(--df-booking-v2-line) !important;background:#fff !important;overflow:hidden !important;}
html body.dfd-app .df-booking-v2__skeleton-tabs .df-ui-skeleton{width:58px !important;height:9px !important;margin:0 10px !important;border-radius:4px !important;flex:0 0 auto !important;}
html body.dfd-app .df-booking-v2__skeleton-tabs .df-ui-skeleton:nth-child(2){width:48px !important;}
html body.dfd-app .df-booking-v2__skeleton-tabs .df-ui-skeleton:nth-child(3){width:64px !important;}
html body.dfd-app .df-booking-v2__skeleton-tabs .df-ui-skeleton:nth-child(4){width:54px !important;}
html body.dfd-app .df-booking-v2__skeleton-tabs .df-ui-skeleton:nth-child(5){width:52px !important;}
html body.dfd-app .df-booking-v2__skeleton-body{display:grid !important;padding:20px 24px 28px !important;}
html body.dfd-app .df-booking-v2__sk-overview-card{border:1px solid var(--df-booking-v2-line) !important;border-radius:16px !important;background:#fff !important;overflow:hidden !important;box-shadow:0 5px 18px rgba(28,58,43,.035) !important;}
html body.dfd-app .df-booking-v2__sk-overview-card>header{min-height:52px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:14px !important;padding:0 15px !important;border-bottom:1px solid #e8eeeb !important;}
html body.dfd-app .df-booking-v2__sk-card-title{width:118px !important;height:12px !important;border-radius:5px !important;}
html body.dfd-app .df-booking-v2__sk-card-meta{width:92px !important;height:8px !important;border-radius:4px !important;}
html body.dfd-app .df-booking-v2__sk-overview-row{min-height:70px !important;display:grid !important;grid-template-columns:36px minmax(0,1fr) auto !important;align-items:center !important;gap:11px !important;padding:11px 13px !important;border-bottom:1px solid #eef2f0 !important;}
html body.dfd-app .df-booking-v2__sk-overview-row:last-child{border-bottom:0 !important;}
html body.dfd-app .df-booking-v2__sk-row-icon{width:34px !important;height:34px !important;border-radius:10px !important;}
html body.dfd-app .df-booking-v2__sk-overview-row>div{min-width:0 !important;display:grid !important;gap:5px !important;}
html body.dfd-app .df-booking-v2__sk-row-label{width:68px !important;height:7px !important;border-radius:4px !important;}
html body.dfd-app .df-booking-v2__sk-row-title{width:var(--df-sk-w,55%) !important;max-width:260px !important;height:10px !important;border-radius:4px !important;}
html body.dfd-app .df-booking-v2__sk-row-help{width:var(--df-sk-w,72%) !important;max-width:340px !important;height:8px !important;border-radius:4px !important;}
html body.dfd-app .df-booking-v2__sk-row-state{width:88px !important;height:24px !important;border-radius:999px !important;}
@media (min-width:701px){
  /* Answer-first desktop Payments: the summary strip and payment instrument are
     already the surfaces. Do not wrap them in another card. */
  html body.dfd-app .df-booking-v2__payment-sheet{
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  html body.dfd-app .df-booking-v2__payment-sheet > .df-booking-v2__section{padding:5px 2px 17px !important;}
  html body.dfd-app .df-booking-v2__payment-sheet > .df-booking-v2__section + .df-booking-v2__section{
    margin-top:2px !important;
    padding-top:17px !important;
    border-top:1px solid #dfe8e3 !important;
  }
  html body.dfd-app .df-booking-v2__payment-instrument{margin-top:10px !important;}
  html body.dfd-app .df-booking-v2__payment-event-list{margin-top:10px !important;}
  html body.dfd-app .df-booking-v2__activity-sheet{box-shadow:none !important;}
}

@media (max-width:720px){
  html body.dfd-app .df-booking-v2__skeleton-tabs{gap:2px !important;padding:0 8px !important;}
  html body.dfd-app .df-booking-v2__skeleton-tabs .df-ui-skeleton{margin:0 8px !important;}
  html body.dfd-app .df-booking-v2__skeleton-body{padding:16px 14px 24px !important;}
  html body.dfd-app .df-booking-v2__sk-overview-row{grid-template-columns:34px minmax(0,1fr) !important;}
  html body.dfd-app .df-booking-v2__sk-row-state{grid-column:2 !important;margin-top:2px !important;}
}



/* ==========================================================================
   11. v0.6.1092 — experience-first booking record + receipt + waiver evidence
   ========================================================================== */
html body.dfd-app .df-booking-v2__hero--experience{
  min-height:166px !important;
  grid-template-columns:52px minmax(0,1fr) !important;
  gap:15px !important;
  align-items:start !important;
  padding:24px 26px 21px !important;
}
html body.dfd-app .df-booking-v2__experience-hero-icon{
  position:relative !important;
  z-index:1 !important;
  width:50px !important;
  height:50px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(30,215,96,.22) !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 9px 24px rgba(18,74,45,.07),inset 0 0 0 1px rgba(255,255,255,.72) !important;
}
html body.dfd-app .df-booking-v2__experience-hero-icon .df-ui-experience-type-icon-v2{
  width:30px !important;
  height:30px !important;
  margin:0 !important;
}
html body.dfd-app .df-booking-v2__hero-eyebrow{
  display:block !important;
  margin:1px 0 4px !important;
  color:#29915c !important;
  font-size:9.75px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}
html body.dfd-app .df-booking-v2__hero-title{
  max-width:100% !important;
  margin:0 !important;
  color:#10283d !important;
  font-size:24px !important;
  font-weight:690 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}
html body.dfd-app .df-booking-v2__hero-departure{
  margin:6px 0 0 !important;
  color:#617988 !important;
  font-size:12.25px !important;
  font-weight:560 !important;
  line-height:1.4 !important;
}
html body.dfd-app .df-booking-v2__hero-asset{
  margin:3px 0 0 !important;
  color:#84958d !important;
  font-size:9.5px !important;
  font-weight:540 !important;
  line-height:1.35 !important;
}
html body.dfd-app .df-booking-v2__hero--experience .df-booking-v2__pills{margin-top:14px !important;}

html body.dfd-app .df-booking-v2__receipt-list{
  margin-top:14px !important;
  border-top:1px solid #e8eeeb !important;
}
html body.dfd-app .df-booking-v2__receipt-group{
  padding:7px 0 !important;
}
html body.dfd-app .df-booking-v2__receipt-group + .df-booking-v2__receipt-group{
  border-top:1px solid #e5ebe8 !important;
}
html body.dfd-app .df-booking-v2__receipt-group--items{padding-top:5px !important;padding-bottom:8px !important;}
html body.dfd-app .df-booking-v2__receipt-group--summary{padding:8px 0 !important;}
html body.dfd-app .df-booking-v2__receipt-group--total{padding:7px 0 !important;}
html body.dfd-app .df-booking-v2__receipt-group--settlement{padding:6px 0 1px !important;}
html body.dfd-app .df-booking-v2__receipt-row{
  min-height:38px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:6px 0 !important;
  border:0 !important;
}
html body.dfd-app .df-booking-v2__receipt-group--items .df-booking-v2__receipt-row{min-height:43px !important;padding:8px 0 !important;}
html body.dfd-app .df-booking-v2__receipt-row > div{min-width:0 !important;}
html body.dfd-app .df-booking-v2__receipt-row span{
  display:block !important;
  color:#5f7469 !important;
  font-size:10.5px !important;
  font-weight:590 !important;
  line-height:1.35 !important;
}
html body.dfd-app .df-booking-v2__receipt-row small{
  display:block !important;
  margin-top:2px !important;
  color:#95a19b !important;
  font-size:8.8px !important;
  font-weight:500 !important;
}
html body.dfd-app .df-booking-v2__receipt-row > strong{
  color:#203f53 !important;
  font-size:11.5px !important;
  font-weight:710 !important;
  line-height:1.25 !important;
  text-align:right !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__receipt-row.is-subtotal{margin-top:0 !important;}
html body.dfd-app .df-booking-v2__receipt-row.is-total > span,
html body.dfd-app .df-booking-v2__receipt-row.is-total > strong{font-size:13px !important;font-weight:780 !important;color:#17384c !important;}
html body.dfd-app .df-booking-v2__receipt-row.is-paid > strong,
html body.dfd-app .df-booking-v2__receipt-row.is-balance-zero > strong{color:#188a52 !important;}
html body.dfd-app .df-booking-v2__receipt-row.is-refund > strong,
html body.dfd-app .df-booking-v2__receipt-row.is-balance > strong{color:#996219 !important;}
html body.dfd-app .df-booking-v2__receipt-note{
  margin:11px 0 0 !important;
  padding:9px 11px !important;
  border-radius:10px !important;
  background:#f7faf8 !important;
  color:#7c8d84 !important;
  font-size:9.5px !important;
  font-weight:520 !important;
  line-height:1.4 !important;
}

html body.dfd-app .df-booking-v2__waiver-record{
  padding:15px 16px !important;
  margin:0 !important;
  background:#fff !important;
}
html body.dfd-app .df-booking-v2__waiver-record + .df-booking-v2__waiver-record{border-top:1px solid #e8eeeb !important;}
html body.dfd-app .df-booking-v2__waiver-record-head{
  min-height:44px !important;
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
}
html body.dfd-app .df-booking-v2__waiver-record > .df-booking-v2__guardian{margin:13px 0 0 52px !important;}
html body.dfd-app .df-booking-v2__waiver-legacy{
  margin:12px 0 0 52px !important;
  padding:9px 11px !important;
  border:1px solid #e7e9e8 !important;
  border-radius:10px !important;
  background:#fafbfa !important;
  color:#7a8982 !important;
  font-size:9.5px !important;
  line-height:1.42 !important;
}
html body.dfd-app .df-booking-v2__waiver-evidence{
  margin:13px 0 0 52px !important;
  border:1px solid #dfe9e4 !important;
  border-radius:12px !important;
  background:#fbfdfc !important;
  overflow:hidden !important;
}
html body.dfd-app .df-booking-v2__waiver-evidence > summary{
  min-height:39px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 12px !important;
  color:#2e6050 !important;
  font-size:10px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  list-style:none !important;
}
html body.dfd-app .df-booking-v2__waiver-evidence > summary::-webkit-details-marker{display:none !important;}
html body.dfd-app .df-booking-v2__waiver-evidence > summary::after{content:'+' !important;color:#5e7c6e !important;font-size:15px !important;font-weight:500 !important;}
html body.dfd-app .df-booking-v2__waiver-evidence[open] > summary::after{content:'−' !important;}
html body.dfd-app .df-booking-v2__waiver-evidence-body{padding:0 12px 13px !important;border-top:1px solid #e7eeea !important;}
html body.dfd-app .df-booking-v2__waiver-evidence-meta{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px 14px !important;
  padding:12px 0 !important;
}
html body.dfd-app .df-booking-v2__waiver-evidence-meta div{min-width:0 !important;}
html body.dfd-app .df-booking-v2__waiver-evidence-meta span{display:block !important;color:#87968f !important;font-size:8.5px !important;font-weight:650 !important;text-transform:uppercase !important;letter-spacing:.06em !important;}
html body.dfd-app .df-booking-v2__waiver-evidence-meta strong{display:block !important;margin-top:2px !important;color:#304e40 !important;font-size:10px !important;font-weight:680 !important;overflow-wrap:anywhere !important;}
html body.dfd-app .df-booking-v2__waiver-document{
  max-height:270px !important;
  overflow:auto !important;
  padding:12px !important;
  border:1px solid #e6ece8 !important;
  border-radius:10px !important;
  background:#fff !important;
}
html body.dfd-app .df-booking-v2__waiver-document > span{display:block !important;margin-bottom:7px !important;color:#4d785f !important;font-size:8.5px !important;font-weight:800 !important;letter-spacing:.07em !important;}
html body.dfd-app .df-booking-v2__waiver-document p{margin:0 !important;white-space:pre-wrap !important;color:#52665b !important;font-size:9.5px !important;font-weight:500 !important;line-height:1.55 !important;}
html body.dfd-app .df-booking-v2__waiver-document blockquote{margin:12px 0 0 !important;padding:9px 10px !important;border-left:2px solid #8cd8aa !important;background:#f7fbf8 !important;color:#5f7568 !important;font-size:9.2px !important;font-style:normal !important;line-height:1.45 !important;}
html body.dfd-app .df-booking-v2__waiver-document-actions{display:flex !important;justify-content:flex-end !important;gap:8px !important;margin-top:10px !important;}
html body.dfd-app .df-booking-v2__waiver-document-actions .df-ui-drawer-action-v2{min-height:34px !important;height:34px !important;}
html body.dfd-app .df-booking-v2__waiver-empty{min-height:96px !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;padding:22px !important;text-align:center !important;}
html body.dfd-app .df-booking-v2__waiver-empty--standalone{min-height:0 !important;display:grid !important;grid-template-columns:34px minmax(0,1fr) !important;align-items:center !important;justify-content:stretch !important;gap:10px !important;padding:9px 2px !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;text-align:left !important;}
html body.dfd-app .df-booking-v2__waiver-empty > span{width:42px !important;height:42px !important;display:grid !important;place-items:center !important;margin-bottom:10px !important;border-radius:13px !important;background:#eef8f2 !important;color:#238855 !important;}
html body.dfd-app .df-booking-v2__waiver-empty--standalone > span{width:34px !important;height:34px !important;margin:0 !important;border-radius:10px !important;}
html body.dfd-app .df-booking-v2__waiver-empty--standalone > div{min-width:0 !important;}
html body.dfd-app .df-booking-v2__waiver-empty svg{width:20px !important;height:20px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.8 !important;}
html body.dfd-app .df-booking-v2__waiver-empty strong{color:#355746 !important;font-size:13.25px !important;font-weight:700 !important;}
html body.dfd-app .df-booking-v2__waiver-empty p{max-width:320px !important;margin:5px 0 0 !important;color:#8a9991 !important;font-size:10.5px !important;line-height:1.45 !important;}

@media (max-width:720px){
  html body.dfd-app .df-booking-v2__hero--experience{grid-template-columns:44px minmax(0,1fr) !important;gap:12px !important;min-height:158px !important;padding:20px 16px 18px !important;}
  html body.dfd-app .df-booking-v2__experience-hero-icon{width:44px !important;height:44px !important;border-radius:13px !important;}
  html body.dfd-app .df-booking-v2__hero-title{font-size:21px !important;}
  html body.dfd-app .df-booking-v2__receipt-row{gap:12px !important;}
  html body.dfd-app .df-booking-v2__waiver-record{padding:14px !important;}
  html body.dfd-app .df-booking-v2__waiver-record > .df-booking-v2__guardian,
  html body.dfd-app .df-booking-v2__waiver-legacy,
  html body.dfd-app .df-booking-v2__waiver-evidence{margin-left:0 !important;}
  html body.dfd-app .df-booking-v2__waiver-evidence-meta{grid-template-columns:1fr !important;}
  html body.dfd-app .df-booking-v2__waiver-document-actions{justify-content:stretch !important;}
  html body.dfd-app .df-booking-v2__waiver-document-actions .df-ui-drawer-action-v2{flex:1 1 0 !important;}
}

@media (max-width:560px){
  html body.dfd-app .df-booking-v2__payment-instrument{align-items:flex-start !important;gap:12px !important;padding:13px !important;}
  html body.dfd-app .df-booking-v2__payment-instrument-main{gap:10px !important;}
  html body.dfd-app .df-booking-v2__card-mark{width:43px !important;height:29px !important;flex-basis:43px !important;}
  html body.dfd-app .df-booking-v2__payment-instrument-copy > strong{font-size:11.5px !important;white-space:normal !important;}
  html body.dfd-app .df-booking-v2__payment-instrument-copy > small{white-space:normal !important;}
  html body.dfd-app .df-booking-v2__payment-instrument-amount > strong{font-size:12px !important;}
}

/* ==========================================================================
   10. Booking-scoped passes
   Guest CRM no longer owns a global pass ledger. A QR pass only makes sense in
   the context of the booking/departure that issued it, so keep this surface calm,
   explicit, and self-contained inside Booking Details.
   ========================================================================== */
html body.dfd-app .df-booking-v2__passes-sheet{
  overflow:hidden !important;
}
html body.dfd-app .df-booking-v2__pass-row{
  min-height:112px !important;
  display:grid !important;
  grid-template-columns:82px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border:0 !important;
  background:#fff !important;
}
html body.dfd-app .df-booking-v2__pass-row + .df-booking-v2__pass-row{
  border-top:1px solid #e8eeeb !important;
}
html body.dfd-app .df-booking-v2__pass-qr{
  width:82px !important;
  height:82px !important;
  min-width:82px !important;
  display:grid !important;
  place-items:center !important;
  padding:6px !important;
  border:1px solid #e0e8e3 !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 3px 12px rgba(25,58,42,.035) !important;
  overflow:hidden !important;
}
html body.dfd-app .df-booking-v2__pass-qr img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:contain !important;
}
html body.dfd-app .df-booking-v2__pass-qr-placeholder{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#f4faf6 !important;
  color:#36a863 !important;
}
html body.dfd-app .df-booking-v2__pass-qr-placeholder svg{
  width:28px !important;
  height:28px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
html body.dfd-app .df-booking-v2__pass-copy{
  min-width:0 !important;
}
html body.dfd-app .df-booking-v2__pass-copy > strong{
  display:block !important;
  overflow:hidden !important;
  color:#29465a !important;
  font-size:13px !important;
  font-weight:710 !important;
  line-height:1.3 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__pass-copy > span{
  display:block !important;
  margin-top:4px !important;
  overflow:hidden !important;
  color:#72858f !important;
  font-size:11px !important;
  font-weight:560 !important;
  line-height:1.35 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__pass-copy > em{
  display:block !important;
  margin-top:6px !important;
  overflow:hidden !important;
  color:#9aa6ad !important;
  font:500 10px/1.3 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace !important;
  font-style:normal !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__pass-state{
  min-width:86px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:6px !important;
}
html body.dfd-app .df-booking-v2__pass-state small{
  max-width:112px !important;
  color:#98a5ac !important;
  font-size:9.75px !important;
  font-weight:520 !important;
  line-height:1.3 !important;
  text-align:right !important;
}

@media (max-width:700px){
  html body.dfd-app .df-booking-v2__pass-row{
    grid-template-columns:68px minmax(0,1fr) !important;
    gap:12px !important;
    min-height:96px !important;
    padding:12px !important;
  }
  html body.dfd-app .df-booking-v2__pass-qr{
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    border-radius:11px !important;
  }
  html body.dfd-app .df-booking-v2__pass-state{
    grid-column:2 !important;
    align-items:flex-start !important;
    min-width:0 !important;
  }
  html body.dfd-app .df-booking-v2__pass-state small{
    max-width:none !important;
    text-align:left !important;
  }
}

@media (max-width:900px){
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"]{
    width:100vw !important;max-width:100vw !important;grid-template-columns:220px minmax(0,1fr) !important;
  }
}
@media (max-width:760px){
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"]{
    grid-template-columns:minmax(0,1fr) !important;grid-template-rows:auto minmax(0,1fr) !important;
  }
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1{
    height:auto !important;min-height:86px !important;display:grid !important;grid-template-columns:46px minmax(0,1fr) !important;grid-template-rows:auto !important;padding:12px 14px !important;overflow:hidden !important;border-right:0 !important;border-bottom:1px solid rgba(16,33,49,.08) !important;
  }
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1 .df-booking-context-v1__head{display:grid !important;grid-template-columns:46px minmax(0,1fr) !important;grid-template-rows:auto auto auto !important;align-items:center !important;gap:1px 11px !important;text-align:left !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1 .df-booking-context-v1__badge{grid-column:2 !important;min-height:16px !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1 .df-booking-context-v1__avatar{grid-column:1 !important;grid-row:1 / span 3 !important;width:46px !important;height:46px !important;min-width:46px !important;min-height:46px !important;margin:0 !important;font-size:13px !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1 .df-booking-context-v1__head h3,
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1 .df-booking-context-v1__head p{grid-column:2 !important;text-align:left !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1 .df-booking-context-v1__meta,
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawerportal .dfc-cal__guestdrawer[data-dfc-drawer-variant="booking-v2"] > .df-booking-context-v1 p[data-dfc-booking-context-phone]{display:none !important;}
}

/* ==========================================================================
   11. Booking pass viewer — Guest app parity
   The canonical Booking owns one shared pass viewer across Guest/Calendar entry
   points. Desktop is a focused right-edge drawer; mobile is the Guest-app-style
   bottom-entering pass surface with the familiar handle.
   ========================================================================== */
html body.dfd-app .df-booking-v2__pass-row.is-openable{
  width:100% !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  font:inherit !important;
  color:inherit !important;
  text-align:left !important;
  cursor:pointer !important;
  transition:background-color .16s ease, box-shadow .16s ease !important;
}
html body.dfd-app .df-booking-v2__pass-row.is-openable:hover{
  background:#f7fbf8 !important;
}
html body.dfd-app .df-booking-v2__pass-row.is-openable:focus-visible{
  position:relative !important;
  z-index:2 !important;
  outline:2px solid rgba(30,215,96,.68) !important;
  outline-offset:-2px !important;
  box-shadow:inset 0 0 0 1px rgba(30,215,96,.18) !important;
}
html body.dfd-app .df-booking-v2__pass-openhint{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:5px !important;
  margin-top:2px !important;
  color:#258b50 !important;
  font-size:10.25px !important;
  font-weight:690 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__pass-openhint svg{
  width:13px !important;
  height:13px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
/* Mobile/tablet keep the proven hard document lock. Desktop Pass Detail must
   never toggle html overflow: the shared stable-root controller suppresses the
   scrollbar and contains wheel input without destroying Chromium's scroll chain. */
@media (max-width:960px){
  html.df-booking-pass-open,
  html.df-booking-pass-open body.dfd-app{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }
}
/* ==========================================================================
   0.6.1145 — Operator Pass Detail
   Booking keeps ownership of the pass record. The dark child surface is an
   operator detail view, not the Guest-app pass presentation. Its underlay uses
   DockFlow admin drawer DNA; the Guest app stylesheet is intentionally untouched.
   ========================================================================== */
html body.dfd-app .df-booking-pass-v2{
  position:fixed !important;
  inset:0 !important;
  z-index:2147482600 !important;
  pointer-events:none !important;
  visibility:hidden !important;
}
html body.dfd-app .df-booking-pass-v2.is-prepared,
html body.dfd-app .df-booking-pass-v2.is-open,
html body.dfd-app .df-booking-pass-v2.is-closing{
  pointer-events:auto !important;
  visibility:visible !important;
}
html body.dfd-app .df-booking-pass-v2.is-closing .df-booking-pass-v2__panel{
  transition-duration:.20s !important;
}
html body.dfd-app .df-booking-pass-v2__scrim{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(6,12,24,.28) !important;
  opacity:0 !important;
  backdrop-filter:blur(1px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(1px) saturate(1.02) !important;
  transition:opacity .18s ease !important;
  cursor:default !important;
}
html body.dfd-app .df-booking-pass-v2.is-open .df-booking-pass-v2__scrim{
  opacity:1 !important;
}
html body.dfd-app .df-booking-pass-v2__panel{
  --df-pass-font:'Helvena VF','Helvetica Neue',Arial,sans-serif;
  position:absolute !important;
  z-index:1 !important;
  top:0 !important;
  right:0 !important;
  width:min(560px,94vw) !important;
  height:100dvh !important;
  max-height:100dvh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  padding:30px 34px 38px !important;
  border:0 !important;
  border-left:1px solid rgba(255,255,255,.10) !important;
  border-radius:0 !important;
  background:
    radial-gradient(circle at 60% -10%,rgba(30,215,96,.17),transparent 30%),
    radial-gradient(circle at 100% 45%,rgba(24,164,77,.06),transparent 36%),
    #090c0a !important;
  color:#fff !important;
  box-shadow:-34px 0 110px rgba(0,0,0,.44) !important;
  transform:translate3d(100%,0,0) !important;
  opacity:1 !important;
  outline:none !important;
  scrollbar-width:thin !important;
  scrollbar-color:#333a35 transparent !important;
  transition:transform .30s cubic-bezier(.22,.8,.2,1) !important;
}
html body.dfd-app .df-booking-pass-v2.is-open .df-booking-pass-v2__panel{
  transform:translate3d(0,0,0) !important;
}
html body.dfd-app .df-booking-pass-v2.is-zoomed .df-booking-pass-v2__panel{
  overflow:hidden !important;
}
html body.dfd-app .df-booking-pass-v2__content{
  position:relative !important;
  min-height:calc(100dvh - 68px) !important;
  transition:opacity .18s ease,transform .24s cubic-bezier(.22,.8,.2,1) !important;
}
html body.dfd-app .df-booking-pass-v2.is-zoomed .df-booking-pass-v2__content{
  opacity:0 !important;
  transform:translate3d(-6%,0,0) !important;
  pointer-events:none !important;
}
html body.dfd-app .df-booking-pass-v2__handle{
  display:none !important;
  touch-action:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
html body.dfd-app .df-booking-pass-v2__close{
  position:absolute !important;
  z-index:8 !important;
  top:22px !important;
  right:22px !important;
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
  color:#fff !important;
  cursor:pointer !important;
  transition:background .16s ease,border-color .16s ease !important;
}
html body.dfd-app .df-booking-pass-v2__close:hover{
  background:rgba(255,255,255,.095) !important;
  border-color:rgba(255,255,255,.18) !important;
}
html body.dfd-app .df-booking-pass-v2__close:focus-visible,
html body.dfd-app .df-booking-pass-v2__qr-preview:focus-visible,
html body.dfd-app .df-booking-pass-v2__zoom-back:focus-visible{
  outline:2px solid rgba(99,237,144,.88) !important;
  outline-offset:3px !important;
}
html body.dfd-app .df-booking-pass-v2__close svg,
html body.dfd-app .df-booking-pass-v2__qr-action svg,
html body.dfd-app .df-booking-pass-v2__zoom-back svg,
html body.dfd-app .df-booking-pass-v2__checkin-icon svg,
html body.dfd-app .df-booking-pass-v2__qr-missing svg{
  width:17px !important;
  height:17px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
html body.dfd-app .df-booking-pass-v2__brand{
  width:156px !important;
  min-height:27px !important;
  display:block !important;
  overflow:hidden !important;
  background:url('../../images/admin/logo-dockflow-final-white-green-w.svg') left center / 156px auto no-repeat !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
}
html body.dfd-app .df-booking-pass-v2__brand span,
html body.dfd-app .df-booking-pass-v2__brand b{
  visibility:hidden !important;
}
html body.dfd-app .df-booking-pass-v2__head{
  margin:38px 0 18px !important;
  padding-right:58px !important;
  display:grid !important;
  gap:7px !important;
}
html body.dfd-app .df-booking-pass-v2__head small,
html body.dfd-app .df-booking-pass-v2__trip small,
html body.dfd-app .df-booking-pass-v2__identity small,
html body.dfd-app .df-booking-pass-v2__checkin-copy small,
html body.dfd-app .df-booking-pass-v2__facts small,
html body.dfd-app .df-booking-pass-v2__sectionhead small,
html body.dfd-app .df-booking-pass-v2__zoom-copy small,
html body.dfd-app .df-booking-pass-v2__zoom-code small{
  color:#748078 !important;
  font:700 8px/1 var(--df-pass-font) !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
html body.dfd-app .df-booking-pass-v2__head > small{
  color:#27d965 !important;
}
html body.dfd-app .df-booking-pass-v2__head h2{
  margin:0 !important;
  color:#fff !important;
  font:700 31px/1.02 var(--df-pass-font) !important;
  letter-spacing:-.045em !important;
}
html body.dfd-app .df-booking-pass-v2__head p{
  margin:0 !important;
  color:#a2aca5 !important;
  font:600 12px/1.4 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__trip{
  margin:0 0 18px !important;
  padding:14px 16px !important;
  display:grid !important;
  gap:5px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.035) !important;
}
html body.dfd-app .df-booking-pass-v2__trip strong{
  color:#edf4ef !important;
  font:700 14px/1.25 var(--df-pass-font) !important;
  letter-spacing:-.018em !important;
}
html body.dfd-app .df-booking-pass-v2__trip span{
  color:#8c9890 !important;
  font:600 10px/1.4 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 188px !important;
  gap:16px !important;
  padding:18px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:24px !important;
  background:#f8faf8 !important;
  color:#071009 !important;
  box-shadow:0 24px 70px rgba(0,0,0,.25) !important;
}
html body.dfd-app .df-booking-pass-v2__identity{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
html body.dfd-app .df-booking-pass-v2__identity-top{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
}
html body.dfd-app .df-booking-pass-v2__identity-top > small{
  color:#909a93 !important;
  letter-spacing:.08em !important;
}
html body.dfd-app .df-booking-pass-v2__statuspill{
  display:inline-flex !important;
  align-items:center !important;
  min-height:25px !important;
  padding:0 9px !important;
  border:1px solid #d9e2dc !important;
  border-radius:999px !important;
  background:#f0f3f1 !important;
  color:#526057 !important;
  font:700 9px/1 var(--df-pass-font) !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-pass-v2__statuspill.is-good{
  border-color:#c9edd6 !important;
  background:#e9faef !important;
  color:#137439 !important;
}
html body.dfd-app .df-booking-pass-v2__statuspill.is-danger{
  border-color:#f2cccc !important;
  background:#fff0f0 !important;
  color:#a12929 !important;
}
html body.dfd-app .df-booking-pass-v2__identity-copy{
  margin-top:auto !important;
  padding-top:28px !important;
  display:grid !important;
  gap:7px !important;
}
html body.dfd-app .df-booking-pass-v2__identity-copy small,
html body.dfd-app .df-booking-pass-v2__identity-issued small{
  color:#657169 !important;
}
html body.dfd-app .df-booking-pass-v2__identity-copy code{
  color:#101a13 !important;
  font:700 13px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace !important;
  overflow-wrap:anywhere !important;
}
html body.dfd-app .df-booking-pass-v2__identity-issued{
  margin-top:15px !important;
  padding-top:13px !important;
  border-top:1px dashed rgba(7,16,9,.14) !important;
  display:grid !important;
  gap:5px !important;
}
html body.dfd-app .df-booking-pass-v2__identity-issued span{
  color:#455149 !important;
  font:600 10px/1.35 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__qr-preview{
  min-width:0 !important;
  align-self:start !important;
  display:grid !important;
  gap:8px !important;
  padding:9px !important;
  border:1px solid #e1e8e3 !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#172019 !important;
  cursor:pointer !important;
  box-shadow:0 10px 26px rgba(7,16,9,.07) !important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease !important;
}
html body.dfd-app .df-booking-pass-v2__qr-preview:hover:not(:disabled){
  transform:translateY(-1px) !important;
  border-color:#bcd9c5 !important;
  box-shadow:0 13px 32px rgba(7,16,9,.10) !important;
}
html body.dfd-app .df-booking-pass-v2__qr-preview:disabled{
  cursor:default !important;
  opacity:.72 !important;
}
html body.dfd-app .df-booking-pass-v2__qr{
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  aspect-ratio:1/1 !important;
  background:#fff !important;
}
html body.dfd-app .df-booking-pass-v2__qr img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
html body.dfd-app .df-booking-pass-v2__qr-missing{
  display:none !important;
  place-items:center !important;
  width:100% !important;
  aspect-ratio:1/1 !important;
  border-radius:12px !important;
  background:#f0f4f1 !important;
  color:#79857d !important;
}
html body.dfd-app .df-booking-pass-v2.has-no-qr .df-booking-pass-v2__qr{
  display:none !important;
}
html body.dfd-app .df-booking-pass-v2.has-no-qr .df-booking-pass-v2__qr-missing{
  display:grid !important;
}
html body.dfd-app .df-booking-pass-v2__qr-missing svg{
  width:42px !important;
  height:42px !important;
}
html body.dfd-app .df-booking-pass-v2__qr-action{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  color:#16763c !important;
  font:700 9px/1.2 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__qr-action svg{
  width:13px !important;
  height:13px !important;
}
html body.dfd-app .df-booking-pass-v2__checkin{
  margin-top:16px !important;
  padding:16px !important;
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.04) !important;
}
html body.dfd-app .df-booking-pass-v2__checkin.is-checked{
  border-color:rgba(49,218,105,.20) !important;
  background:rgba(31,194,86,.07) !important;
}
html body.dfd-app .df-booking-pass-v2__checkin.is-blocked{
  border-color:rgba(240,91,91,.18) !important;
  background:rgba(164,38,38,.07) !important;
}
html body.dfd-app .df-booking-pass-v2__checkin-icon{
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.06) !important;
  color:#8d9991 !important;
}
html body.dfd-app .df-booking-pass-v2__checkin.is-checked .df-booking-pass-v2__checkin-icon{
  background:rgba(43,218,103,.13) !important;
  color:#47e47e !important;
}
html body.dfd-app .df-booking-pass-v2__checkin.is-blocked .df-booking-pass-v2__checkin-icon{
  background:rgba(241,87,87,.11) !important;
  color:#ff8585 !important;
}
html body.dfd-app .df-booking-pass-v2__checkin-copy{
  min-width:0 !important;
  display:grid !important;
  gap:4px !important;
}
html body.dfd-app .df-booking-pass-v2__checkin-copy strong{
  color:#f3f7f4 !important;
  font:700 14px/1.2 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__checkin-copy span{
  color:#919d95 !important;
  font:550 10px/1.45 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__facts{
  margin-top:12px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
html body.dfd-app .df-booking-pass-v2__facts > div{
  min-width:0 !important;
  padding:14px 15px !important;
  display:grid !important;
  gap:5px !important;
  border:1px solid rgba(255,255,255,.07) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.025) !important;
}
html body.dfd-app .df-booking-pass-v2__facts strong{
  color:#f0f5f1 !important;
  font:700 13px/1.2 var(--df-pass-font) !important;
  overflow-wrap:anywhere !important;
}
html body.dfd-app .df-booking-pass-v2__facts span{
  color:#7f8b83 !important;
  font:550 9px/1.35 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__activity{
  margin-top:20px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}
html body.dfd-app .df-booking-pass-v2__sectionhead{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:14px !important;
}
html body.dfd-app .df-booking-pass-v2__sectionhead > div{
  display:grid !important;
  gap:5px !important;
}
html body.dfd-app .df-booking-pass-v2__sectionhead strong{
  color:#eff4f0 !important;
  font:700 14px/1.15 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__sectionhead > span{
  color:#d7a45e !important;
  font:700 9px/1.3 var(--df-pass-font) !important;
  text-align:right !important;
}
html body.dfd-app .df-booking-pass-v2__activity-list{
  margin-top:12px !important;
  display:grid !important;
}
html body.dfd-app .df-booking-pass-v2__activity-row{
  min-width:0 !important;
  padding:11px 0 !important;
  display:grid !important;
  grid-template-columns:8px minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:start !important;
  border-bottom:1px solid rgba(255,255,255,.055) !important;
}
html body.dfd-app .df-booking-pass-v2__activity-row:last-child{
  border-bottom:0 !important;
}
html body.dfd-app .df-booking-pass-v2__activity-dot{
  width:7px !important;
  height:7px !important;
  margin-top:5px !important;
  border-radius:999px !important;
  background:#2bdd69 !important;
  box-shadow:0 0 0 4px rgba(43,221,105,.08) !important;
}
html body.dfd-app .df-booking-pass-v2__activity-row > div{
  min-width:0 !important;
  display:grid !important;
  gap:3px !important;
}
html body.dfd-app .df-booking-pass-v2__activity-row strong{
  color:#eaf0ec !important;
  font:700 10px/1.3 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__activity-row span,
html body.dfd-app .df-booking-pass-v2__activity-row time{
  color:#7f8a83 !important;
  font:550 9px/1.4 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__activity-row time{
  max-width:130px !important;
  text-align:right !important;
}
html body.dfd-app .df-booking-pass-v2__activity-empty{
  padding:18px 0 5px !important;
  display:grid !important;
  gap:4px !important;
}
html body.dfd-app .df-booking-pass-v2__activity-empty strong{
  color:#c9d2cc !important;
  font:700 10px/1.3 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__activity-empty span{
  color:#77827b !important;
  font:550 9px/1.4 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__help{
  max-width:48ch !important;
  margin:20px auto 0 !important;
  color:#707b74 !important;
  font:550 9px/1.5 var(--df-pass-font) !important;
  text-align:center !important;
}
html body.dfd-app .df-booking-pass-v2__zoom{
  position:absolute !important;
  z-index:7 !important;
  inset:0 !important;
  min-height:100% !important;
  padding:30px 34px 38px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  background:
    radial-gradient(circle at 50% -6%,rgba(30,215,96,.17),transparent 30%),
    #090c0a !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate3d(100%,0,0) !important;
  transition:transform .28s cubic-bezier(.22,.8,.2,1),opacity .18s ease !important;
}
html body.dfd-app .df-booking-pass-v2.is-zoomed .df-booking-pass-v2__zoom{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate3d(0,0,0) !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-back{
  align-self:flex-start !important;
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:0 12px !important;
  border:1px solid rgba(255,255,255,.11) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.045) !important;
  color:#eef4f0 !important;
  font:700 10px/1 var(--df-pass-font) !important;
  cursor:pointer !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-copy{
  width:100% !important;
  margin:42px 0 18px !important;
  display:grid !important;
  gap:6px !important;
  text-align:center !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-copy small{
  color:#27d965 !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-copy strong{
  color:#fff !important;
  font:700 25px/1.05 var(--df-pass-font) !important;
  letter-spacing:-.035em !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-copy span{
  color:#8e9a92 !important;
  font:600 10px/1.35 var(--df-pass-font) !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-qr{
  width:min(100%,420px) !important;
  padding:20px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 28px 80px rgba(0,0,0,.30) !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-qr img{
  display:block !important;
  width:100% !important;
  aspect-ratio:1/1 !important;
  object-fit:contain !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-code{
  width:min(100%,420px) !important;
  margin-top:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  color:#8c9790 !important;
}
html body.dfd-app .df-booking-pass-v2__zoom-code code{
  color:#dbe4de !important;
  font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace !important;
  text-align:right !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:760px){
  html body.dfd-app .df-booking-v2__pass-openhint{
    justify-content:flex-start !important;
  }
  html body.dfd-app .df-booking-pass-v2__panel{
    top:auto !important;
    bottom:0 !important;
    width:100% !important;
    min-height:100dvh !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:max(36px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom)) !important;
    border:0 !important;
    border-radius:0 !important;
    background:radial-gradient(circle at 50% 0%,rgba(30,215,96,.16),transparent 30%),#070908 !important;
    transform:translate3d(0,100%,0) !important;
    box-shadow:0 -34px 100px rgba(0,0,0,.40) !important;
  }
  html body.dfd-app .df-booking-pass-v2.is-open .df-booking-pass-v2__panel{
    transform:translate3d(0,0,0) !important;
  }
  html body.dfd-app .df-booking-pass-v2__content{
    min-height:calc(100dvh - 60px) !important;
  }
  html body.dfd-app .df-booking-pass-v2__handle{
    position:absolute !important;
    z-index:9 !important;
    top:max(6px,env(safe-area-inset-top)) !important;
    left:50% !important;
    width:72px !important;
    height:28px !important;
    transform:translateX(-50%) !important;
    display:grid !important;
    place-items:center !important;
  }
  html body.dfd-app .df-booking-pass-v2__handle span{
    width:34px !important;
    height:4px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.20) !important;
  }
  html body.dfd-app .df-booking-pass-v2__close{
    top:max(18px,env(safe-area-inset-top)) !important;
    right:14px !important;
  }
  html body.dfd-app .df-booking-pass-v2__brand{
    margin-top:10px !important;
  }
  html body.dfd-app .df-booking-pass-v2__head{
    margin-top:34px !important;
  }
  html body.dfd-app .df-booking-pass-v2__head h2{
    font-size:29px !important;
  }
  html body.dfd-app .df-booking-pass-v2__card{
    grid-template-columns:1fr !important;
  }
  html body.dfd-app .df-booking-pass-v2__identity-copy{
    padding-top:14px !important;
  }
  html body.dfd-app .df-booking-pass-v2__qr-preview{
    width:min(100%,280px) !important;
    justify-self:center !important;
  }
  html body.dfd-app .df-booking-pass-v2__facts{
    grid-template-columns:1fr !important;
  }
  html body.dfd-app .df-booking-pass-v2__activity-row{
    grid-template-columns:8px minmax(0,1fr) !important;
  }
  html body.dfd-app .df-booking-pass-v2__activity-row time{
    grid-column:2 !important;
    max-width:none !important;
    text-align:left !important;
  }
  html body.dfd-app .df-booking-pass-v2__zoom{
    padding:max(40px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom)) !important;
  }
  html body.dfd-app .df-booking-pass-v2__zoom-copy{
    margin-top:34px !important;
  }
  html body.dfd-app .df-booking-pass-v2__zoom-qr{
    width:min(100%,380px) !important;
    padding:16px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body.dfd-app .df-booking-pass-v2__panel,
  html body.dfd-app .df-booking-pass-v2__scrim,
  html body.dfd-app .df-booking-pass-v2__content,
  html body.dfd-app .df-booking-pass-v2__zoom,
  html body.dfd-app .df-booking-v2__pass-row.is-openable{
    transition:none !important;
  }
}

/* ==========================================================================
   R70. Beast booking clarity — compact multi-attention + status-first manifest
   Canonical Booking V2 additions. Keep new behavior here instead of another
   page-specific override file.
   ========================================================================== */
html body.dfd-app .df-booking-v2__attention-stack{
  width:100% !important;
  display:grid !important;
  gap:7px !important;
  margin:0 0 12px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body.dfd-app .df-booking-v2__attention-stack > header{
  min-height:22px !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:0 2px 5px !important;
  border:0 !important;
  background:transparent !important;
}
html body.dfd-app .df-booking-v2__attention-stack > header span{
  color:#788a81 !important;
  font:790 9.5px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  letter-spacing:.08em !important;
}
html body.dfd-app .df-booking-v2__attention-stack > header strong{
  min-width:19px !important;
  height:19px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#fff4df !important;
  color:#8d5c18 !important;
  box-shadow:inset 0 0 0 1px #f0dfc0 !important;
  font:750 9px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body.dfd-app .df-booking-v2__attention-stack > div{
  display:grid !important;
  gap:8px !important;
}
html body.dfd-app .df-booking-v2__attention-row{
  width:100% !important;
  min-height:70px !important;
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  padding:11px 13px !important;
  margin:0 !important;
  border:1px solid #e0e8e4 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 5px 18px rgba(28,58,43,.035) !important;
  color:#29465a !important;
  text-align:left !important;
  cursor:pointer !important;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease !important;
}
html body.dfd-app .df-booking-v2__attention-row.is-warn{
  border-color:#eadfca !important;
  background:linear-gradient(112deg,#fffaf1 0%,#fffdf9 34%,#fff 72%) !important;
}
html body.dfd-app .df-booking-v2__attention-row.is-action{
  border-color:#dce9e1 !important;
  background:linear-gradient(112deg,#f6fcf8 0%,#fff 62%) !important;
}
html body.dfd-app .df-booking-v2__attention-row:hover{
  border-color:#cfded6 !important;
  background:#fff !important;
  box-shadow:0 7px 22px rgba(28,58,43,.055) !important;
}
html body.dfd-app .df-booking-v2__attention-row.is-warn:hover{border-color:#e2cfae !important;background:#fffdf9 !important;}
html body.dfd-app .df-booking-v2__attention-row-icon{
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:11px !important;
  background:#fff3dd !important;
  color:#99621a !important;
  box-shadow:inset 0 0 0 1px #f0ddb9 !important;
}
html body.dfd-app .df-booking-v2__attention-row.is-action .df-booking-v2__attention-row-icon{
  background:#eefaf3 !important;
  color:#0b8b47 !important;
  box-shadow:inset 0 0 0 1px #d8efe1 !important;
}
html body.dfd-app .df-booking-v2__attention-row-icon svg{width:17px !important;height:17px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.9 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
html body.dfd-app .df-booking-v2__attention-row-copy{min-width:0 !important;}
html body.dfd-app .df-booking-v2__attention-row-copy strong{display:block !important;color:#2b485b !important;font-size:12.75px !important;font-weight:730 !important;line-height:1.28 !important;}
html body.dfd-app .df-booking-v2__attention-row-copy small{display:block !important;margin-top:3px !important;color:#82928a !important;font-size:10.5px !important;font-weight:520 !important;line-height:1.35 !important;}
html body.dfd-app .df-booking-v2__attention-row-action{
  min-height:30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  padding:0 8px 0 9px !important;
  border:1px solid #dce6e1 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#5e7469 !important;
  font-size:10.25px !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__attention-row.is-warn .df-booking-v2__attention-row-action{border-color:#ead7b6 !important;color:#80591f !important;}
html body.dfd-app .df-booking-v2__attention-row:hover .df-booking-v2__attention-row-action{border-color:#bdd8c9 !important;color:#315d47 !important;}
html body.dfd-app .df-booking-v2__attention-row-action svg{width:12px !important;height:12px !important;fill:none !important;stroke:currentColor !important;stroke-width:2 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}

html body.dfd-app .df-booking-v2__attendance-state{min-height:32px !important;display:inline-flex !important;align-items:center !important;justify-content:flex-end !important;gap:7px !important;color:#7b8b83 !important;font-size:10.5px !important;font-weight:650 !important;white-space:nowrap !important;}
html body.dfd-app .df-booking-v2__attendance-state.is-checked > span{display:inline-flex !important;align-items:center !important;gap:5px !important;color:#0b8244 !important;}
html body.dfd-app .df-booking-v2__attendance-state.is-checked > span svg{width:14px !important;height:14px !important;fill:none !important;stroke:currentColor !important;stroke-width:2 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
html body.dfd-app .df-booking-v2__attendance-state.is-future{min-width:118px !important;flex-direction:column !important;align-items:flex-end !important;gap:4px !important;white-space:normal !important;}
html body.dfd-app .df-booking-v2__attendance-state.is-future small{display:block !important;max-width:145px !important;color:#84928b !important;font-size:9.75px !important;font-weight:560 !important;line-height:1.25 !important;text-align:right !important;}
html body.dfd-app .df-booking-v2__attendance-state.is-unavailable{color:#819089 !important;}
html body.dfd-app .df-booking-v2__row-action.is-preview:disabled{opacity:1 !important;border-color:#dce5e0 !important;background:#f7faf8 !important;color:#718078 !important;box-shadow:none !important;}
html body.dfd-app .df-booking-v2__row-action.is-quiet{min-width:0 !important;height:28px !important;padding:0 6px !important;border-color:transparent !important;background:transparent !important;color:#87968e !important;font-weight:600 !important;}
html body.dfd-app .df-booking-v2__row-action.is-quiet:hover:not(:disabled){border-color:#e2e9e5 !important;background:#f7f9f8 !important;color:#536b5f !important;}
html body.dfd-app .df-booking-v2__metrics--payments{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}

@media (max-width:700px){
  html body.dfd-app .df-booking-v2__attention-stack{margin:0 0 12px !important;}
  html body.dfd-app .df-booking-v2__attention-row{min-height:72px !important;grid-template-columns:36px minmax(0,1fr) !important;padding:11px 12px !important;}
  html body.dfd-app .df-booking-v2__attention-row-copy strong{font-size:12.5px !important;}
  html body.dfd-app .df-booking-v2__attention-row-copy small{font-size:10.5px !important;}
  html body.dfd-app .df-booking-v2__attention-row-action{grid-column:2 !important;justify-self:start !important;margin-top:3px !important;font-size:10.5px !important;}
  html body.dfd-app .df-booking-v2__tabs{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 calc(100% - 18px),transparent 100%) !important;mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 calc(100% - 18px),transparent 100%) !important;}
  html body.dfd-app .df-booking-v2__tabs button{font-size:12px !important;padding:0 11px !important;}
  html body.dfd-app .df-booking-v2__person-copy > strong{font-size:13px !important;}
  html body.dfd-app .df-booking-v2__person-copy > span{font-size:11px !important;}
  html body.dfd-app .df-booking-v2__person-copy > em{font-size:10.5px !important;}
  html body.dfd-app .df-booking-v2__row-action{min-height:44px !important;height:44px !important;min-width:78px !important;font-size:11.5px !important;}
  html body.dfd-app .df-booking-v2__row-action.is-quiet{min-height:44px !important;height:44px !important;min-width:44px !important;font-size:10.5px !important;}
  html body.dfd-app .df-booking-v2__attendance-state{font-size:11px !important;}
  html body.dfd-app .df-booking-v2__attendance-state.is-future{min-width:104px !important;}
  html body.dfd-app .df-booking-v2__attendance-state.is-future small{max-width:118px !important;font-size:10px !important;}
  html body.dfd-app .df-booking-v2__metrics--payments{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body.dfd-app .df-booking-v2__metrics--payments > div{border-right:0 !important;}
  html body.dfd-app .df-booking-v2__metrics--payments > div:nth-child(odd){border-right:1px solid #e7eeea !important;}
  html body.dfd-app .df-booking-v2__metrics--payments > div:nth-child(-n+2){border-bottom:1px solid #e7eeea !important;}
  html body.dfd-app .df-booking-v2__tab-intro p{font-size:10.5px !important;}
  html body.dfd-app .df-booking-v2.is-context-compact .df-booking-v2__tabs{top:56px !important;}
}

/* ==========================================================================
   R74. Booking reduction pass — real-anchor compact context handoff
   The full experience hero remains in normal flow. The renderer now toggles
   compact mode from this anchor's actual geometry rather than estimated scroll
   pixels, so the handoff follows the real scroll owner across Guest/Calendar.
   ========================================================================== */
html body.dfd-app .df-booking-v2__context-anchor{
  position:sticky !important;
  z-index:19 !important;
  top:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
}
html body.dfd-app .df-booking-v2__contextbar{
  width:100% !important;
  min-height:58px !important;
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px 18px !important;
  border:0 !important;
  border-bottom:1px solid rgba(213,226,219,.92) !important;
  background:linear-gradient(100deg,rgba(248,255,251,.97),rgba(255,255,255,.97) 54%,rgba(247,252,249,.97)) !important;
  box-shadow:0 10px 24px rgba(23,61,42,.075) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.08) !important;
  backdrop-filter:blur(14px) saturate(1.08) !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translate3d(0,-10px,0) !important;
  transition:opacity 150ms ease,transform 180ms cubic-bezier(.2,.8,.2,1),visibility 0s linear 180ms !important;
  pointer-events:none !important;
}
html body.dfd-app .df-booking-v2.is-context-compact .df-booking-v2__contextbar{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate3d(0,0,0) !important;
  transition:opacity 150ms ease,transform 180ms cubic-bezier(.2,.8,.2,1),visibility 0s !important;
  pointer-events:auto !important;
}
html body.dfd-app .df-booking-v2__contextbar-icon{
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(30,215,96,.20) !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.84) !important;
  color:#0b8650 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72) !important;
}
html body.dfd-app .df-booking-v2__contextbar-icon .df-ui-experience-type-icon-v2{
  width:23px !important;
  height:23px !important;
  min-width:23px !important;
  min-height:23px !important;
  margin:0 !important;
}
html body.dfd-app .df-booking-v2__contextbar-copy{
  min-width:0 !important;
  display:block !important;
}
html body.dfd-app .df-booking-v2__contextbar-copy strong,
html body.dfd-app .df-booking-v2__contextbar-copy small{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body.dfd-app .df-booking-v2__contextbar-copy strong{
  color:#17394b !important;
  font-size:13.5px !important;
  font-weight:710 !important;
  line-height:1.2 !important;
  letter-spacing:-.012em !important;
}
html body.dfd-app .df-booking-v2__contextbar-copy small{
  margin-top:3px !important;
  color:#768b80 !important;
  font-size:11px !important;
  font-weight:540 !important;
  line-height:1.2 !important;
}
html body.dfd-app .df-booking-v2__contextbar-status{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:5px !important;
  min-width:0 !important;
}
html body.dfd-app .df-booking-v2__contextbar-status .df-booking-v2__pill{
  min-height:22px !important;
  padding:3px 8px !important;
  font-size:10px !important;
}

@media (max-width:700px){
  html body.dfd-app .df-booking-v2__contextbar{
    min-height:56px !important;
    grid-template-columns:32px minmax(0,1fr) auto !important;
    gap:9px !important;
    padding:8px 12px !important;
  }
  html body.dfd-app .df-booking-v2__contextbar-icon{width:32px !important;height:32px !important;border-radius:10px !important;}
  html body.dfd-app .df-booking-v2__contextbar-icon .df-ui-experience-type-icon-v2{width:22px !important;height:22px !important;min-width:22px !important;min-height:22px !important;}
  html body.dfd-app .df-booking-v2__contextbar-copy strong{font-size:12px !important;}
  html body.dfd-app .df-booking-v2__contextbar-copy small{font-size:10px !important;}
  html body.dfd-app .df-booking-v2__contextbar-status .df-booking-v2__pill{font-size:9.5px !important;}
}
@media (max-width:520px){
  html body.dfd-app .df-booking-v2__contextbar-status .df-booking-v2__pill:nth-child(n+2){display:none !important;}
}
@media (prefers-reduced-motion:reduce){
  html body.dfd-app .df-booking-v2__contextbar,
  html body.dfd-app .df-booking-v2__tabs{transition:none !important;}
}


/* ==========================================================================
   0.6.1173 — Canonical Booking-tab empty states
   Booking detail zero-data views now consume the shared DockFlow V2 empty-state
   anatomy used by Guest/Fleet instead of maintaining small per-tab placeholders.
   ========================================================================== */
html body.dfd-app .df-booking-v2__empty-state.df-ui-empty-state-v2{
  width:100% !important;
  min-height:360px !important;
  border:0 !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,rgba(248,251,249,.58),rgba(255,255,255,.98)) !important;
  box-shadow:none !important;
}
html body.dfd-app .df-booking-v2__empty-state.df-ui-empty-state-v2 .df-ui-empty-state-v2__icon svg{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.75 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
html body.dfd-app .df-booking-v2__empty-state--embedded.df-ui-empty-state-v2{
  min-height:210px !important;
  margin:0 !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,rgba(248,251,249,.42),rgba(255,255,255,.92)) !important;
}
html body.dfd-app .df-booking-v2__payment-history-section--empty{
  padding:0 !important;
}
@media (max-width:700px){
  html body.dfd-app .df-booking-v2__empty-state.df-ui-empty-state-v2{
    min-height:280px !important;
    padding:30px 18px !important;
  }
  html body.dfd-app .df-booking-v2__empty-state--embedded.df-ui-empty-state-v2{
    min-height:200px !important;
  }
}
