/* Dedicated chart controls, cost readout and interactive overlay. */
#dw-site .dm-service-options {
  padding: 0 32px 18px;
  font: 400 12px/1.5 Arial, Helvetica, sans-serif;
  color: var(--muted);
}
#dw-site .dm-off-hours-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--ink);
}
#dw-site .dm-off-hours-label input {
  width: 17px;
  height: 17px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #3150bc;
}
#dw-site .dm-off-hours-label span { min-width: 0; }
#dw-site .dm-off-hours-label small {
  margin-left: 8px;
  font: 400 11px/1.5 Arial, Helvetica, sans-serif;
  color: var(--muted);
}
#dw-site .dm-service-options p { margin: 0; font: inherit; }
#dw-site .dm-service-options.is-disabled .dm-off-hours-label { opacity: .55; }
#dw-site .dm-chart-and-cost {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 188px;
  align-items: stretch;
  min-width: 0;
}
#dw-site .dm-chart-and-cost .reservation-chart-wrap {
  min-width: 0;
  padding-right: 14px;
}
#dw-site .dm-cost {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  margin: 0 28px 30px 0;
  padding: 0 0 0 20px;
  border-left: 1px solid var(--line);
  color: var(--ink);
  font: 400 12px/1.5 Arial, Helvetica, sans-serif;
}
#dw-site .dm-cost-time {
  margin: 0 0 18px;
  color: var(--muted);
  font: 400 11px/1.5 var(--mono);
  font-variant-numeric: tabular-nums;
}
#dw-site .dm-cost-label { margin: 0; color: var(--muted); font: inherit; }
#dw-site .dm-cost-value {
  display: block;
  margin: 4px 0 6px;
  color: var(--ink);
  font: 400 23px/1.2 Georgia, "Times New Roman", serif;
  white-space: nowrap;
}
#dw-site .dm-cost-detail { margin: 0; font: inherit; }
#dw-site .dm-cost-capacity {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
#dw-site .dm-cost-capacity > span { color: var(--muted); font-size: 11px; }
#dw-site .dm-cost-capacity > strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font: 400 13px/1.5 Arial, Helvetica, sans-serif;
  font-variant-numeric: tabular-nums;
}
#dw-site .dm-off-labels text {
  fill: var(--muted);
  font: 400 11px Arial, Helvetica, sans-serif;
}
#dw-site .dm-chart-wrap { position: relative; }
#dw-site #dedicated-reservation-chart:focus-visible { outline: 2px solid #3150bc; outline-offset: 3px; }
#dw-site #dedicated-reservation-chart.dm-pointer-input:focus { outline: none; }
#dw-site .dm-guide,
#dw-site .dm-peaks { pointer-events: none; }
#dw-site #dedicated-reserved-line { transition: stroke 450ms ease; }
#dw-site .dm-tooltip {
  position: absolute;
  z-index: 4;
  min-width: 210px;
  max-width: calc(100% - 16px);
  padding: 12px 14px;
  border: 1px solid #d8ddef;
  border-radius: 8px;
  background: #fff;
  color: #2e2e38;
  box-shadow: 0 5px 20px rgb(23 23 40 / 10%);
  font: 400 12px/1.5 Arial, Helvetica, sans-serif;
  pointer-events: none;
}
#dw-site .dm-tooltip[hidden] { display: none !important; }
#dw-site .dm-tooltip-time { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 500; }
#dw-site .dm-tooltip > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
#dw-site .dm-tooltip > div + div { margin-top: 4px; }
#dw-site .dm-tooltip b { font-weight: 500; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) {
  #dw-site .dm-chart-and-cost { grid-template-columns: minmax(0, 1fr) 170px; }
  #dw-site .dm-cost { margin-right: 20px; padding-left: 16px; }
  #dw-site .dm-service-options { padding-inline: 20px; }
}
@media (max-width: 700px) {
  #dw-site .dm-chart-and-cost { grid-template-columns: minmax(0, 1fr); }
  #dw-site .dm-chart-and-cost .reservation-chart-wrap { padding-inline: 10px; }
  #dw-site .dm-cost {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 18px;
    margin: 0 20px 22px;
    padding: 16px 0 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  #dw-site .dm-cost-time { grid-column: 1 / -1; margin-bottom: 10px; }
  #dw-site .dm-cost-capacity { margin: 0; padding: 0; border: 0; }
  #dw-site .dm-service-options { padding-bottom: 14px; }
  #dw-site .dm-off-hours-label { align-items: center; }
}
@media (max-width: 500px) {
  #dw-site .dm-tooltip { min-width: 0; width: 220px; padding: 10px 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  #dw-site #dedicated-reserved-line { transition: none; }
}
