/*
 * DockFlow Operational Drawer V2
 * --------------------------------
 * Canonical owner for operational drawer chrome + Calendar quick actions.
 * R80 replaces the old Add Departure form with the guided Departure Composer: visual Experience
 * selection, future-date browsing, canonical feasible start times, and optional capacity after selection.
 * R64.2 aligned the compact operational drawer with Experience Studio V2:
 * same DockFlow green, header, close control, canvas, footer, buttons and spacing.
 * Feature content may vary; drawer chrome must not be redefined elsewhere.
 */

html body.dfd-app{
  --df-opv2-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --df-opv2-accent:#1ed760;
  --df-opv2-accent-hover:#1bc957;
  --df-opv2-accent-rgb:30,215,96;
  --df-opv2-accent-deep:#087a43;
  --df-opv2-accent-focus:#8fe8ae;
  --df-opv2-accent-soft:#f0fbf5;
  --df-opv2-accent-soft-2:#f7fcf9;
  --df-opv2-accent-line:#cdeedc;
  --df-opv2-signal:#74fe94;
  --df-opv2-ink:#1b2d3d;
  --df-opv2-ink-strong:#102131;
  --df-opv2-copy:#65798c;
  --df-opv2-muted:#8191a0;
  --df-opv2-faint:#a8b2ba;
  --df-opv2-line:#dfe7e3;
  --df-opv2-line-soft:#e8eeeb;
  --df-opv2-white:#fff;
  --df-opv2-canvas:var(--df-drawer-v2-canvas);
  --df-opv2-shadow:0 18px 45px rgba(24,64,45,.065);
  --df-opv2-shadow-soft:0 10px 25px rgba(24,64,45,.035);
}

/* ========================================================================== 
   Calendar Quick Actions V2
   ========================================================================== */
.dfc-qav2{
  position:fixed;
  z-index:2147483000;
  display:grid;
  gap:5px;
  padding:8px;
  border:1px solid rgba(15,23,42,.085);
  border-radius:14px;
  background:rgba(255,255,255,.99);
  box-shadow:0 18px 46px rgba(15,23,42,.145),0 2px 7px rgba(15,23,42,.05);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  color:var(--df-opv2-ink-strong,#102131);
  font-family:var(--df-opv2-font,Inter,sans-serif);
  transform-origin:top left;
}
.dfc-qav2[hidden]{display:none !important;}
.dfc-qav2::before{content:"";position:absolute;left:var(--dfc-qa-anchor-x,22px);width:9px;height:9px;background:#fff;transform:translateX(-50%) rotate(45deg);pointer-events:none;}
.dfc-qav2[data-dfc-qa-placement="below"]::before{top:-5px;border-left:1px solid rgba(15,23,42,.08);border-top:1px solid rgba(15,23,42,.08);}
.dfc-qav2[data-dfc-qa-placement="above"]::before{bottom:-5px;border-right:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08);}
.dfc-qav2.is-open{animation:dfcQaV2In .13s ease-out both;}
@keyframes dfcQaV2In{from{opacity:0;transform:translateY(-2px) scale(.99)}to{opacity:1;transform:none}}
.dfc-qav2__head{display:grid;gap:2px;padding:6px 8px 8px;border-bottom:1px solid rgba(15,23,42,.065);}
.dfc-qav2__eyebrow{font:800 9px/1.15 var(--df-opv2-font);letter-spacing:.09em;text-transform:uppercase;color:var(--df-opv2-accent-deep);}
.dfc-qav2__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 14px/1.2 var(--df-opv2-font);letter-spacing:-.015em;color:var(--df-opv2-ink-strong);}
.dfc-qav2__sub{font:500 11px/1.25 var(--df-opv2-font);color:var(--df-opv2-copy);}
.dfc-qav2__actions{display:grid;gap:2px;}
.dfc-qav2__action{appearance:none;-webkit-appearance:none;width:100%;min-height:50px;padding:7px 8px;border:0;border-radius:11px;background:transparent;display:grid;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:9px;text-align:left;color:var(--df-opv2-ink-strong);cursor:pointer;transition:background .13s ease,transform .13s ease;}
.dfc-qav2__action:hover,.dfc-qav2__action:focus-visible{outline:none;background:var(--df-opv2-accent-soft-2);}
.dfc-qav2__action:active{transform:scale(.992);}
.dfc-qav2__icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--df-opv2-accent-soft);box-shadow:inset 0 0 0 1px var(--df-opv2-accent-line);color:var(--df-opv2-accent-deep);}
.dfc-qav2__icon svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.dfc-qav2__actioncopy{display:grid;gap:2px;min-width:0;}
.dfc-qav2__actioncopy strong{font:650 13px/1.18 var(--df-opv2-font);letter-spacing:-.01em;color:var(--df-opv2-ink-strong);}
.dfc-qav2__actioncopy small{font:400 11px/1.3 var(--df-opv2-font);color:var(--df-opv2-copy);}
.dfc-qav2__chevron{width:14px;height:14px;display:grid;place-items:center;color:#91a197;}
.dfc-qav2__chevron svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.dfc-qav2__action[data-dfc-qa-action="block-time"] .dfc-qav2__icon{background:#fff8eb;box-shadow:inset 0 0 0 1px rgba(217,119,6,.12);color:#b66a09;}
.dfc-qav2__action[data-dfc-qa-action="maintenance-hold"] .dfc-qav2__icon{background:#fff5e8;box-shadow:inset 0 0 0 1px rgba(194,99,4,.13);color:#9a5a08;}

html body.dfd-app.dfd-view-calendar .dfc-cal__slotselection{border-color:rgba(30,215,96,.28) !important;background:rgba(30,215,96,.065) !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__slotselection::before{color:var(--df-opv2-accent-deep) !important;}

/* ========================================================================== 
   Operational Drawer V2 — canonical compact chassis
   ========================================================================== */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"]{
  --dfc-cal-side-drawer-w:min(610px,calc(100vw - 24px));
  width:min(610px,calc(100vw - 24px)) !important;
  height:100dvh !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  border-radius:0 !important;
  border-left:1px solid #dce7e1 !important;
  background:var(--df-opv2-canvas) !important;
  box-shadow:-32px 0 72px rgba(7,28,20,.18) !important;
  overflow:hidden !important;
  font-family:var(--df-opv2-font) !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawerbackdrop:has(+ .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"]),
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] ~ .dfc-cal__drawerbackdrop{
  background:rgba(6,12,24,.28) !important;
  backdrop-filter:blur(2px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(2px) saturate(1.02) !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__drawerpanel{
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  background:var(--df-opv2-canvas) !important;
  color:var(--df-opv2-ink-strong) !important;
}

/* Header + X chrome are owned by the shared .df-ui-drawer-header-v2 primitive in df-ui-v2.css. */
/* Body */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__drawerbody{
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  padding:0 !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,23,42,.18) transparent;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__drawerbody::-webkit-scrollbar{width:8px;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__drawerbody::-webkit-scrollbar-track{background:transparent;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__drawerbody::-webkit-scrollbar-thumb{background:rgba(15,23,42,.17);border:2px solid transparent;background-clip:content-box;border-radius:999px;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-drawer-intro-section]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-drawer-create-section]{
  display:grid !important;
  gap:14px !important;
  padding:0 var(--df-drawer-v2-header-pad-x) 20px !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-top:0 !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-create-section-label],
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-create-help]{display:none !important;}

/* Premium Experience hero — compact, full-bleed and identity-first.
   The accepted cover + overlapping shared type icon stay untouched; controls live below. */
.dfc-opv2__identity{
  position:relative;
  isolation:isolate;
  display:none;
  grid-template-columns:96px minmax(0,1fr);
  align-items:center;
  gap:18px;
  margin:0 calc(-1 * var(--df-drawer-v2-header-pad-x)) 0;
  padding:20px var(--df-drawer-v2-header-pad-x);
  min-height:126px;
  overflow:hidden;
  border:0;
  border-bottom:1px solid var(--df-drawer-v2-line);
  border-radius:0;
  background:linear-gradient(112deg,rgba(30,215,96,.09) 0%,rgba(30,215,96,.03) 44%,#fff 84%);
  box-shadow:none;
}
.dfc-opv2__identity::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:230px;
  height:230px;
  left:-82px;
  top:-116px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(30,215,96,.13) 0%,rgba(30,215,96,0) 68%);
  pointer-events:none;
}
.dfc-opv2__identity[hidden]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-opv2__identity:not([hidden]){display:grid;}
.dfc-opv2__visual{position:relative;width:88px;height:88px;align-self:center;}
.dfc-opv2__thumb{
  width:82px;
  height:82px;
  border-radius:19px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#fff;
  box-shadow:0 0 0 1px rgba(15,23,42,.055),0 13px 28px rgba(24,64,45,.105);
  font:750 17px/1 var(--df-opv2-font);
  color:var(--df-drawer-v2-accent);
}
.dfc-opv2__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.dfc-opv2__thumb img[hidden]{display:none !important;}
html body.dfd-app .dfc-opv2__typeicon.df-ui-experience-type-icon-v2{
  position:absolute !important;
  right:-1px !important;
  bottom:-1px !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  border-radius:13px !important;
  box-shadow:0 0 0 4px rgba(250,253,251,.96),inset 0 0 0 1px var(--df-experience-type-ring) !important;
}
html body.dfd-app .dfc-opv2__typeicon.df-ui-experience-type-icon-v2::before{width:20px !important;height:20px !important;}
.dfc-opv2__identitycopy{display:grid;gap:6px;min-width:0;align-content:center;}
.dfc-opv2__identityname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:760 18px/1.18 var(--df-opv2-font);letter-spacing:-.03em;color:var(--df-opv2-ink-strong);}
.dfc-opv2__identitymeta{display:flex;align-items:center;gap:6px;min-width:0;font:650 11px/1.25 var(--df-opv2-font);color:#718291;}
.dfc-opv2__identitymeta i{font-style:normal;color:#a7b2ba;}
.dfc-opv2__resource{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;font:600 10.5px/1.3 var(--df-opv2-font);color:#586d7d;}
.dfc-opv2__resource[hidden]{display:none !important;}
.dfc-opv2__resource > span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dfc-opv2__resourcedot{width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.09);}

/* Global Add Departure needs a chooser before the hero can resolve. */
.dfc-opv2__picker{display:none;gap:8px;margin-top:20px;padding:16px;border:1px solid var(--df-opv2-line);border-radius:16px;background:#fff;box-shadow:var(--df-opv2-shadow-soft);}
.dfc-opv2__picker[hidden]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-opv2__picker:not([hidden]){display:grid;}
.dfc-opv2__pickerhead{display:grid;gap:4px;}
.dfc-opv2__pickerhead strong{font:700 14px/1.2 var(--df-opv2-font);letter-spacing:-.015em;color:var(--df-opv2-ink-strong);}
.dfc-opv2__pickerhead span{font:400 11px/1.35 var(--df-opv2-font);color:var(--df-opv2-copy);}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-create-experience-wrap]{display:grid !important;gap:7px !important;margin:0 !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-create-experience-wrap][hidden]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-create-experience-wrap] > span{font:650 11px/1.15 var(--df-opv2-font) !important;color:#60776b !important;}

/* Departure time — eyebrow + date belong inside the working card. */
.dfc-opv2__eyebrow{font:800 9.5px/1.1 var(--df-opv2-font);letter-spacing:.085em;text-transform:uppercase;color:var(--df-drawer-v2-accent);}
.dfc-opv2__timecardhead{display:none;grid-column:1 / -1;grid-row:1;gap:6px;padding:0 1px 12px;border-bottom:1px solid #e7edea;}
.dfc-opv2__timecardhead[hidden]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-opv2__timecardhead:not([hidden]){display:grid;}
.dfc-opv2__date{display:grid;}
.dfc-opv2__date[hidden]{display:none !important;}
.dfc-opv2__date > strong{font:740 16px/1.2 var(--df-opv2-font);letter-spacing:-.022em;color:var(--df-opv2-ink-strong);}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__creategrid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  gap:12px 10px !important;
  align-items:end !important;
  padding:15px 17px 16px !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid #dce6e1 !important;
  border-radius:16px !important;
  box-shadow:var(--df-opv2-shadow-soft) !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__field{display:grid !important;gap:7px !important;min-width:0 !important;margin:0 !important;padding:0 !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__field[hidden]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-create-start-wrap]{grid-column:1 !important;grid-row:2 !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-create-end-wrap]{grid-column:3 !important;grid-row:2 !important;}
.dfc-opv2__timebridge{display:none;grid-column:2;grid-row:2;width:30px;height:30px;align-self:end;margin:0 0 7px;border:1px solid #dfe8e3;border-radius:999px;background:#f7faf8;place-items:center;font:650 13px/1 var(--df-opv2-font);color:#7e9288;}
.dfc-opv2__timebridge[hidden]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-opv2__timebridge:not([hidden]){display:grid;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__field > span{font:650 11px/1.15 var(--df-opv2-font) !important;color:#60776b !important;letter-spacing:0 !important;text-transform:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__field select,
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__field input{
  width:100% !important;
  height:45px !important;
  min-height:45px !important;
  padding:0 38px 0 13px !important;
  border:1px solid #d8e3de !important;
  border-radius:11px !important;
  background:#fff !important;
  box-shadow:none !important;
  font:650 13px/1 var(--df-opv2-font) !important;
  color:var(--df-opv2-ink-strong) !important;
  outline:none !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__field select:focus,
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__field input:focus{border-color:var(--df-drawer-v2-accent) !important;box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.10) !important;}

/* Departure capacity — a compact working card, never a hero KPI. */
.dfc-opv2__capacitycard{
  display:none;
  grid-template-columns:minmax(0,1fr) 112px;
  grid-template-rows:auto auto;
  align-items:end;
  gap:6px 18px;
  padding:15px 17px;
  border:1px solid #dce6e1;
  border-radius:16px;
  background:#fff;
  box-shadow:var(--df-opv2-shadow-soft);
}
.dfc-opv2__capacitycard[hidden]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-opv2__capacitycard:not([hidden]){display:grid;}
.dfc-opv2__capacitycopy{display:grid;gap:5px;min-width:0;}
.dfc-opv2__capacitycopy > strong{font:730 15px/1.18 var(--df-opv2-font);letter-spacing:-.018em;color:var(--df-opv2-ink-strong);}
.dfc-opv2__capacityeditorhelp{font:500 10.5px/1.35 var(--df-opv2-font);color:var(--df-opv2-copy);}
.dfc-opv2__capacityfield{grid-column:2;grid-row:1 / span 2;display:grid;gap:6px;align-self:center;}
.dfc-opv2__capacityfield > span{font:650 10px/1.1 var(--df-opv2-font);color:#60776b;}
.dfc-opv2__capacityfield input{
  appearance:textfield;
  -moz-appearance:textfield;
  width:100%;
  height:43px;
  padding:0 12px;
  border:1px solid #d8e3de;
  border-radius:11px;
  background:#fff;
  box-shadow:none;
  outline:none;
  font:720 14px/1 var(--df-opv2-font);
  color:var(--df-opv2-ink-strong);
}
.dfc-opv2__capacityfield input::-webkit-outer-spin-button,.dfc-opv2__capacityfield input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.dfc-opv2__capacityfield input:focus{border-color:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.10);}
.dfc-opv2__capacityfield input:disabled{background:#f5f8f6;color:#95a29a;cursor:not-allowed;}
.dfc-opv2__capacityreset{appearance:none;justify-self:start;border:0;padding:0;background:transparent;color:var(--df-drawer-v2-accent);font:740 10px/1.2 var(--df-opv2-font);cursor:pointer;}
.dfc-opv2__capacityreset[hidden]{display:none !important;}
.dfc-opv2__capacityreset:hover,.dfc-opv2__capacityreset:focus-visible{outline:none;text-decoration:underline;text-underline-offset:3px;}

/* Error */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__createerror{margin:0 !important;padding:11px 12px !important;border:1px solid rgba(185,28,28,.12) !important;border-radius:11px !important;background:#fff5f5 !important;color:#a51d1d !important;font:500 11px/1.4 var(--df-opv2-font) !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__createerror[hidden]{display:none !important;}

/* Footer/button geometry is owned by shared df-ui-drawer-footer-v2 / df-ui-drawer-action-v2 primitives.
   Operational CSS only decides whether the shared directional arrow is relevant to the active drawer mode. */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer:not([data-dfc-drawer-variant="departure-v2"]) .df-ui-drawer-action-v2__arrow{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .df-ui-drawer-action-v2__arrow{display:grid !important;}

html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__drawerpopup{display:none !important;}

@media (max-width:700px){
  .dfc-qav2{left:12px !important;right:12px !important;bottom:12px !important;top:auto !important;width:auto !important;max-width:none !important;transform-origin:bottom center;}
  .dfc-qav2::before{display:none;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"]{width:100vw !important;max-width:100vw !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__drawerbody{padding:0 !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] [data-dfc-drawer-create-section]{padding:0 20px 26px !important;}
  .dfc-opv2__identity{grid-template-columns:78px minmax(0,1fr);margin:0 -20px;padding:17px 20px;min-height:108px;}
  .dfc-opv2__visual{width:72px;height:72px;}
  .dfc-opv2__thumb{width:68px;height:68px;border-radius:16px;}
  html body.dfd-app .dfc-opv2__typeicon.df-ui-experience-type-icon-v2{width:34px !important;height:34px !important;min-width:34px !important;min-height:34px !important;border-radius:11px !important;}
  html body.dfd-app .dfc-opv2__typeicon.df-ui-experience-type-icon-v2::before{width:17px !important;height:17px !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-cal__creategrid{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) !important;gap:10px 8px !important;padding:14px !important;}
  .dfc-opv2__timebridge{width:26px;height:26px;margin-bottom:9px;font-size:12px;}
  .dfc-opv2__capacitycard{grid-template-columns:minmax(0,1fr) 92px;gap:6px 12px;padding:14px;}
}

/* R79.1 — Add Departure semantic Calendar protection conflicts.
 * Server truth owns the hold reason; this asset only translates that reason into the same
 * red / purple / blue / amber language already used by Calendar Hold V2.
 */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict]{
  --df-opv2-conflict-tone:#df3428;
  --df-opv2-conflict-deep:#b42318;
  --df-opv2-conflict-soft:#fff3f2;
  --df-opv2-conflict-soft-2:#fff8f7;
  --df-opv2-conflict-line:rgba(223,52,40,.15);
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict="private"]{
  --df-opv2-conflict-tone:#7656cf;
  --df-opv2-conflict-deep:#5d41b0;
  --df-opv2-conflict-soft:#f6f2ff;
  --df-opv2-conflict-soft-2:#fbf9ff;
  --df-opv2-conflict-line:rgba(118,86,207,.15);
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict="weather"]{
  --df-opv2-conflict-tone:#3971c9;
  --df-opv2-conflict-deep:#295cae;
  --df-opv2-conflict-soft:#eff6ff;
  --df-opv2-conflict-soft-2:#f8fbff;
  --df-opv2-conflict-line:rgba(57,113,201,.15);
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict="maintenance"]{
  --df-opv2-conflict-tone:#c77a00;
  --df-opv2-conflict-deep:#945b00;
  --df-opv2-conflict-soft:#fff6e8;
  --df-opv2-conflict-soft-2:#fffbf4;
  --df-opv2-conflict-line:rgba(199,122,0,.16);
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict] .dfc-opv2__identity{
  background:linear-gradient(112deg,#fff 0%,var(--df-opv2-conflict-soft-2) 54%,color-mix(in srgb,var(--df-opv2-conflict-soft) 86%,#fff) 78%,var(--df-opv2-conflict-soft) 100%) !important;
  border-bottom-color:var(--df-opv2-conflict-line) !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict] .dfc-opv2__identity::before{
  opacity:0 !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict] .dfc-opv2__resourcedot{
  background:var(--df-opv2-conflict-tone) !important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--df-opv2-conflict-tone) 9%,transparent) !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-conflict] .dfc-cal__createerror[data-dfc-conflict-theme]{
  margin:0 !important;
  padding:12px 13px !important;
  border:1px solid var(--df-opv2-conflict-line) !important;
  border-radius:12px !important;
  background:var(--df-opv2-conflict-soft-2) !important;
  color:var(--df-opv2-conflict-deep) !important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--df-opv2-conflict-tone) 5%,transparent) !important;
  font:620 11px/1.42 var(--df-opv2-font) !important;
}

/* ========================================================================== 
   R80 — Departure Composer V2
   Experience-first, feasibility-first scheduling. The old select/time form remains in the DOM
   only as a state carrier for the canonical create endpoint; operators interact with this flow.
   ========================================================================== */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage] [data-dfc-create-grid]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage] [data-dfc-create-experience-wrap]{display:none !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage] [data-dfc-drawer-create-section]{gap:16px !important;padding-top:20px !important;padding-bottom:28px !important;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage="time"] [data-dfc-drawer-create-section]{padding-top:0 !important;}

.dfc-depcomposer__experienceStage{
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.dfc-depcomposer__sectionhead{display:grid;gap:5px;min-width:0;}
.dfc-depcomposer__sectionhead > div{display:grid;gap:5px;min-width:0;}
.dfc-depcomposer__sectionhead strong{font:760 18px/1.18 var(--df-opv2-font);letter-spacing:-.025em;color:var(--df-opv2-ink-strong);}
.dfc-depcomposer__sectionhead p{margin:0;font:500 12px/1.45 var(--df-opv2-font);color:var(--df-opv2-copy);}
.dfc-depcomposer__sectionhead--compact strong{font-size:17px;}
/* Stage 1 hierarchy is intentionally compact: eyebrow, decision title, then helper. */
.dfc-depcomposer__experienceStage .dfc-depcomposer__sectionhead{gap:0 !important;}
.dfc-depcomposer__experienceStage .dfc-depcomposer__sectionhead > div{gap:4px !important;}
.dfc-depcomposer__experienceStage .dfc-depcomposer__sectionhead p{margin:7px 0 0 !important;}


.dfc-depcomposer__search{position:relative;display:block;}
.dfc-depcomposer__search[hidden]{display:none !important;}
.dfc-depcomposer__searchIcon{position:absolute;left:14px;top:50%;width:18px;height:18px;display:grid;place-items:center;transform:translateY(-50%);color:#7a8d82;pointer-events:none;}
.dfc-depcomposer__searchIcon svg{width:18px;height:18px;display:block;}
.dfc-depcomposer__search input{
  width:100%;height:46px;padding:0 15px 0 42px;border:1px solid #dbe5e0;border-radius:14px;background:#fff;
  box-shadow:0 7px 20px rgba(24,64,45,.025);outline:none;font:600 13px/1 var(--df-opv2-font);color:var(--df-opv2-ink-strong);
}
.dfc-depcomposer__search input::placeholder{color:#91a098;font-weight:500;}
.dfc-depcomposer__search input:focus{border-color:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.10);}

.dfc-depcomposer__experienceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.dfc-depcomposer__experienceCard{
  appearance:none;-webkit-appearance:none;position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:12px;
  min-height:126px;padding:14px;border:1px solid #dce5e1;border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(24,64,45,.035);
  text-align:left;color:var(--df-opv2-ink-strong);cursor:pointer;outline:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease;
}
.dfc-depcomposer__experienceCard:hover{border-color:#c8d8d0;box-shadow:0 14px 30px rgba(24,64,45,.065);transform:translateY(-1px);}
.dfc-depcomposer__experienceCard:focus-visible{border-color:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.12),0 14px 30px rgba(24,64,45,.06);}
.dfc-depcomposer__experienceCard.is-selected{border-color:rgba(var(--df-drawer-v2-accent-rgb),.74);background:linear-gradient(145deg,#fff 0%,rgba(var(--df-drawer-v2-accent-rgb),.045) 100%);box-shadow:0 0 0 1px rgba(var(--df-drawer-v2-accent-rgb),.18),0 15px 32px rgba(24,100,64,.08);}
.dfc-depcomposer__experienceVisual{width:68px;height:68px;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:#edf7f1;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05);color:var(--df-drawer-v2-accent-deep);font:800 17px/1 var(--df-opv2-font);}
.dfc-depcomposer__experienceVisual img{width:100%;height:100%;object-fit:cover;display:block;}
.dfc-depcomposer__experienceFallback{letter-spacing:-.04em;}
.dfc-depcomposer__experienceCopy{display:grid;gap:5px;min-width:0;padding-right:20px;}
.dfc-depcomposer__experienceCopy strong{font:730 14px/1.22 var(--df-opv2-font);letter-spacing:-.018em;color:var(--df-opv2-ink-strong);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dfc-depcomposer__experienceCopy > span{font:620 11px/1.3 var(--df-opv2-font);color:#6a7d72;}
.dfc-depcomposer__experienceCopy > span i{font-style:normal;color:#a2afa8;margin:0 2px;}
.dfc-depcomposer__experienceCopy small{font:540 10.5px/1.35 var(--df-opv2-font);color:#8a9890;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dfc-depcomposer__experienceCheck{position:absolute;right:12px;bottom:12px;width:28px;height:28px;border:1px solid #dce5e1;border-radius:999px;background:#fff;display:grid;place-items:center;color:#9aaba1;box-shadow:0 5px 14px rgba(15,23,42,.06);}
.dfc-depcomposer__experienceCheck svg{width:15px;height:15px;opacity:0;transform:scale(.7);transition:opacity .14s ease,transform .14s ease;}
.dfc-depcomposer__experienceCard.is-selected .dfc-depcomposer__experienceCheck{border-color:var(--df-drawer-v2-accent);background:var(--df-drawer-v2-accent);color:#052b16;}
.dfc-depcomposer__experienceCard.is-selected .dfc-depcomposer__experienceCheck svg{opacity:1;transform:scale(1);}
.dfc-depcomposer__experienceEmpty{grid-column:1/-1;display:grid;place-items:center;gap:5px;padding:36px 20px;border:1px dashed #d9e4de;border-radius:18px;background:rgba(255,255,255,.62);text-align:center;}
.dfc-depcomposer__experienceEmpty strong{font:720 14px/1.25 var(--df-opv2-font);color:var(--df-opv2-ink-strong);}
.dfc-depcomposer__experienceEmpty span{font:500 12px/1.4 var(--df-opv2-font);color:var(--df-opv2-copy);}

/* Stage 2 keeps the proven Experience identity hero, then becomes a touch-first scheduler. */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage="time"] .dfc-opv2__identity{margin-bottom:2px;}
.dfc-depcomposer__schedule{display:grid;gap:20px;padding-top:3px;}
.dfc-depcomposer__schedule[hidden]{display:none !important;}
.dfc-depcomposer__dateHead{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:end;}
.dfc-depcomposer__calendarJump{appearance:none;-webkit-appearance:none;width:44px;height:44px;border:1px solid #d9e4de;border-radius:14px;background:#fff;display:grid;place-items:center;color:#486155;box-shadow:0 7px 18px rgba(24,64,45,.04);cursor:pointer;outline:none;}
.dfc-depcomposer__calendarJump:hover{background:#f8fbf9;border-color:#cddbd4;}
.dfc-depcomposer__calendarJump:focus-visible{border-color:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.11);}
.dfc-depcomposer__calendarJump svg{width:19px;height:19px;}
.dfc-depcomposer__nativeDate{position:absolute;right:0;bottom:0;width:44px;height:44px;opacity:0;pointer-events:none;}

.dfc-depcomposer__dateRailShell{position:relative;min-width:0;isolation:isolate;}
.dfc-depcomposer__dateRailShell::before,.dfc-depcomposer__dateRailShell::after{content:"";position:absolute;z-index:2;top:0;bottom:8px;width:34px;pointer-events:none;opacity:0;transition:opacity .16s ease;}
.dfc-depcomposer__dateRailShell::before{left:0;background:linear-gradient(90deg,rgba(247,250,248,.98) 0%,rgba(247,250,248,.78) 34%,rgba(247,250,248,0) 100%);}
.dfc-depcomposer__dateRailShell::after{right:0;background:linear-gradient(270deg,rgba(247,250,248,.98) 0%,rgba(247,250,248,.78) 34%,rgba(247,250,248,0) 100%);}
.dfc-depcomposer__dateRailShell.can-scroll-left::before{opacity:1;}
.dfc-depcomposer__dateRailShell.can-scroll-right::after{opacity:1;}
.dfc-depcomposer__dateRail{display:flex;gap:9px;margin:0;padding:1px 2px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.dfc-depcomposer__dateRail::-webkit-scrollbar{display:none;}
.dfc-depcomposer__dateNav{display:none;appearance:none;-webkit-appearance:none;position:absolute;z-index:4;top:42px;width:32px;height:32px;border:1px solid #d6e2dc;border-radius:999px;background:rgba(255,255,255,.96);color:#40584d;box-shadow:0 7px 18px rgba(24,64,45,.12);place-items:center;cursor:pointer;outline:none;transition:opacity .14s ease,transform .14s ease,border-color .14s ease,background .14s ease;}
.dfc-depcomposer__dateNav svg{width:16px;height:16px;display:block;}
.dfc-depcomposer__dateNav--prev{left:7px;}
.dfc-depcomposer__dateNav--next{right:7px;}
.dfc-depcomposer__dateNav:hover{background:#fff;border-color:#bfd3c9;transform:translateY(-1px);}
.dfc-depcomposer__dateNav:focus-visible{box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.11),0 7px 18px rgba(24,64,45,.12);}
.dfc-depcomposer__dateNav:disabled{opacity:0 !important;pointer-events:none;}
@media (hover:hover) and (pointer:fine) and (min-width:861px){
  .dfc-depcomposer__dateRailShell.can-scroll-left .dfc-depcomposer__dateNav--prev,
  .dfc-depcomposer__dateRailShell.can-scroll-right .dfc-depcomposer__dateNav--next{display:grid;}
}

.dfc-depcomposer__dateButton{appearance:none;-webkit-appearance:none;flex:0 0 76px;min-width:76px;height:92px;padding:11px 7px;border:1px solid #dce5e1;border-radius:17px;background:#fff;display:grid;grid-template-rows:auto 1fr auto;place-items:center;scroll-snap-align:start;color:#6d7c74;box-shadow:0 7px 18px rgba(24,64,45,.025);cursor:pointer;outline:none;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease;}
.dfc-depcomposer__dateButton:hover{border-color:#cbd9d2;transform:translateY(-1px);}
.dfc-depcomposer__dateButton:focus-visible{border-color:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.11);}
.dfc-depcomposer__dateButton span{font:650 11px/1.1 var(--df-opv2-font);}
.dfc-depcomposer__dateButton strong{font:780 23px/1 var(--df-opv2-font);letter-spacing:-.035em;color:var(--df-opv2-ink-strong);}
.dfc-depcomposer__dateButton small{font:620 10px/1.1 var(--df-opv2-font);color:#8c9992;}
.dfc-depcomposer__dateButton.is-selected{border-color:rgba(var(--df-drawer-v2-accent-rgb),.48);background:linear-gradient(155deg,#fff 0%,rgba(var(--df-drawer-v2-accent-rgb),.105) 100%);color:var(--df-drawer-v2-accent-deep);box-shadow:0 0 0 1px rgba(var(--df-drawer-v2-accent-rgb),.08),0 10px 22px rgba(24,100,64,.055);}
.dfc-depcomposer__dateButton.is-selected span{color:var(--df-drawer-v2-accent-deep);}
.dfc-depcomposer__dateButton.is-selected strong{color:#123126;}
.dfc-depcomposer__dateButton.is-selected small{color:#547064;}

.dfc-depcomposer__timeSection{display:grid;gap:13px;}
.dfc-depcomposer__slotState:empty{display:none;}
.dfc-depcomposer__timeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.dfc-depcomposer__timeButton{appearance:none;-webkit-appearance:none;min-height:72px;padding:12px 13px;border:1px solid #dce5e1;border-radius:15px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:10px;text-align:left;color:var(--df-opv2-ink-strong);box-shadow:0 7px 18px rgba(24,64,45,.025);cursor:pointer;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,transform .14s ease;}
.dfc-depcomposer__timeButton:hover{border-color:#cbd9d2;transform:translateY(-1px);}
.dfc-depcomposer__timeButton:focus-visible{border-color:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.11);}
.dfc-depcomposer__timeButton > span{display:grid;gap:5px;min-width:0;}
.dfc-depcomposer__timeButton strong{font:740 15px/1.15 var(--df-opv2-font);letter-spacing:-.015em;color:var(--df-opv2-ink-strong);}
.dfc-depcomposer__timeButton small{font:560 10.5px/1.2 var(--df-opv2-font);color:#7d8d84;}
.dfc-depcomposer__timeCheck{width:26px;height:26px;border:1px solid #dce5e1;border-radius:999px;background:#fff;display:grid;place-items:center;color:#fff;}
.dfc-depcomposer__timeCheck svg{width:14px;height:14px;opacity:0;transform:scale(.75);transition:opacity .14s ease,transform .14s ease;}
.dfc-depcomposer__timeButton.is-selected{border-color:rgba(var(--df-drawer-v2-accent-rgb),.82);background:linear-gradient(145deg,#fff 0%,rgba(var(--df-drawer-v2-accent-rgb),.055) 100%);box-shadow:0 0 0 1px rgba(var(--df-drawer-v2-accent-rgb),.17),0 12px 28px rgba(24,100,64,.07);}
.dfc-depcomposer__timeButton.is-selected .dfc-depcomposer__timeCheck{border-color:var(--df-drawer-v2-accent);background:var(--df-drawer-v2-accent);color:#07391f;}
.dfc-depcomposer__timeButton.is-selected .dfc-depcomposer__timeCheck svg{opacity:1;transform:scale(1);}

.dfc-depcomposer__loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.dfc-depcomposer__timeSkeleton{position:relative;overflow:hidden;min-height:72px;padding:15px;border:1px solid #e3eae6;border-radius:15px;background:#fff;display:grid;gap:9px;align-content:center;}
.dfc-depcomposer__timeSkeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(236,244,239,.82),transparent);animation:dfDepComposerShimmer 1.2s ease-in-out infinite;}
.dfc-depcomposer__timeSkeleton i{display:block;height:10px;border-radius:999px;background:#edf2ef;}
.dfc-depcomposer__timeSkeleton i:first-child{width:48%;height:13px;}
.dfc-depcomposer__timeSkeleton i:last-child{width:68%;}
@keyframes dfDepComposerShimmer{to{transform:translateX(100%);}}

.dfc-depcomposer__empty{display:grid;justify-items:center;gap:8px;padding:34px 24px 30px;border:1px solid #dde7e2;border-radius:19px;background:linear-gradient(165deg,#fff 0%,#f8fbf9 100%);text-align:center;box-shadow:0 10px 24px rgba(24,64,45,.025);}
.dfc-depcomposer__emptyIcon{width:48px;height:48px;margin-bottom:4px;border-radius:16px;background:#edf8f2;display:grid;place-items:center;color:var(--df-drawer-v2-accent-deep);box-shadow:inset 0 0 0 1px rgba(var(--df-drawer-v2-accent-rgb),.10);}
.dfc-depcomposer__emptyIcon svg{width:23px;height:23px;}
.dfc-depcomposer__empty strong{font:760 16px/1.2 var(--df-opv2-font);letter-spacing:-.02em;color:var(--df-opv2-ink-strong);}
.dfc-depcomposer__empty > span:not(.dfc-depcomposer__emptyIcon){max-width:390px;font:500 12px/1.5 var(--df-opv2-font);color:var(--df-opv2-copy);}
.dfc-depcomposer__empty button{appearance:none;-webkit-appearance:none;margin-top:7px;min-height:40px;padding:0 15px;border:1px solid #d5e1db;border-radius:999px;background:#fff;display:inline-flex;align-items:center;gap:8px;color:#263a30;font:680 11.5px/1 var(--df-opv2-font);cursor:pointer;outline:none;box-shadow:0 6px 16px rgba(15,23,42,.035);}
.dfc-depcomposer__empty button:hover{border-color:#c4d5cc;background:#fbfdfc;}
.dfc-depcomposer__empty button:focus-visible{border-color:var(--df-drawer-v2-accent);box-shadow:0 0 0 4px rgba(var(--df-drawer-v2-accent-rgb),.11);}
.dfc-depcomposer__empty button svg{width:15px;height:15px;}

/* Capacity is optional and appears only after a real operating window is selected. */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage="time"] .dfc-opv2__capacitycard:not([hidden]){margin-top:2px;}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][aria-busy="true"] [data-dfc-drawer-action="primary"]{pointer-events:none;}

@media (max-width:700px){
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage] [data-dfc-drawer-create-section]{padding:18px 18px 28px !important;gap:15px !important;}
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage="time"] [data-dfc-drawer-create-section]{padding-top:0 !important;}
  .dfc-depcomposer__experienceGrid{grid-template-columns:1fr;gap:10px;}
  .dfc-depcomposer__experienceCard{grid-template-columns:70px minmax(0,1fr);min-height:104px;padding:12px 13px;border-radius:17px;}
  .dfc-depcomposer__experienceVisual{width:70px;height:70px;border-radius:15px;}
  .dfc-depcomposer__experienceCopy strong{font-size:15px;}
  .dfc-depcomposer__dateRail{margin-left:0;margin-right:0;padding-left:1px;padding-right:1px;scroll-padding-inline:1px;}
  .dfc-depcomposer__dateButton{flex-basis:74px;min-width:74px;height:90px;}
  .dfc-depcomposer__timeGrid,.dfc-depcomposer__loading{grid-template-columns:1fr;}
  .dfc-depcomposer__timeButton{min-height:68px;padding:12px 14px;}
  .dfc-depcomposer__empty{padding:30px 20px 27px;}
  .dfc-opv2__capacitycard{grid-template-columns:minmax(0,1fr) 92px;}
}

@media (max-width:390px){
  .dfc-depcomposer__experienceCard{grid-template-columns:62px minmax(0,1fr);}
  .dfc-depcomposer__experienceVisual{width:62px;height:62px;border-radius:14px;}
  .dfc-depcomposer__dateButton{flex-basis:70px;min-width:70px;}
}

/* ========================================================================== 
   R83 — Departure Composer final interaction polish
   Stage-one hierarchy, date-rail affordance geometry, and shared Calendar
   date-picker reuse. Presentation only; no scheduling/availability ownership.
   ========================================================================== */
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage="experience"] .dfc-depcomposer__experienceStage:not([hidden]){
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:16px !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-depcomposer__sectionhead--experience{
  display:block !important;
  min-height:0 !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-depcomposer__sectionhead--experience > div{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:0 !important;
  min-height:0 !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-depcomposer__sectionhead--experience .dfc-opv2__eyebrow{
  margin:0 0 7px !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-depcomposer__sectionhead--experience strong{
  margin:0 !important;
}
html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"] .dfc-depcomposer__sectionhead--experience p{
  margin:7px 0 0 !important;
}

/* Edge fades remain the discovery cue; desktop arrows sit on the actual rail edge,
   vertically centered against the date tiles instead of floating low/inboard. */
.dfc-depcomposer__dateRailShell::before,
.dfc-depcomposer__dateRailShell::after{
  width:42px;
}
.dfc-depcomposer__dateNav{
  top:31px;
  width:34px;
  height:34px;
  border-color:rgba(148,163,184,.30);
  background:rgba(255,255,255,.94);
  color:#40584d;
  box-shadow:0 8px 22px rgba(15,23,42,.11),0 1px 3px rgba(15,23,42,.05);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.dfc-depcomposer__dateNav--prev{left:-9px;}
.dfc-depcomposer__dateNav--next{right:-9px;}
.dfc-depcomposer__dateNav:hover{
  border-color:#bfd3c9;
  background:#fff;
  transform:translateY(-1px) scale(1.02);
}

/* The Composer calendar is the Calendar V2 picker, not a browser-native popup.
   These rules only add the future-only scheduling semantics missing from the
   shared Calendar picker itself. */
.dfc-depcomposer__calendarPopover .df-calendar-v2-datepicker__day.is-disabled,
.dfc-depcomposer__calendarPopover .df-calendar-v2-datepicker__day:disabled{
  color:rgba(11,18,32,.20);
  background:transparent;
  border-color:transparent;
  cursor:not-allowed;
  transform:none;
}
.dfc-depcomposer__calendarPopover .df-calendar-v2-datepicker__day.is-disabled::after,
.dfc-depcomposer__calendarPopover .df-calendar-v2-datepicker__day:disabled::after{
  display:none;
}
.dfc-depcomposer__calendarPopover .df-calendar-v2-datepicker__monthbtn:disabled{
  opacity:.24;
  cursor:not-allowed;
  background:transparent;
  border-color:transparent;
}

@media (max-width:780px){
  html body.dfd-app.dfd-view-calendar .dfc-cal__drawer[data-dfc-drawer-variant="departure-v2"][data-dfc-departure-composer-stage="experience"] .dfc-depcomposer__experienceStage:not([hidden]){
    gap:14px !important;
  }
}

/* Departure Composer R5 — the shared Calendar picker normally sits above the
   Calendar canvas (z-index:10040). Inside the canonical Calendar Drawer the
   drawer itself owns the high application overlay layer, so the Composer's
   body-mounted picker must sit one layer above that drawer to remain visible
   and interactive. This is presentation-only; date ownership stays unchanged. */
.dfc-depcomposer__calendarPopover{
  z-index:2147483300;
}
