/* The demo and product routes use the same reviewed primitives. */
@import url('/service-interface-core.css?release=20261031-text-composer-2') layer(linial-demo-preview);
@layer linial-demo-preview {

/* Page adapters: one masthead and geometry for every product page family.
   The editor canvas and the authenticated navigation retain their own frames. */
body .ui-skip-link { position:fixed; z-index:1000; top:8px; left:16px; transform:translateY(-160%); padding:10px 16px; border:1px solid var(--ui-focus); border-radius:6px; background:var(--ui-panel); }
body .ui-skip-link:focus { transform:none; }
body[data-ui-family] .ui-masthead {
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  position:relative !important; left:50% !important; transform:translateX(-50%) !important;
  width:100vw !important; max-width:none !important; height:68px !important; min-height:68px !important;
  margin:0 0 36px !important; padding:0 max(24px,calc((100vw - 1200px)/2)) !important;
  gap:20px !important; border:0 !important; border-bottom:1px solid var(--ui-border) !important;
  background:var(--ui-canvas) !important; box-shadow:none !important; border-radius:0 !important;
  flex-direction:row !important; overflow:visible !important;
}
body[data-ui-family] .ui-masthead::before,body[data-ui-family] .ui-masthead::after { display:none !important; }
body[data-ui-family] .ui-masthead .ui-brand { display:inline-flex !important; align-items:center !important; flex:0 0 auto !important; gap:9px !important; order:-1; margin:0 !important; padding:0 !important; text-decoration:none !important; color:var(--ui-text) !important; }
body[data-ui-family] .ui-brand :is(.sunflower,.clinic-brand-mark,.brand-mark) { display:block !important; width:46px !important; height:46px !important; flex:0 0 46px !important; margin:0 !important; }
body[data-ui-family] .ui-brand svg { display:block !important; width:100% !important; height:100% !important; }
body[data-ui-family] .ui-brand :is(.ui-wordmark,.brand-name,.home-brand-name,.clinic-brand-name,span:not(.sunflower):not(.clinic-brand-mark):not(.brand-mark),strong) { font-size:22px !important; line-height:1.3 !important; font-weight:500 !important; letter-spacing:-.025em !important; }
body[data-ui-family] .ui-masthead>a:not(.ui-brand),body[data-ui-family] .ui-masthead nav { font-size:14px !important; color:var(--ui-muted) !important; flex:0 1 auto; }
body[data-ui-family] .ui-page { min-width:0; }

/* A conversation is the same component in a workspace, demo and customer
   view. Its surrounding navigation and permission notices can differ. */
body[data-ui-family] .ui-conversation-head { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px !important; min-height:76px !important; margin:0 !important; padding:16px 20px !important; border:0 !important; border-bottom:1px solid var(--ui-border) !important; background:transparent !important; }
body[data-ui-family] .ui-conversation-head :is(h1,h2) { margin:0 !important; font-size:20px !important; line-height:1.4 !important; font-weight:600 !important; }
body[data-ui-family] .ui-conversation-head :is(.thread-kicker,.employee-view) { margin:0 0 3px !important; font-size:13px !important; font-weight:400 !important; color:var(--ui-muted) !important; }
body[data-ui-family] .ui-message-log { padding:32px 24px !important; gap:24px !important; font-size:15px !important; line-height:1.7 !important; }
body[data-ui-family] .ui-composer { position:static !important; display:flex !important; align-items:flex-end !important; flex:0 0 auto !important; transform:none !important; width:auto !important; max-width:none !important; min-height:54px !important; margin:0 16px 16px !important; padding:7px 7px 7px 14px !important; gap:12px !important; border:1px solid var(--ui-border-strong) !important; border-radius:8px !important; background:var(--ui-composer) !important; box-shadow:none !important; }
body[data-ui-family] .ui-composer :is(input,textarea) { flex:1 !important; min-width:0 !important; min-height:38px !important; height:auto !important; margin:0 !important; padding:8px 0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; color:var(--ui-text) !important; outline:0 !important; resize:none; font-size:14px !important; line-height:1.5 !important; }
body[data-ui-family] .ui-composer button[type=submit] { display:grid !important; place-items:center; flex:0 0 36px !important; width:36px !important; height:36px !important; min-height:36px !important; margin:0 !important; padding:0 !important; background:var(--ui-primary-bg) !important; color:var(--ui-primary-text) !important; border:0 !important; border-radius:6px !important; }
body[data-ui-family] .ui-composer button[type=submit] svg { width:20px !important; height:20px !important; fill:none; stroke:currentColor; stroke-width:1.6; }
body[data-ui-family] .ui-composer:focus-within { outline:2px solid var(--ui-focus) !important; outline-offset:3px !important; }
body[data-ui-family=setup] .ui-composer { width:100% !important; margin:24px 0 0 !important; }

/* Public demonstration: one selected request and one employee conversation. */
body .demo-shell { width:100% !important; max-width:none !important; margin:0 !important; padding:0 0 48px !important; }
body .demo-head { display:flex !important; justify-content:space-between !important; }
body .head-actions { display:flex !important; align-items:center !important; gap:24px !important; }
body .demo-setup-compact { display:none; }
body .demo-intro { width:min(1184px,calc(100% - 64px)) !important; display:flex !important; align-items:center !important; justify-content:space-between !important; margin:32px auto 24px !important; padding:0 !important; }
body .demo-intro h1 { margin:0 0 8px !important; }
body .demo-intro p { margin:0 !important; color:var(--ui-muted) !important; }
body .preview-label { border:1px solid var(--ui-border); padding:4px 9px; border-radius:5px; }
body .demo-workspace { display:grid !important; grid-template-columns:240px minmax(0,1fr) !important; width:min(1184px,calc(100% - 64px)) !important; min-height:560px !important; margin:0 auto !important; border:1px solid var(--ui-border) !important; border-radius:10px !important; background:var(--ui-panel) !important; overflow:hidden !important; }
body .demo-rail { display:flex !important; flex-direction:column !important; gap:32px !important; padding:24px 16px !important; border:0 !important; border-right:1px solid var(--ui-border) !important; border-radius:0 !important; background:var(--ui-sidebar) !important; }
body .request-picker { border:0 !important; padding:0 !important; background:transparent !important; }
body .request-picker h2 { margin:0 10px 14px !important; color:var(--ui-muted) !important; }
body .handoff-scenarios { display:grid !important; gap:4px !important; overflow:visible !important; border:0 !important; margin:0 !important; }
body .scenario-button { display:block !important; width:100% !important; min-width:0 !important; min-height:40px !important; padding:11px 12px !important; border:0 !important; border-radius:6px !important; background:transparent !important; color:var(--ui-muted) !important; text-align:left !important; box-shadow:none !important; }
body .scenario-button[aria-pressed=true] { background:var(--ui-selected) !important; color:var(--ui-text) !important; }
body .scenario-button:hover { background:var(--ui-hover) !important; }
body .scenario-button::before { display:none !important; }
body .next-request { width:100% !important; margin-top:12px !important; padding:8px 12px !important; border:0 !important; background:transparent !important; color:var(--ui-muted) !important; text-align:left; }
body .voice-demo { margin-top:auto !important; padding:24px 10px 0 !important; border:0 !important; border-top:1px solid var(--ui-border) !important; background:transparent !important; }
body .voice-demo h2 { margin:0 0 8px !important; }
body .voice-demo>p { margin:0 0 16px !important; }
body .voice-actions { display:grid !important; gap:8px !important; }
body .voice-actions button { padding:10px 12px !important; min-height:40px !important; }
body #talk-demo { background:var(--ui-primary-bg) !important; color:var(--ui-primary-text) !important; }
body .voice-state:has(#status:empty):has(#status-detail:empty),body .voice-secondary-actions:has(button:disabled):not(:has(button:enabled)) { display:none !important; }
body .demo-thread { display:flex !important; flex-direction:column !important; min-width:0 !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:var(--ui-panel) !important; }
body .thread-head { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:24px !important; min-height:80px !important; margin:0 !important; padding:18px 28px !important; border:0 !important; border-bottom:1px solid var(--ui-border) !important; background:transparent !important; }
body .thread-kicker { margin:0 0 3px !important; font-size:12px !important; color:var(--ui-muted) !important; }
body .thread-head h2 { font-size:16px !important; margin:0 !important; }
body .thread-content { flex:1; display:flex !important; flex-direction:column !important; padding:0 !important; border:0 !important; }
body .call-source { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:20px !important; margin:20px 28px 0 !important; padding:12px 16px !important; border:1px solid var(--ui-border) !important; border-radius:7px !important; background:var(--ui-composer) !important; }
body .call-source-title { font-size:13px !important; font-weight:500 !important; margin:0 !important; }
body .call-source-copy>p+p { display:none !important; }
body .call-source button { padding:6px 12px !important; min-height:32px !important; }
body .demo-staff-chat-log { flex:1; display:flex !important; flex-direction:column !important; gap:24px !important; padding:28px !important; min-height:220px !important; max-height:500px !important; overflow:auto !important; }
body .demo-staff-chat-message { max-width:68ch !important; padding:0 !important; border:0 !important; background:transparent !important; }
body .demo-staff-chat-message p { font-size:15px !important; line-height:1.7 !important; margin:0 0 12px !important; }
body .demo-staff-chat-message .source { font-size:12px !important; font-weight:500 !important; color:var(--ui-accent) !important; margin:0 0 12px !important; }
body .demo-staff-chat-message.user { align-self:flex-end !important; width:fit-content !important; max-width:85% !important; padding:10px 14px !important; border-radius:10px !important; background:var(--ui-message-user) !important; }
body .demo-staff-chat-form { display:flex !important; align-items:flex-end !important; gap:12px !important; margin:0 24px !important; padding:7px 7px 7px 14px !important; border:1px solid var(--ui-border-strong) !important; border-radius:8px !important; background:var(--ui-composer) !important; }
body .demo-staff-chat-form textarea { flex:1; min-width:0; min-height:38px !important; padding:8px 0 !important; border:0 !important; outline:0 !important; resize:none; background:transparent !important; }
body .demo-staff-chat-form button { width:36px !important; min-height:36px !important; padding:0 !important; border:0 !important; background:var(--ui-primary-bg) !important; color:var(--ui-primary-text) !important; }
body .demo-handoff-note { margin:12px 28px 20px !important; padding:0 !important; color:var(--ui-muted) !important; font-size:12px !important; line-height:1.5 !important; }

/* Public-call demos follow Muse's open conversation geometry. Linear supplies
   the restrained type hierarchy; Ada supplies explicit call state. The only
   contained surfaces are the call attachment, messages, and input, not a stack
   of dashboard cards. Clinic workflow examples retain their separate actions. */
body.customer-demo-page .demo-shell { display:flex !important; flex-direction:column !important; height:100dvh !important; min-height:0 !important; padding-bottom:0 !important; }
body.customer-demo-page .demo-head { flex:0 0 auto !important; margin-bottom:0 !important; }
body.customer-demo-page .demo-intro { flex:0 0 auto !important; width:min(760px,calc(100% - 48px)) !important; margin:28px auto 0 !important; justify-content:center !important; text-align:center !important; }
body.customer-demo-page .demo-intro h1 { margin:0 !important; font-size:24px !important; line-height:1.3 !important; font-weight:600 !important; letter-spacing:-.025em !important; }
body.customer-demo-page .preview-label { display:none !important; }
body.customer-demo-page .demo-workspace { display:block !important; flex:1 1 0 !important; width:min(760px,calc(100% - 48px)) !important; min-height:0 !important; margin:0 auto !important; border:0 !important; border-radius:0 !important; background:transparent !important; overflow:visible !important; }
body.customer-demo-page .demo-thread { height:100% !important; min-height:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; overflow:visible !important; }
body.customer-demo-page .thread-head { flex:0 0 auto !important; justify-content:center !important; min-height:74px !important; padding:12px 0 20px !important; border:0 !important; text-align:center !important; }
body.customer-demo-page .thread-head h2 { font-size:16px !important; line-height:1.4 !important; font-weight:500 !important; letter-spacing:0 !important; }
body.customer-demo-page .thread-kicker { margin:4px 0 0 !important; font-size:13px !important; line-height:1.5 !important; font-weight:400 !important; color:var(--ui-muted) !important; }
body.customer-demo-page .thread-content { flex:1 1 0 !important; min-height:0 !important; display:flex !important; flex-direction:column !important; justify-content:flex-start !important; gap:24px !important; padding:24px 8px 20px !important; overflow-y:auto !important; scrollbar-width:thin; scrollbar-color:var(--ui-border-strong) transparent; overscroll-behavior:contain; }
/* The same conversation can include task decisions as well as messages. This
   opt-in spacing keeps those controls visible without changing type roles. */
body.customer-demo-page .thread-content[data-conversation-spacing="compact"] { gap:16px !important; padding:12px 8px !important; }
body.customer-demo-page .demo-conversation-start { flex:0 0 auto !important; width:100% !important; margin-top:auto !important; }
body.customer-demo-page .demo-conversation-empty { margin:0 0 28px !important; padding:0 !important; text-align:center !important; }
body.customer-demo-page .demo-empty-title { margin:0 0 6px !important; color:var(--ui-text) !important; font-size:19px !important; line-height:1.4 !important; font-weight:500 !important; }
body.customer-demo-page .demo-conversation-empty>p+p { margin:0 !important; font-size:14px !important; color:var(--ui-muted) !important; font-weight:400 !important; }
body.customer-demo-page .voice-demo { display:flex !important; order:0 !important; flex-wrap:wrap !important; align-items:flex-end !important; gap:14px 16px !important; width:min(600px,100%) !important; margin:0 auto !important; padding:18px 20px !important; border:1px solid var(--ui-border) !important; border-radius:18px !important; background:var(--ui-panel) !important; }
body.customer-demo-page .demo-request-choice { position:relative !important; display:grid !important; flex:1 1 180px !important; width:auto !important; max-width:100% !important; min-width:180px !important; gap:6px !important; margin:0 !important; }
body.customer-demo-page .demo-request-choice>span { margin:0 !important; color:var(--ui-muted) !important; font-size:13px !important; line-height:1.5 !important; font-weight:400 !important; }
body.customer-demo-page #demo-request-select { width:100% !important; min-height:44px !important; margin:0 !important; padding:8px 36px 8px 12px !important; border:1px solid var(--ui-border-strong) !important; border-radius:8px !important; background-color:var(--ui-sidebar) !important; font-size:16px !important; line-height:1.4 !important; font-weight:500 !important; color:var(--ui-text) !important; background-position:right 12px center !important; }
body.customer-demo-page #demo-request-select:hover { background-color:var(--ui-hover) !important; }
body.customer-demo-page .voice-actions { display:flex !important; flex:0 0 auto !important; align-items:center !important; gap:8px !important; margin:0 !important; }
body.customer-demo-page .voice-actions button { display:inline-flex !important; justify-content:center !important; align-items:center !important; gap:8px !important; width:auto !important; min-height:44px !important; padding:10px 15px !important; border:1px solid var(--ui-border-strong) !important; border-radius:24px !important; background:transparent !important; color:var(--ui-text) !important; font-size:14px !important; line-height:1.4 !important; font-weight:500 !important; white-space:nowrap; }
body.customer-demo-page .voice-actions button:hover { border-color:var(--ui-border-strong) !important; background:var(--ui-hover) !important; }
body.customer-demo-page .voice-actions #play-handoff-demo { border-color:var(--ui-primary-bg) !important; background:var(--ui-primary-bg) !important; color:var(--ui-primary-text) !important; }
body.customer-demo-page .voice-actions #play-handoff-demo::before { width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:6px solid currentColor; content:''; }
body.customer-demo-page .voice-actions #play-handoff-demo[data-playback-state=playing]::before { width:7px; height:7px; border:0; background:currentColor; }
body.customer-demo-page .voice-actions #play-handoff-demo[data-playback-state=loading]::before { width:10px; height:10px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; background:transparent; animation:demo-playback-loading 1s linear infinite; }
body.customer-demo-page .voice-actions #play-handoff-demo[data-playback-state=paused]::before { width:8px; height:9px; border:0; background:linear-gradient(to right,currentColor 0 3px,transparent 3px 5px,currentColor 5px); }
body.customer-demo-page .voice-actions #play-handoff-demo[data-playback-state=connected]::before { content:none; }
body[data-clinic-voice-unavailable=true] #talk-demo { display:none !important; }
body.customer-demo-page .demo-clinic-voice-note,body.customer-demo-page .demo-playback-status { flex:1 1 100%; margin:10px 0 0; color:var(--ui-muted); font-size:13px; line-height:1.45; white-space:normal; }
body.customer-demo-page .demo-playback-status:empty { display:none; }
@keyframes demo-playback-loading { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { body.customer-demo-page .voice-actions #play-handoff-demo[data-playback-state=loading]::before { animation:none; } }
body.customer-demo-page .voice-actions #talk-demo { background:transparent !important; color:var(--ui-text) !important; }
body.customer-demo-page .voice-actions #talk-demo[data-active=true] { border-color:var(--ui-error) !important; color:var(--ui-error) !important; }
body.customer-demo-page .voice-state { flex:1 1 100% !important; display:flex !important; align-items:center !important; gap:12px !important; margin:0 !important; padding:14px 0 0 !important; border:0 !important; border-top:1px solid var(--ui-border) !important; border-radius:0 !important; background:transparent !important; }
body.customer-demo-page .voice-state .messages { flex:0 0 38px; width:38px !important; }
body.customer-demo-page .voice-state #status { color:var(--ui-text) !important; font-size:14px !important; font-weight:500 !important; }
body.customer-demo-page .voice-state #status.error { color:var(--ui-error) !important; }
body.customer-demo-page .voice-state:has(#status.error) .messages { display:none !important; }
body.customer-demo-page .voice-state .status-detail { color:var(--ui-muted) !important; font-size:13px !important; margin:3px 0 0 !important; }
body.customer-demo-page .voice-secondary-actions { width:100% !important; justify-content:flex-end !important; gap:8px !important; margin:0 !important; }
body.customer-demo-page .voice-secondary-actions button { min-height:36px !important; padding:6px 10px !important; border:0 !important; border-radius:18px !important; background:transparent !important; }
body.customer-demo-page .demo-staff-chat-log { flex:0 0 auto !important; gap:16px !important; min-height:0 !important; max-height:none !important; overflow:visible !important; margin:0 !important; padding:0 !important; }
body.customer-demo-page .demo-staff-chat-message { align-self:flex-start !important; width:fit-content !important; max-width:min(620px,90%) !important; margin:0 !important; padding:16px 20px !important; border:0 !important; border-radius:20px 20px 20px 5px !important; background:var(--ui-message) !important; box-shadow:none !important; }
body.customer-demo-page .demo-staff-chat-message p { margin:0 !important; font-size:15px !important; line-height:1.65 !important; font-weight:400 !important; color:var(--ui-text) !important; }
body.customer-demo-page .demo-staff-chat-message .source { margin:0 0 8px !important; font-size:15px !important; line-height:1.5 !important; font-weight:600 !important; color:var(--ui-text) !important; }
body.customer-demo-page .demo-staff-chat-message.request { width:100% !important; max-width:100% !important; border:1px solid var(--ui-border) !important; border-radius:14px !important; background:var(--ui-panel) !important; }
body.customer-demo-page .demo-staff-chat-message.user { align-self:flex-end !important; max-width:85% !important; border-radius:20px 20px 5px 20px !important; background:var(--ui-message-user) !important; padding:12px 18px !important; }
body.customer-demo-page .demo-staff-chat-message.pending { padding:12px 18px !important; }
body.customer-demo-page .demo-staff-chat-message.pending p { color:var(--ui-muted) !important; }
body.customer-demo-page .demo-staff-chat-form { flex:0 0 auto !important; min-height:58px !important; align-items:center !important; gap:10px !important; margin:8px 0 10px !important; padding:7px 8px 7px 20px !important; border:1px solid var(--ui-border-strong) !important; border-radius:30px !important; background:var(--ui-message) !important; box-shadow:0 4px 24px #0002 !important; }
body.customer-demo-page .demo-staff-chat-form textarea { min-height:38px !important; height:var(--ui-composer-height,auto) !important; max-height:160px !important; overflow-y:auto; resize:none !important; font-size:15px !important; line-height:1.5 !important; }
body.customer-demo-page .demo-staff-chat-form textarea:disabled { opacity:1 !important; }
body.customer-demo-page .demo-staff-chat-form textarea::placeholder { color:var(--ui-muted) !important; opacity:1 !important; }
body.customer-demo-page .demo-staff-chat-form button[type=submit] { flex:0 0 40px !important; width:40px !important; height:40px !important; min-height:40px !important; padding:0 !important; border-radius:50% !important; font-size:22px !important; font-weight:400 !important; line-height:1 !important; }
body.customer-demo-page .demo-preview-details { flex:0 0 auto !important; padding:0 8px 16px !important; margin:0 !important; border:0 !important; font-size:13px !important; color:var(--ui-muted) !important; text-align:center !important; }
body.customer-demo-page .demo-preview-details>summary { width:fit-content !important; min-height:28px !important; margin:0 auto !important; padding:2px 4px !important; border:0 !important; background:transparent !important; cursor:pointer; }
body.customer-demo-page .demo-preview-details .demo-handoff-note { max-width:64ch !important; margin:10px auto 4px !important; font-size:13px !important; line-height:1.55 !important; text-align:left !important; }
body.voice-only-demo-page .demo-workspace { display:flex !important; flex-direction:column !important; gap:20px !important; min-height:0 !important; align-items:center !important; justify-content:center !important; }
body.voice-only-demo-page .voice-demo { justify-content:center !important; text-align:center !important; }
body.voice-only-demo-page .voice-demo>h2 { display:block !important; width:100% !important; margin:0 !important; font-size:19px !important; font-weight:500 !important; }
body.voice-only-demo-page .voice-demo>p { display:block !important; width:100% !important; margin:0 !important; color:var(--ui-muted) !important; }
body.voice-only-demo-page .demo-preview-details { order:1 !important; }
body.voice-only-demo-page .voice-actions #run-demo { border-color:var(--ui-primary-bg) !important; background:var(--ui-primary-bg) !important; color:var(--ui-primary-text) !important; }

/* Clinic rules and route choices remain within the same conversation canvas. */
body.customer-demo-page .clinic-demo-work-controls { flex:0 0 auto; margin:0 8px 8px; padding:0; border:0; color:var(--ui-text); text-align:left; }
body.customer-demo-page .clinic-demo-work-controls>summary { width:fit-content; min-height:44px; padding:10px 0; color:var(--ui-muted); font-size:13px; cursor:pointer; }
body.customer-demo-page #clinic-demo-work-detail { margin-top:8px; padding:18px; border:1px solid var(--ui-border); border-radius:14px; background:var(--ui-panel); }
body.customer-demo-page .clinic-demo-case-layout { display:grid; gap:20px; }
body.customer-demo-page .clinic-demo-case-context:empty { display:none; }
body.customer-demo-page .clinic-demo-case-conversation:has(.clinic-demo-case-context:empty):not(:has(.clinic-demo-match-criteria,.clinic-demo-reminder-preview)) { display:none; }
body.customer-demo-page .clinic-demo-work-controls :is(p,dl,ul) { margin:0; font-size:14px; line-height:1.6; }
body.customer-demo-page .clinic-demo-work-controls :is(legend,.clinic-demo-route-response>span,.clinic-demo-static-next>span,.clinic-demo-route-next>strong,.clinic-demo-match-criteria>span,.clinic-demo-next-label) { display:block; margin:0 0 8px; padding:0; color:var(--ui-muted); font-size:13px; font-weight:500; }
body.customer-demo-page .clinic-demo-route-picker { min-width:0; margin:0 0 18px; padding:0; border:0; }
body.customer-demo-page .clinic-demo-route-picker [role=group] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.customer-demo-page .clinic-demo-route-picker button { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; min-height:64px; padding:10px 12px; border:1px solid var(--ui-border); border-radius:8px; background:transparent; color:var(--ui-text); text-align:left; font-size:14px; line-height:1.4; }
body.customer-demo-page .clinic-demo-route-picker button[aria-pressed=true] { border-color:var(--ui-border-strong); background:var(--ui-hover); }
body.customer-demo-page .clinic-demo-route-result { font-size:12px; color:var(--ui-muted); }
body.customer-demo-page .clinic-demo-route-outcome { margin-top:16px; padding-top:16px; border-top:1px solid var(--ui-border); }
body.customer-demo-page :is(.clinic-demo-route-next,.clinic-demo-static-next) { margin-top:16px; }
body.customer-demo-page .clinic-demo-route-link { display:inline-flex; align-items:center; min-height:44px; margin:8px 12px 0 0; text-decoration:underline; text-underline-offset:3px; font-size:14px; }
body.customer-demo-page .clinic-demo-work-controls :is(.clinic-demo-workflow-trigger,.clinic-demo-route-preview-note,.clinic-demo-route-note) { color:var(--ui-muted); font-size:13px; }
body.customer-demo-page .clinic-demo-source-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
body.customer-demo-page .clinic-demo-source-facts dt { margin-bottom:4px; color:var(--ui-muted); font-size:12px; }
body.customer-demo-page .clinic-demo-source-facts dd { margin:0; font-size:14px; }
body.customer-demo-page .clinic-demo-source-evidence { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:8px; font-size:13px; }
body.customer-demo-page .clinic-demo-match-criteria { margin-top:16px; }
body.customer-demo-page .clinic-demo-match-criteria ul { display:flex; flex-wrap:wrap; gap:8px 16px; padding:0; list-style:none; color:var(--ui-muted); font-size:13px; }
body.customer-demo-page .demo-preview-details:has(.clinic-demo-more)[open] { max-height:36dvh; overflow-y:auto; }
body.customer-demo-page .clinic-demo-more { max-width:64ch; margin:14px auto 0; text-align:left; }
body.customer-demo-page .clinic-demo-more>summary { min-height:44px; padding:10px 0; cursor:pointer; }
body.customer-demo-page .clinic-demo-references { display:grid; gap:16px; padding:8px 0 20px; }
body.customer-demo-page .clinic-demo-references :is(p,dl) { margin:0; }
body.customer-demo-page .clinic-demo-references dl { display:grid; gap:18px; }
body.customer-demo-page .clinic-demo-references dt { margin-bottom:4px; color:var(--ui-text); font-weight:500; }
body.customer-demo-page .clinic-demo-references dd { margin:0; overflow-wrap:anywhere; }
body.customer-demo-page .clinic-demo-references nav { display:flex; flex-wrap:wrap; gap:12px; }
body.customer-demo-page .clinic-demo-references a { text-decoration:underline; }
@media(max-width:600px){
 body.customer-demo-page .clinic-demo-route-picker [role=group],body.customer-demo-page .clinic-demo-source-facts { grid-template-columns:minmax(0,1fr); }
 body.customer-demo-page .clinic-demo-work-controls { margin-inline:0; }
 body.customer-demo-page #clinic-demo-work-detail { padding:16px; }
 body.customer-demo-page .demo-intro { width:calc(100% - 40px) !important; margin:22px auto 0 !important; }
 body.customer-demo-page .demo-intro h1 { font-size:24px !important; }
 body.customer-demo-page .demo-workspace { width:calc(100% - 32px) !important; }
 body.customer-demo-page .demo-thread { height:100% !important; min-height:0 !important; }
 body.customer-demo-page .thread-head { min-height:70px !important; padding:10px 0 18px !important; }
 body.customer-demo-page .thread-content { gap:20px !important; padding:16px 0 !important; }
 body.customer-demo-page .demo-conversation-empty { margin-bottom:24px !important; }
 body.customer-demo-page .demo-empty-title { font-size:18px !important; }
 body.customer-demo-page .voice-demo { padding:14px 16px !important; gap:12px !important; }
 body.customer-demo-page .demo-request-choice { flex-basis:100% !important; width:100% !important; }
 body.customer-demo-page .voice-actions { width:100% !important; }
 body.customer-demo-page .voice-actions button { flex:1 1 0 !important; min-width:0 !important; }
 body.customer-demo-page .demo-staff-chat-message { max-width:94% !important; padding:14px 16px !important; }
 body.customer-demo-page .demo-staff-chat-form { margin-top:4px !important; padding-left:16px !important; }
 body.customer-demo-page .demo-preview-details { padding-bottom:max(12px,env(safe-area-inset-bottom)) !important; }
}

@media(max-width:680px){
  body[data-ui-family] .ui-masthead { height:64px !important; min-height:64px !important; gap:12px !important; padding-inline:20px !important; margin-bottom:28px !important; }
  body[data-ui-family] .ui-brand :is(.sunflower,.clinic-brand-mark,.brand-mark) { width:40px !important; height:40px !important; flex-basis:40px !important; }
  body[data-ui-family] .ui-brand :is(.ui-wordmark,.brand-name,.home-brand-name,.clinic-brand-name,span:not(.sunflower):not(.clinic-brand-mark):not(.brand-mark),strong) { font-size:20px !important; }
  body :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px !important; min-height:44px !important; }
  body :is(.home-masthead,.demo-head,.setup-head,.plans-head,.agent-head,.app-head,.availability-header,.menu-head,.clinic-masthead,.phone-demo-head) { height:64px !important; min-height:64px !important; padding-inline:20px !important; }
  body .head-actions { gap:14px !important; }
  body .head-actions .setup-link { min-height:36px !important; padding:8px 12px !important; }
  body .demo-head .head-actions .plans-link { display:inline-flex !important; }
  body .demo-head .head-actions { gap:10px !important; }
  body .demo-head .demo-setup-full { display:none; }
  body .demo-head .demo-setup-compact { display:inline; }
  body .linial-install-action { display:none !important; }
}
}

/* Tab-local fictional clinic rehearsal, shared with the preview surface. */
.clinic-rehearsal{padding:16px;overflow-wrap:anywhere;border-top:1px solid var(--border,#8885)}.clinic-rehearsal button,.clinic-rehearsal select{font:inherit;max-width:100%;min-height:44px;margin:4px;padding:8px;white-space:normal}.clinic-rehearsal-actions{display:flex;flex-wrap:wrap;gap:4px}.clinic-rehearsal p{white-space:pre-wrap}
.clinic-rehearsal textarea{display:block;width:100%;box-sizing:border-box;min-height:72px;font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:8px;padding:8px}.clinic-rehearsal button,.clinic-rehearsal select{color:inherit;background:transparent;border:1px solid #8888;border-radius:8px}.clinic-rehearsal button:focus-visible,.clinic-rehearsal select:focus-visible{outline:2px solid currentColor;outline-offset:2px}

body.customer-demo-page .voice-actions #end-demo-call[hidden]{display:none !important}
