/* Dalia native model selector: the composer owns this UI. */
body.wf-crm #daliaPanel .dalia-model-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  max-width: min(200px, 44vw);
  height: 32px;
  padding: 0 9px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--dt-muted);
  font: 500 12.5px/1 'Inter', system-ui, sans-serif;
  cursor: pointer;
}
body.wf-crm #daliaPanel .dalia-model-trigger:hover,
body.wf-crm #daliaPanel .dalia-model-trigger[aria-expanded="true"] { background: var(--dt-hover); color: var(--dt-text); }
body.wf-crm #daliaPanel .dalia-model-trigger:focus-visible { outline: 2px solid var(--dt-border-strong); outline-offset: 2px; }
body.wf-crm #daliaPanel .dalia-model-trigger > .ti { flex: none; font-size: 15px; }
body.wf-crm #daliaPanel .dalia-model-trigger .ti-chevron-down { font-size: 12px; opacity: .7; }
body.wf-crm #daliaPanel #daliaEffortLabel { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.wf-crm #daliaPanel .dalia-model-trigger__reason { flex: none; color: var(--dt-muted); }
body.wf-crm #daliaPanel .dalia-model-trigger__reason[hidden] { display: none !important; }
body.wf-crm #daliaPanel .dalia-model-trigger[hidden],
body.wf-crm #daliaPanel .dalia-model-option[hidden],
body.wf-crm #daliaPanel .dalia-model-options[hidden],
body.wf-crm #daliaPanel .dalia-model-results[hidden],
body.wf-crm #daliaPanel .dalia-model-reason[hidden] { display: none !important; }
body.wf-crm #daliaPanel #daliaEffortPanel {
  left: 8px;
  right: auto;
  bottom: calc(100% + 8px);
  width: min(340px, calc(100vw - 48px));
  max-height: min(520px, 62dvh);
  padding: 6px;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  border: 0;
  border-radius: 14px;
  background: var(--dt-overlay);
  color: var(--dt-text);
  box-shadow: var(--dt-pop-shadow);
  font-family: var(--font-sans);
}
body.wf-crm #daliaPanel #daliaEffortPanel[hidden] { display: none !important; }
body.wf-crm #daliaPanel .dalia-model-panel { min-width: 0; padding: 0; }
body.wf-crm #daliaPanel .dalia-model-options,
body.wf-crm #daliaPanel .dalia-model-results { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body.wf-crm #daliaPanel .dalia-model-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 8px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--dt-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
body.wf-crm #daliaPanel .dalia-model-option:hover,
body.wf-crm #daliaPanel .dalia-model-option:focus-visible { background: var(--dt-hover); outline: none; }
body.wf-crm #daliaPanel .dalia-model-option[aria-selected="true"] { background: var(--dt-active); }
body.wf-crm #daliaPanel .dalia-model-option > .ti { flex: none; font-size: 17px; color: var(--dt-muted); }
body.wf-crm #daliaPanel .dalia-model-option .dalia-model-check { margin-left: auto; color: var(--dt-text); visibility: hidden; }
body.wf-crm #daliaPanel .dalia-model-option[aria-selected="true"] .dalia-model-check { visibility: visible; }
body.wf-crm #daliaPanel .dalia-model-text { display: flex; flex: 1 1 auto; flex-direction: column; gap: 3px; min-width: 0; }
body.wf-crm #daliaPanel .dalia-model-text b { font-size: 13px; font-weight: 600; line-height: 1.25; }
body.wf-crm #daliaPanel .dalia-model-text small { color: var(--dt-muted); font-size: 11.5px; line-height: 1.3; }
body.wf-crm #daliaPanel .dalia-model-text b,
body.wf-crm #daliaPanel .dalia-model-text small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.wf-crm #daliaPanel .dalia-model-separator { height: 1px; margin: 6px 4px; background: var(--dt-border); }
body.wf-crm #daliaPanel .dalia-model-default,
body.wf-crm #daliaPanel .dalia-model-more {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  padding: 7px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--dt-muted);
  font: 500 12.5px/1.25 'Inter', system-ui, sans-serif;
  text-align: left;
  cursor: pointer;
}
body.wf-crm #daliaPanel .dalia-model-default small { color: var(--dt-muted); font-size: 11.5px; font-weight: 400; }
body.wf-crm #daliaPanel .dalia-model-default:disabled { opacity: .45; cursor: default; }
body.wf-crm #daliaPanel .dalia-model-default:hover:not(:disabled),
body.wf-crm #daliaPanel .dalia-model-default:focus-visible,
body.wf-crm #daliaPanel .dalia-model-more:hover,
body.wf-crm #daliaPanel .dalia-model-more:focus-visible { background: var(--dt-hover); color: var(--dt-text); outline: none; }
body.wf-crm #daliaPanel .dalia-model-more .ti-chevron-down { margin-left: auto; transition: transform .15s; }
body.wf-crm #daliaPanel .dalia-model-more[aria-expanded="true"] .ti-chevron-down { transform: rotate(180deg); }
body.wf-crm #daliaPanel .dalia-model-reason { display: flex; align-items: center; gap: 8px; padding: 8px 10px; }
body.wf-crm #daliaPanel .dalia-model-reason > .ti { flex: none; font-size: 17px; color: var(--dt-muted); }
body.wf-crm #daliaPanel .dalia-model-segments { display: inline-flex; flex: none; gap: 2px; padding: 2px; border-radius: 9px; background: var(--dt-hover); }
body.wf-crm #daliaPanel .dalia-model-segments button {
  min-height: 27px;
  padding: 0 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--dt-muted);
  font: 500 11.5px/1 'Inter', system-ui, sans-serif;
  cursor: pointer;
}
body.wf-crm #daliaPanel .dalia-model-segments button[aria-pressed="true"] { background: var(--dt-surface); color: var(--dt-text); box-shadow: none; }
body.wf-crm #daliaPanel .dalia-model-segments button:focus-visible { outline: 2px solid var(--dt-border-strong); outline-offset: 1px; }
body.wf-crm #daliaPanel .dalia-model-group { padding: 10px 10px 4px; color: var(--dt-muted); font-size: 11px; font-weight: 600; }
/* The search has one frame: the wrapper owns focus and the field remains borderless. */
body.wf-crm #daliaPanel .dalia-model-search {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin: 4px 4px 6px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: var(--dt-surface);
  color: var(--dt-muted);
}
body.wf-crm #daliaPanel .dalia-model-search:focus-within { border-color: var(--dt-border-strong); box-shadow: none; outline: none; }
body.wf-crm #daliaPanel .dalia-model-search > .ti { flex: none; font-size: 15px; }
body.wf-crm #daliaPanel .dalia-model-search input[type="search"],
body.wf-crm #daliaPanel .dalia-model-search input[type="search"]:is(:focus, :focus-visible) {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 34px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--dt-text) !important;
  font: 400 12.5px/1.3 'Inter', system-ui, sans-serif;
  appearance: none;
  -webkit-appearance: none;
}
body.wf-crm #daliaPanel .dalia-model-search input[type="search"]::placeholder { color: var(--dt-muted); opacity: .8; }
body.wf-crm #daliaPanel .dalia-model-search input[type="search"]::-webkit-search-cancel-button { display: none; }
body.wf-crm #daliaPanel .dalia-model-clear { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--dt-muted); cursor: pointer; }
body.wf-crm #daliaPanel .dalia-model-clear:hover { background: var(--dt-hover); color: var(--dt-text); }
body.wf-crm #daliaPanel .dalia-model-clear:focus-visible { outline: 2px solid var(--dt-border-strong); outline-offset: 1px; }
body.wf-crm #daliaPanel .dalia-model-clear[hidden] { display: none !important; }
body.wf-crm #daliaPanel .dalia-model-empty { padding: 20px 12px; color: var(--dt-muted); font-size: 12.5px; line-height: 1.4; text-align: center; }
@media (max-width: 420px) {
  body.wf-crm #daliaPanel #daliaEffortPanel { width: min(340px, calc(100vw - 48px)); }
  body.wf-crm #daliaPanel .dalia-model-reason { flex-wrap: wrap; }
  body.wf-crm #daliaPanel .dalia-model-reason > .dalia-model-text { min-width: 100px; }
  body.wf-crm #daliaPanel .dalia-model-segments { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.wf-crm #daliaPanel #daliaEffortPanel { animation: none; }
  body.wf-crm #daliaPanel .dalia-model-more .ti-chevron-down { transition: none; }
}

/* Native Dalia: the same orb in Ask, the header and the conversation hero. */
body.wf-crm {
  --dalia-native-orb:
    radial-gradient(ellipse at 27% 88%, #fff 0%, #e9faff 15%, transparent 43%),
    radial-gradient(ellipse at 80% 91%, #eefaff 0%, #a4e2ff 22%, transparent 53%),
    radial-gradient(ellipse at 34% 10%, #439aff 0%, transparent 55%),
    linear-gradient(155deg, #176bf4 5%, #0750e4 48%, #3a9bff 85%, #a7e7ff);
}
body.wf-crm #botondaliatoparri:not(.u-hidden) { display: flex; align-items: center; gap: 4px; }
/* The panel header orb identifies the assistant; audio belongs to its dedicated controls. */
body.wf-crm #daliaPanel .dalia-panel__brand {
  display: inline-flex; flex: 0 0 44px; align-items: center; justify-content: center;
  width: 44px; height: 44px;
}
body.wf-crm #daliaPanel .dalia-panel__brand .dalia-panel__head-orb {
  width: 32px; height: 32px; background: var(--dalia-native-orb); box-shadow: none; animation: none;
}
body.wf-crm #wfVoiceBtn,
body.wf-crm #daliaVoiceToggle,
body.wf-crm #daliaVoiceControls button {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 6px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--dt-muted);
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
body.wf-crm #wfVoiceBtn:hover:not(:disabled),
body.wf-crm #daliaVoiceToggle:hover:not(:disabled),
body.wf-crm #daliaVoiceControls button:hover:not(:disabled) { background: var(--dt-hover); color: var(--dt-text); }
body.wf-crm #wfVoiceBtn:focus-visible,
body.wf-crm #daliaVoiceToggle:focus-visible,
body.wf-crm #daliaVoiceControls button:focus-visible,
body.wf-crm #daliaPanel button#daliaVoiceHero:focus-visible {
  outline: 2px solid #64b7ff;
  outline-offset: 2px;
}
body.wf-crm #wfVoiceBtn .dalia-orb-mini,
body.wf-crm #daliaVoiceToggle .dalia-orb-mini { width: 32px; height: 32px; }
body.wf-crm #wfVoiceBtn .dalia-orb-mini,
body.wf-crm #daliaVoiceToggle .dalia-orb-mini,
body.wf-crm #daliaPanel button#daliaVoiceHero {
  background: var(--dalia-native-orb);
  box-shadow: inset 0 0 0 1px rgba(235, 250, 255, .2), 0 2px 8px rgba(15, 104, 240, .14);
  transform-origin: center;
  animation: none;
}
body.wf-crm #daliaPanel button#daliaVoiceHero {
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
body.wf-crm #wfVoiceBtn:disabled,
body.wf-crm #daliaVoiceToggle:disabled,
body.wf-crm #daliaVoiceControls button:disabled,
body.wf-crm #daliaPanel button#daliaVoiceHero:disabled { opacity: .45; cursor: not-allowed; }
body.wf-crm #daliaVoiceControls {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}
body.wf-crm #daliaVoiceControls button i { font-size: 19px; }
body.wf-crm #daliaVoiceToggle[aria-pressed="true"],
body.wf-crm #daliaVoiceControls button[aria-pressed="true"] { background: var(--dt-hover); color: var(--dt-text); }
body.wf-crm #daliaVoiceControls [data-dalia-voice-action="stop"] { color: #df5151; }
body.wf-crm #daliaVoiceControls [data-dalia-voice-action="stop"]:hover:not(:disabled) { background: rgba(223, 81, 81, .1); }
body.wf-crm #wfVoiceBtn[hidden],
body.wf-crm #daliaVoiceToggle[hidden],
body.wf-crm #daliaVoiceSessionStatus[hidden],
body.wf-crm #daliaVoiceControls[hidden],
body.wf-crm #daliaVoiceControls [hidden] { display: none !important; }
body.wf-crm #daliaVoiceSessionStatus {
  display: block;
  min-width: 0;
  min-height: 18px;
  max-width: 100%;
  color: var(--dt-muted);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 18px;
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}
body.wf-crm #daliaVoiceSessionStatus:empty { display: none; }
body.wf-crm #daliaVoiceStage:is([data-state="listening"], [data-state="speaking"], [data-error="true"]) #daliaVoiceSessionStatus {
  color: var(--dt-text);
}

/* Voice has its own surface in the panel flow. The canvas decorates the
   existing conversation; the chat and composer keep their own space. */
body.wf-crm #daliaVoiceStage {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 12px 16px 10px;
  border-bottom: 1px solid var(--dt-border);
  background: transparent;
  box-sizing: border-box;
}
body.wf-crm #daliaVoiceStage[hidden] { display: none !important; }
/* Neo's existing audio engine is headless in the CRM; this native voice
   surface owns all controls and Dalia owns the single visible conversation. */
#neoWidget,
#neoWidget[hidden] { display: none !important; }
/* The message list yields space to the active voice surface on short screens;
   it scrolls while the composer remains fully within the panel. */
body.wf-crm #daliaPanel[data-voice-active="true"] #daliaChatMsgs { min-height: 0; }
body.wf-crm #daliaVoiceOrb {
  position: relative;
  flex: 0 0 auto;
  width: 104px;
  height: 104px;
  overflow: hidden;
  isolation: isolate;
  border-radius: 50%;
  background: var(--dalia-native-orb);
  box-shadow: inset 0 0 0 1px rgba(235, 250, 255, .2), 0 5px 20px -10px rgba(15, 104, 240, .25);
  pointer-events: none;
}
body.wf-crm #daliaVoiceOrbCanvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
}
body.wf-crm #daliaVoiceStage .dalia-voice-stage__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
}
body.wf-crm #daliaVoiceStage[data-error="true"] {
  gap: 0;
  padding: 12px 16px;
}
body.wf-crm #daliaVoiceStage[data-error="true"] #daliaVoiceOrb { display: none; }
@media (max-height: 680px) {
  body.wf-crm #daliaVoiceStage {
    flex-direction: row;
    justify-content: center;
    gap: 12px;
    padding: 12px;
  }
  body.wf-crm #daliaVoiceOrb { width: 96px; height: 96px; }
  body.wf-crm #daliaVoiceStage .dalia-voice-stage__body {
    flex: 1 1 auto;
    align-items: flex-start;
    width: auto;
  }
  body.wf-crm #daliaVoiceSessionStatus { text-align: left; }
  body.wf-crm #daliaVoiceControls { justify-content: flex-start; }
}

body.wf-crm #wfVoiceBtn[data-state="listening"] .dalia-orb-mini,
body.wf-crm #daliaVoiceToggle[data-state="listening"] .dalia-orb-mini,
body.wf-crm #daliaPanel button#daliaVoiceHero[data-state="listening"] { animation: daliaNativeListen 3.2s ease-in-out infinite; }
body.wf-crm #wfVoiceBtn[data-state="speaking"] .dalia-orb-mini,
body.wf-crm #daliaVoiceToggle[data-state="speaking"] .dalia-orb-mini,
body.wf-crm #daliaPanel button#daliaVoiceHero[data-state="speaking"] { animation: daliaNativeSpeak 1.3s ease-in-out infinite; }
body.wf-crm #wfVoiceBtn[data-state="thinking"] .dalia-orb-mini,
body.wf-crm #daliaVoiceToggle[data-state="thinking"] .dalia-orb-mini,
body.wf-crm #wfVoiceBtn[data-state="connecting"] .dalia-orb-mini,
body.wf-crm #daliaVoiceToggle[data-state="connecting"] .dalia-orb-mini,
body.wf-crm #daliaPanel button#daliaVoiceHero[data-state="thinking"],
body.wf-crm #daliaPanel button#daliaVoiceHero[data-state="connecting"] { animation: daliaNativeListen 2s ease-in-out infinite; }
@keyframes daliaNativeListen { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } }
@keyframes daliaNativeSpeak { 0%, 100% { transform: scale(1); } 35% { transform: scale(1.08); } 70% { transform: scale(.99); } }
@media (prefers-reduced-motion: reduce) {
  body.wf-crm #wfVoiceBtn .dalia-orb-mini,
  body.wf-crm #daliaVoiceToggle .dalia-orb-mini,
  body.wf-crm #daliaPanel button#daliaVoiceHero { animation: none !important; }
}

/* Voice controls stay inside Dalia; the original orb is the sole navbar orb. */
body.wf-crm #wfVoiceBtn { display: none !important; }

/* ══════════════════════════════════════════════════════════════════════════
 * §17 · Columna de Dalia como el panel New chat de ElevenLabs (26-10)
 * Solo ASPECTO del estado vacío y del compositor del chat nativo dentro del CRM (body.wf-crm la pone webfusion-crm.js:533).
 * Mismo DOM de siempre: index.html:635 (hero) y :658 (composer) y 165_appDALIA.js:6190-6430 (acciones de arranque). Gana a
 * dalia.css §09 (#daliaPanel …) y a openmcp/dalia-extra.css (#daliaPanel …) por especificidad y a las reglas de arriba de este
 * fichero por orden. Solo tokens --dt-* ; sin sombras (el único degradado es el orbe) y sin tocar mecánica (position/[hidden]/
 * pointer-events/animaciones de entrada). Vale para los dos modos del panel (dock y pop): el DOM es el mismo.
 * ────────────────────────────────────────────────────────────────────────── */

/* 17.1 · Estado vacío centrado en el hueco libre: div#daliaChatHero.dalia-chat__hero (index.html:635) ya es absoluto sobre el
   composer y centra en columna; aquí solo aire y tipografía. */
body.wf-crm #daliaPanel .dalia-chat__hero { gap: 4px; padding-inline: 20px; }
/* Orbe de 36 px con grano: button#daliaVoiceHero (index.html:636). Mismo --dalia-native-orb del topbar (definido arriba, en
   body.wf-crm, webfusion-crm.css:174), sin aro interior ni sombra (las ponían la regla de :213-220 de este fichero y dalia.css:4057).
   .dalia-orb-mini no tiene pseudo-elementos y su respiración (daliaOrbBreathe) ya la anula :217; las de estado (:342-352) solo
   escalan, así que overflow:hidden no recorta nada. */
body.wf-crm #daliaPanel button#daliaVoiceHero.dalia-chat__hero-orb {
  position: relative; isolation: isolate; overflow: hidden;
  width: 36px; height: 36px; min-width: 36px; min-height: 36px; margin-bottom: 10px;
  border-radius: 50%; background: var(--dalia-native-orb); box-shadow: none;
}
body.wf-crm #daliaPanel button#daliaVoiceHero.dalia-chat__hero-orb::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: var(--dt-grain) 0 0 / 96px 96px repeat; mix-blend-mode: overlay; opacity: .3;
}
body.wf-crm #daliaPanel button#daliaVoiceHero.dalia-chat__hero-orb:focus-visible {
  outline: 0; box-shadow: 0 0 0 1px var(--dt-focus), 0 0 0 4px var(--dt-focus-ring);
}
/* Título 15/600 en Inter (h2#daliaChatGreeting, index.html:637; el texto lo pone showHero) y pista de dos líneas en --dt-muted
   (p.dalia-chat__hero-tag, index.html:638). */
body.wf-crm #daliaPanel .dalia-chat__hero-greet { font: 600 15px/1.3 var(--font-sans); letter-spacing: -.01em; color: var(--dt-text); }
body.wf-crm #daliaPanel .dalia-chat__hero-tag { max-width: 260px; margin-top: 2px; font-size: 13px; line-height: 1.5; color: var(--dt-muted); }

/* 17.2 · Acciones de arranque, silenciosas: filas de 1 px a una columna en el host div#daliaChatQuickActions
   (index.html:639; daliaStarterHost, 165_appDALIA.js:6191). El aire sobre el host solo en la vista de sugerencias: al abrir el
   catálogo o un grupo (.is-browsing-actions, dalia.css:1847-1863) el hero pasa a flex-start y el host debe seguir a margin-top 0. */
body.wf-crm #daliaPanel .dalia-chat__quick-actions { width: min(100%, 360px); }
body.wf-crm #daliaPanel .dalia-chat__hero:not(.is-browsing-actions) .dalia-chat__quick-actions { margin-top: 18px; }
body.wf-crm #daliaPanel .dalia-starter__label { margin: 0 0 6px 2px; }                               /* p, 165_appDALIA.js:6385 */
body.wf-crm #daliaPanel .dalia-starter__suggestions { grid-template-columns: 1fr; gap: 6px; }        /* div, :6389 */
body.wf-crm #daliaPanel .dalia-starter__skeleton { min-height: 40px; border-radius: var(--dt-radius); } /* span, :6468: la carga ya no salta de 62 a 40 */
body.wf-crm #daliaPanel .dalia-starter__action {                                                    /* button, :6316 */
  min-height: 40px; gap: 10px; padding: 7px 10px;
  border: 0; border-radius: var(--dt-radius); background: var(--dt-surface); box-shadow: none;
  transition: background-color var(--dt-dur-1) var(--dt-ease), border-color var(--dt-dur-1) var(--dt-ease);
}
body.wf-crm #daliaPanel .dalia-starter__action:hover { border-color: var(--dt-border-strong); background: var(--dt-hover); transform: none; }
body.wf-crm #daliaPanel .dalia-starter__action .dalia-starter__icon {                               /* span > i.ti, :6295 */
  flex-basis: 26px; width: 26px; height: 26px; border-radius: var(--dt-radius-sm);
  background: var(--dt-surface-2); color: var(--dt-muted); font-size: 14px;
}
body.wf-crm #daliaPanel .dalia-starter__title { font-size: 13px; font-weight: 500; }                 /* span, :6321 */
body.wf-crm #daliaPanel .dalia-starter__desc { font-size: 11.5px; color: var(--dt-faint); }          /* span, :6326 */
body.wf-crm #daliaPanel .dalia-starter__arrow { font-size: 13px; color: var(--dt-faint); }           /* i, :6332 */
body.wf-crm #daliaPanel .dalia-starter__all {                                                       /* button, :6398 */
  min-height: 32px; margin-top: 6px; padding: 0 10px; border-radius: var(--dt-radius);
  font-size: 12.5px; font-weight: 500; color: var(--dt-muted);
}
body.wf-crm #daliaPanel .dalia-starter__category { box-shadow: none; }                              /* button, :6416 (vista catálogo) */
body.wf-crm #daliaPanel .dalia-starter__category:hover { transform: none; }
body.wf-crm #daliaPanel .dalia-starter__action:focus-visible,
body.wf-crm #daliaPanel .dalia-starter__category:focus-visible,
body.wf-crm #daliaPanel .dalia-starter__back:focus-visible,                                         /* button, :6362 (volver del catálogo) */
body.wf-crm #daliaPanel .dalia-starter__all:focus-visible { outline: 0; border-color: var(--dt-focus); box-shadow: 0 0 0 3px var(--dt-focus-ring); }

/* 17.3 · Compositor como tarjeta: una sola línea --dt-border, reforzada al recibir foco, sin anillo ni sombra.
   Radio 12 y superficie constante. El resalte de drag&drop sigue
   siendo el outline de dalia.css:2978 y #daliaEffortPanel (absoluto dentro de la caja) no se recorta: nada de overflow aquí. */
body.wf-crm #daliaPanel .dalia-chat__composer { padding: 6px 12px 12px; }
body.wf-crm #daliaPanel .dalia-chat__box {
  border: 0; border-radius: var(--dt-radius-lg); background: var(--dt-surface); box-shadow: none;
  transition: border-color var(--dt-dur-1) var(--dt-ease);
}
body.wf-crm #daliaPanel .dalia-chat__box:focus-within { border-color: var(--dt-border-strong); box-shadow: none; transform: none; }
/* El textarea#daliaChatInput (index.html:665) ya va sin borde, fondo ni outline, a 13.5 px y con placeholder --dt-faint por las
   reglas !important de dalia.css:3106-3139 (no hace falta repetirlas); aquí solo el aire de su fila, div.dalia-chat__field (:663). */
body.wf-crm #daliaPanel .dalia-chat__field { padding: 12px 14px 4px; }
/* Adjuntar como círculo fantasma de 32 px: button#daliaChatAttach.dalia-chat__iconbtn (index.html:669), acotado a la caja para no
   tocar el .dalia-chat__iconbtn del historial (:648). No hay botón de micro en el composer del CRM: la voz es #daliaVoiceToggle
   (cabecera, :582) y el propio orbe del hero. El chip de modelo #daliaEffortBtn (:670) no cambia. */
body.wf-crm #daliaPanel .dalia-chat__box .dalia-chat__iconbtn {
  width: 32px; height: 32px; border-radius: 50%; background: transparent; color: var(--dt-muted); font-size: 16px;
  transition: background-color var(--dt-dur-1) var(--dt-ease), color var(--dt-dur-1) var(--dt-ease);
}
body.wf-crm #daliaPanel .dalia-chat__box .dalia-chat__iconbtn:hover { background: var(--dt-hover); color: var(--dt-text); transform: none; }
/* Enviar/Parar: button#daliaChatSend.dalia-chat__send (index.html:673), círculo lleno de 32 px. Sigue en azul Datalyse (--dt-ai):
   decisión de Marc del 26-10 (CLAUDE.md, 548/550: «excepción a la CTA en tinta»). Para dejarlo en tinta como el panel de
   ElevenLabs basta cambiar aquí --dt-ai/--dt-ai-fg/--dt-ai-hover por --dt-cta/--dt-cta-fg/--dt-cta-hover. Los tres --dt-ai* solo
   están definidos en [data-bs-theme="light"] (datalyse-modern.css:58-61, «igual en oscuro» pero sin copia en el bloque dark): en
   oscuro var() sin respaldo deja el botón transparente, por eso llevan el mismo respaldo que dalia.css:4099-4102. El transform:none
   del hover es por openmcp/dalia-extra.css:196-200 (scale 1.06), que hoy pisa dalia.css:4102 solo por orden de carga. */
body.wf-crm #daliaPanel .dalia-chat__send {
  width: 32px; height: 32px; margin-left: 4px; border-radius: 50%;
  background: var(--dt-cta, #0c0a09); color: var(--dt-cta-fg, #fff); font-size: 15px; box-shadow: none;
  transition: background-color var(--dt-dur-1) var(--dt-ease), transform var(--dt-dur-1) var(--dt-ease);
}
body.wf-crm #daliaPanel .dalia-chat__send:hover { background: var(--dt-cta-hover, #27272a); filter: none; transform: none; }
body.wf-crm #daliaPanel .dalia-chat__box .dalia-chat__iconbtn:focus-visible,
body.wf-crm #daliaPanel .dalia-chat__send:focus-visible { outline: 0; box-shadow: 0 0 0 1px var(--dt-focus), 0 0 0 4px var(--dt-focus-ring); }

@media (max-width: 640px) {
  body.wf-crm #daliaPanel .dalia-chat__hero { padding-inline: 16px; }
  body.wf-crm #daliaPanel .dalia-starter__action,
  body.wf-crm #daliaPanel .dalia-starter__all { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  body.wf-crm #daliaPanel .dalia-starter__action,
  body.wf-crm #daliaPanel .dalia-chat__box,
  body.wf-crm #daliaPanel .dalia-chat__box .dalia-chat__iconbtn,
  body.wf-crm #daliaPanel .dalia-chat__send { transition: none; }
}

/* §18 · Datalyse AI (ElevenLabs v4): Topbar Audio-Bars Pill + Right-Edge Vertical Audio-Bar Dock Trigger */
:root {
  --dalia-dock-w: 360px;
}
body.wf-crm .wf-askbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 30px;
  padding: 0 11px 0 9px;
  border: 0;
  border-radius: 999px;
  background: var(--dt-surface);
  color: var(--dt-text);
  box-shadow: none;
  font: 500 12px/1 'Inter', system-ui, -apple-system, sans-serif;
  white-space: nowrap;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
body.wf-crm .wf-askbtn:hover,
body.wf-crm .wf-askbtn[aria-expanded="true"],
body.dalia-docked .wf-askbtn {
  background: var(--dt-cta);
  border-color: var(--dt-border-strong);
  color: var(--dt-cta-fg);
}
body.wf-crm .wf-askbtn:hover {
  background: var(--dt-cta-hover);
}
/* Light theme: keep the assistant toggle on a quiet surface when open. */
:root[data-bs-theme="light"] body.wf-crm #wfAskBtn:is(:hover, [aria-expanded="true"]),
:root[data-bs-theme="light"] body.dalia-docked #wfAskBtn,
:root:not([data-bs-theme]) body.wf-crm:not([data-bs-theme="dark"]) #wfAskBtn:is(:hover, [aria-expanded="true"]),
:root:not([data-bs-theme]) body.dalia-docked:not([data-bs-theme="dark"]) #wfAskBtn {
  background: color-mix(in srgb, var(--dt-coral) 8%, var(--dt-surface));
  border-color: color-mix(in srgb, var(--dt-coral) 30%, var(--dt-border-strong));
  color: var(--dt-text);
}
body.wf-crm .wf-askbtn:focus-visible { outline: 2px solid var(--dt-focus); outline-offset: 2px; }
@media (forced-colors: active) {
  body.wf-crm .wf-askbtn:focus-visible { outline-color: Highlight; }
}
body.wf-crm .wf-askbtn__orb.wf-askbtn__bars {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 16px;
  height: 14px;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
}
body.wf-crm .wf-askbtn__orb.wf-askbtn__bars::before { display: none !important; }
body.wf-crm .wf-askbtn__bars i {
  display: block;
  width: 2px;
  border-radius: 99px;
  background: currentColor;
  transition: height 0.18s ease;
}
body.wf-crm .wf-askbtn__bars i:nth-child(1) { height: 5px; }
body.wf-crm .wf-askbtn__bars i:nth-child(2) { height: 11px; }
body.wf-crm .wf-askbtn__bars i:nth-child(3) { height: 14px; }
body.wf-crm .wf-askbtn__bars i:nth-child(4) { height: 9px; }
body.wf-crm .wf-askbtn__bars i:nth-child(5) { height: 6px; }
body.wf-crm .wf-askbtn:hover .wf-askbtn__bars i,
body.wf-crm .wf-askbtn[aria-expanded="true"] .wf-askbtn__bars i,
body.dalia-docked .wf-askbtn .wf-askbtn__bars i {
  animation: elDaliaBarPulse 0.9s ease-in-out infinite alternate;
}
body.wf-crm .wf-askbtn__bars i:nth-child(2) { animation-delay: -0.2s; }
body.wf-crm .wf-askbtn__bars i:nth-child(3) { animation-delay: -0.45s; }
body.wf-crm .wf-askbtn__bars i:nth-child(4) { animation-delay: -0.15s; }
body.wf-crm .wf-askbtn__bars i:nth-child(5) { animation-delay: -0.55s; }
@keyframes elDaliaBarPulse {
  0% { transform: scaleY(0.45); }
  100% { transform: scaleY(1.1); }
}
body.wf-crm .wf-askbtn__label {
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* Right-Edge Vertical Audio-Bar Dock Trigger (#elDaliaRightDockTab) */
.el-dalia-right-tab {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2985;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 24px;
  padding: 12px 0;
  border: 0;
  border-right: 0;
  border-radius: 10px 0 0 10px;
  background: var(--dt-surface, #ffffff);
  color: var(--dt-text, #0c0a09);
  box-shadow: none;
  cursor: pointer;
  transition: right 0.22s cubic-bezier(0.22, 1, 0.36, 1), width 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.el-dalia-right-tab:hover {
  width: 28px;
  background: var(--dt-surface);
  color: var(--dt-text);
}
body.dalia-docked .el-dalia-right-tab {
  right: var(--dalia-dock-w, 360px);
  background: var(--dt-app);
  color: var(--dt-text);
}
.el-dalia-right-tab__bars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5px;
  height: 12px;
}
.el-dalia-right-tab__bars i {
  display: block;
  width: 1.5px;
  border-radius: 99px;
  background: currentColor;
}
.el-dalia-right-tab__bars i:nth-child(1) { height: 4px; }
.el-dalia-right-tab__bars i:nth-child(2) { height: 9px; }
.el-dalia-right-tab__bars i:nth-child(3) { height: 12px; }
.el-dalia-right-tab__bars i:nth-child(4) { height: 8px; }
.el-dalia-right-tab__bars i:nth-child(5) { height: 5px; }
.el-dalia-right-tab:hover .el-dalia-right-tab__bars i,
body.dalia-docked .el-dalia-right-tab__bars i {
  animation: elDaliaBarPulse 0.85s ease-in-out infinite alternate;
}
.el-dalia-right-tab__txt {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  opacity: 0.78;
}
@media (max-width: 900px) {
  .el-dalia-right-tab { display: none !important; }
}

/* §19 · Audio controls: compact waveform buttons; the active voice stage owns the orb. */
body.wf-crm #daliaPanel .dalia-voice-btn {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: 36px; height: 36px; padding: 0; margin: 0;
  border: 0; border-radius: 50%;
  background: var(--dt-text); color: var(--dt-surface);
  cursor: pointer; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; box-shadow: none;
  transition: background-color var(--dt-dur-1) var(--dt-ease), color var(--dt-dur-1) var(--dt-ease);
}
body.wf-crm #daliaPanel .dalia-voice-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--dt-text) 82%, var(--dt-surface));
  transform: none;
}
body.wf-crm #daliaPanel .dalia-voice-btn:focus-visible { outline: 0; box-shadow: 0 0 0 1px var(--dt-focus), 0 0 0 4px var(--dt-focus-ring); }
body.wf-crm #daliaPanel .dalia-voice-btn:disabled { opacity: .45; cursor: not-allowed; }
body.wf-crm #daliaPanel .dalia-voice-btn svg { width: 20px; height: 20px; pointer-events: none; }
body.wf-crm #daliaPanel .dalia-voice-btn__stop { display: none; }
body.wf-crm #daliaPanel .dalia-voice-btn[aria-pressed="true"] { color: var(--dt-cta-fg); background: #c93434; }
body.wf-crm #daliaPanel .dalia-voice-btn[aria-pressed="true"]:hover:not(:disabled) { background: #ad2828; }
body.wf-crm #daliaPanel .dalia-voice-btn[aria-pressed="true"] .dalia-voice-btn__wave { display: none; }
body.wf-crm #daliaPanel .dalia-voice-btn[aria-pressed="true"] .dalia-voice-btn__stop { display: block; }
body.wf-crm #daliaPanel .dalia-voice-btn--hero { width: 44px; height: 44px; margin-top: 14px; }
body.wf-crm #daliaPanel .dalia-voice-btn--hero svg { width: 24px; height: 24px; }
body.wf-crm #daliaPanel .dalia-chat__hero.is-browsing-actions .dalia-voice-btn--hero { display: none; }
@media (prefers-reduced-motion: reduce) {
  body.wf-crm #daliaPanel .dalia-voice-btn { transition: none; }
}
