/* The workspace stays anchored while its data changes. */
html.demo-enhanced { scrollbar-gutter: stable; }
.crm-demo[open] { display: flex; flex-direction: column; height: min(860px, calc(100svh - 60px)); overflow: hidden; }
.crm-top { flex: 0 0 auto; }
.crm-layout { flex: 1 1 auto; min-height: 0; }
.crm-nav { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.crm-main { min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.crm-nav button { transition: color .25s, border-color .25s, background-color .25s; }
.demo-body { min-width: 0; }
.demo-workspace { display: flex; flex-direction: column; min-width: 0; }
.demo-metric strong { display: inline-block; }
.demo-run[aria-disabled="true"] { opacity: .65; cursor: progress; }
.demo-run { transition: opacity .2s, box-shadow .2s; }
.demo-host[aria-busy="true"] .demo-run { box-shadow: 0 0 22px #f3c96920; }
.demo-host .demo-status { position: absolute; top: 8px; inset-inline-end: 8px; max-width: min(380px, calc(100% - 16px)); z-index: 3; margin: 0; padding: 10px 14px; border: 1px solid #f3c96935; box-shadow: 0 10px 35px #0005; font-size: .72rem; pointer-events: none; }
.demo-status:not(.demo-error)::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-inline-end: 9px; border-radius: 50%; background: var(--polaris); box-shadow: 0 0 10px #f3c96980; animation: demoWorking 1s ease-in-out infinite alternate; }
.demo-host .demo-status.demo-error { pointer-events: auto; }
.demo-bar-fill { animation: none; transition: height .65s cubic-bezier(.2,.75,.3,1); }
.demo-response { transition: color .35s, border-color .35s, background-color .35s; min-height: 78px; }
.demo-response p { overflow-wrap: anywhere; }
.demo-website { transition: color .45s, border-color .45s, background-color .45s; }
.demo-host[data-module="bookings"] .demo-rows { min-height: 144px; }
.demo-host[data-module="voice"] .demo-rows { min-height: 210px; }
.inline-demo .demo-host { height: 590px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.inline-demo .demo-body, .inline-demo .demo-workspace { min-height: 100%; }
.inline-demo .demo-response { margin-top: auto; flex-shrink: 0; }
.inline-demo .demo-metrics, .inline-demo .demo-controls, .inline-demo .demo-chart, .inline-demo .demo-rows { flex-shrink: 0; }
@keyframes demoWorking { from { opacity: .35; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 760px) {
  .crm-demo[open] { height: calc(100svh - 16px); }
  .crm-layout { grid-template-rows: auto minmax(0, 1fr); }
  .crm-nav { overflow-y: hidden; }
  .inline-demo .demo-host { height: 630px; }
  .demo-host .demo-status { font-size: .64rem; }
}
@media (prefers-reduced-motion: reduce) {
  .crm-nav button, .demo-run, .demo-bar-fill, .demo-response, .demo-website { transition: none; }
  .demo-status:not(.demo-error)::before { animation: none; }
}
