/* Presentación de la barra compacta y estabilidad del estado de análisis tipado. */
.custom-header.hal-compact-header {
  display: flex !important; flex-wrap: nowrap !important; align-items: center;
  justify-content: flex-end !important; gap: 8px 8px !important;
  width: 100% !important; min-width: 0 !important; max-width: 100%;
  padding: 10px 14px !important; box-sizing: border-box; overflow: visible !important;
  flex-shrink: 0;
}
.hal-toolbar-settings, .hal-toolbar-actions {
  display: flex; align-items: center; flex-wrap: nowrap; gap: 6px; min-width: 0;
}
.hal-toolbar-actions { margin-left: 0; }
.hal-toolbar-utilities { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.hal-compact-header > .hal-toolbar-settings { display: contents; }
.hal-compact-header .model-dropdown { margin-right: auto; min-width: 96px; }
.hal-compact-header .hal-toolbar-actions { flex-wrap: nowrap; flex-shrink: 0; }
.hal-toolbar-dense .hal-toolbar-menu-button { padding-inline: 8px; font-size: 13px !important; gap: 5px; }
.hal-compact-header.hal-toolbar-dense .hal-toolbar-history,
.hal-compact-header.hal-toolbar-dense .hal-toolbar-attach { padding-inline: 9px !important; font-size: 13px !important; }
.hal-compact-header .hal-toolbar-utilities #theme-toggle,
.hal-compact-header .hal-toolbar-utilities #logout-btn {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 44px !important; height: 44px !important; min-width: 44px !important;
  padding: 0 !important; border-radius: 12px !important;
}
.hal-toolbar-utilities .hal-tool-label { display: none !important; }
.hal-toolbar-utilities #theme-icon, .hal-toolbar-utilities .material-symbols-outlined { font-size: 20px !important; }
.hal-compact-header button, .hal-toolbar-panel button, .hal-toolbar-panel .processing-toggle {
  box-sizing: border-box; min-height: 44px !important; font: inherit;
}
.hal-compact-header .model-dropdown { flex: 0 1 auto; min-width: 0; }
.hal-compact-header #model-button {
  min-width: 0 !important; max-width: 100%; min-height: 44px !important;
  font-size: 14px !important; padding: 9px 12px !important;
}
.hal-compact-header #current-model { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hal-toolbar-menu-button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 7px;
  flex: 0 0 auto; padding: 9px 11px; border: 1px solid var(--border-light, #cbd5e1);
  border-radius: 12px; color: var(--text-light, #162d49); background: transparent;
  cursor: pointer; white-space: nowrap; font-size: 14px !important;
}
body.dark .hal-toolbar-menu-button { color: var(--text-dark, #e0edf4); border-color: var(--border-dark, #475569); }
.hal-toolbar-menu-button > .fa-chevron-down { font-size: 9px; opacity: .65; }
.hal-toolbar-menu-button > .fa-solid:first-child { opacity: .8; }
.hal-toolbar-menu-button[aria-expanded="true"] { background: color-mix(in srgb, var(--user-bg, #159b8f) 14%, transparent); }
.hal-compact-header .hal-toolbar-history, .hal-compact-header .hal-toolbar-attach {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto !important; min-width: 0 !important; padding: 9px 13px !important;
  border-radius: 12px !important; font-size: 14px !important; white-space: nowrap;
}
.hal-compact-header .hal-toolbar-history span, .hal-compact-header .hal-toolbar-attach span {
  display: inline !important; font-size: inherit !important;
}
.hal-compact-header .hal-toolbar-attach {
  border: 1px solid var(--user-bg, #159b8f) !important;
}
.hal-compact-header #sidebar-toggle { flex: 0 0 44px; width: 44px !important; padding: 0 !important; justify-content: center; }
.hal-compact-header [hidden], .hal-toolbar-panel[hidden], .hal-toolbar-panel [hidden] { display: none !important; }
.hal-toolbar-panel {
  position: fixed; z-index: 14060; width: 320px; box-sizing: border-box;
  overflow-y: auto; overscroll-behavior: contain; padding: 10px; border-radius: 16px;
  border: 1px solid var(--border-light, #cbd5e1);
  color: var(--text-light, #172a42); background: var(--container-light, #fff);
  box-shadow: 0 16px 48px rgb(0 0 0 / 18%); font-size: 14px; line-height: 1.4;
}
body.dark .hal-toolbar-panel {
  background: var(--container-dark, #152239); color: var(--text-dark, #e0edf4);
  border-color: var(--border-dark, #475569);
}
body[class*="theme-retro"] .hal-toolbar-panel { background: var(--retro-surface, var(--container-light)); color: var(--retro-text, inherit); }
body.theme-cendochat-light .hal-toolbar-panel { background: #f8fbff; color: #142e4d; border-color: #cad8e6; }
body.theme-cendochat-dark .hal-toolbar-panel { background: #0d2235; color: #deecf5; border-color: #315265; }
.hal-toolbar-panel-heading, .hal-toolbar-panel .hal-tool-section-title { display: none; }
.hal-toolbar-panel .processing-toggles, .hal-toolbar-panel .mode-buttons, .hal-toolbar-panel .layout-view-toggle {
  display: flex !important; flex-direction: column !important; align-items: stretch !important;
  flex-wrap: nowrap; width: 100% !important; min-width: 0 !important;
  gap: 5px !important; background: transparent !important; padding: 0 !important;
  border: 0 !important; box-shadow: none !important;
}
.hal-toolbar-panel .processing-toggle, .hal-toolbar-panel .mode-button,
.hal-toolbar-panel .hal-tool-item {
  display: flex !important; align-items: center; justify-content: flex-start !important;
  gap: 10px !important; width: 100% !important; max-width: 100%; height: auto !important;
  min-width: 0 !important; margin: 0 !important; padding: 10px 12px !important;
  border: 1px solid transparent !important; border-radius: 10px !important;
  color: inherit !important; font-size: 14px !important; white-space: normal !important;
  background: transparent !important; box-shadow: none !important; cursor: pointer;
}
.hal-toolbar-panel .processing-toggle span, .hal-toolbar-panel .hal-tool-label { color: inherit !important; font-size: 14px !important; }
.hal-toolbar-panel .processing-toggle input { width: 20px; height: 20px; accent-color: var(--user-bg, #159b8f); flex-shrink: 0; }
.hal-toolbar-panel .processing-switch-track { flex-shrink: 0; }
.hal-toolbar-panel .hal-tool-item:hover, .hal-toolbar-panel .processing-toggle:hover,
.hal-toolbar-panel .mode-button:hover { background: color-mix(in srgb, currentColor 8%, transparent) !important; }
.hal-toolbar-panel .active, .hal-toolbar-panel [aria-pressed="true"], .hal-toolbar-panel .is-checked {
  border-color: var(--user-bg, #159b8f) !important;
  background: color-mix(in srgb, var(--user-bg, #159b8f) 12%, transparent) !important;
}
.hal-toolbar-panel .hal-tool-label { display: inline !important; }
.hal-toolbar-panel .hal-tool-item > i, .hal-toolbar-panel .hal-tool-item > .material-symbols-outlined { width: 24px; text-align: center; font-size: 20px !important; flex-shrink: 0; }
/* El globo indica la selección sin ampliar el botón ni el área desplazable. */
.hal-toolbar-panel #websearch-btn {
  transform: none !important; transition: none !important;
  background: transparent !important; border-color: transparent !important;
}
.hal-toolbar-panel #websearch-btn.active > .fa-globe {
  color: var(--primary-light, #10a37f) !important;
}
body.dark .hal-toolbar-panel #websearch-btn.active > .fa-globe {
  color: var(--primary-dark, #0e8b6e) !important;
}
.hal-tool-section { display: flex; flex-direction: column; gap: 6px; }
/* Los botones originales de exportación heredan estilos de acción principal.
   Dentro del menú deben verse como las demás opciones, en todos los temas. */
.hal-toolbar-panel #export-pdf-btn, .hal-toolbar-panel #export-doc-btn {
  background: transparent !important; color: inherit !important;
  border: 1px solid transparent !important; border-radius: 10px !important;
  box-shadow: none !important; padding: 10px 12px !important;
}
.hal-toolbar-panel #export-pdf-btn:hover, .hal-toolbar-panel #export-doc-btn:hover {
  background: color-mix(in srgb, currentColor 8%, transparent) !important;
}
#hal-toolbar-panel-export .hal-tool-section-title { display: none; }
.hal-tool-section + .hal-tool-section { margin-top: 10px; padding-top: 8px; border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent); }
.hal-tool-section-title { font-size: 12px; font-weight: 700; opacity: .75; padding: 4px 12px 6px; }
.hal-toolbar-hint { font-size: 12px; line-height: 1.5; opacity: .8; padding: 0 12px; margin: 10px 0 4px; }
.hal-compact-header button:focus-visible, .hal-toolbar-panel button:focus-visible,
.hal-toolbar-panel .processing-toggle:focus-within {
  outline: 3px solid var(--user-bg, #138d9a) !important; outline-offset: 2px;
}
/* Una sola fila: las flechas originales aparecen solo donde quedan botones. */
#hal-toolbar-scroll {
  flex: 0 0 auto !important; width: 100%; max-width: 100%; min-width: 0;
  border-radius: 24px; overflow: hidden !important;
}
#hal-toolbar-scroll > .horizontal-scroll-viewport {
  overflow-x: auto !important; overflow-y: hidden !important;
  touch-action: pan-x !important; scroll-padding-inline: 52px;
}
#hal-toolbar-scroll .hal-compact-header {
  width: max-content !important; min-width: 100% !important; max-width: none !important;
}
#hal-toolbar-scroll .model-dropdown { flex: 0 0 auto; min-width: 190px; max-width: 280px; }
#hal-toolbar-scroll #model-button { width: 100% !important; }
#hal-toolbar-scroll .hscroll-arrow {
  width: 44px !important; height: 44px !important; min-height: 44px !important;
}
#hal-toolbar-scroll .hscroll-arrow:focus-visible {
  outline: 3px solid var(--user-bg, #138d9a); outline-offset: -3px;
}
#hal-toolbar-scroll .hscroll-arrow--left { left: 4px; }
#hal-toolbar-scroll .hscroll-arrow--right { right: 4px; }
@media (forced-colors: active) {
  .hal-toolbar-menu-button, .hal-toolbar-panel, .hal-toolbar-panel .hal-tool-item { border: 1px solid ButtonText !important; }
}
.hal-compact-header [hidden][hidden], .hal-toolbar-panel[hidden][hidden],
.hal-toolbar-panel [hidden][hidden] { display: none !important; }
/* Se reserva el mismo espacio incluso al vaciar la frase entre animaciones. */
.reasoning-panel[data-display-mode="typed"] .reasoning-panel-preview {
  height: 4.05em; min-height: 4.05em; max-height: 4.05em;
  flex-shrink: 0;
}
.reasoning-panel[data-display-mode="typed"] .reasoning-activity-line {
  height: 1.35em; line-height: 1.35; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
@media (prefers-reduced-motion: reduce) {
  .reasoning-panel[data-display-mode="typed"] .reasoning-activity-lines { transition: none !important; }
}
#input.query-attachment-dragover {
  outline: 2px dashed var(--primary-light, #10a37f); outline-offset: -4px;
}
body.dark #input.query-attachment-dragover { outline-color: var(--primary-dark, #35d0ea); }
