/* SuperDoc ocupa solo el folio; la cinta y los carriles siguen perteneciendo
   a arText. Todas las reglas quedan acotadas al motor para que el retorno a
   TipTap no arrastre diferencias visuales. */
[data-public-editor][data-editor-engine-name="superdoc"] .editor-document-card {
  /* El aire lateral aloja el carril externo de estructura. La hoja conserva
     sus medidas: el carril pertenece al lienzo gris, nunca a la página. */
  padding: 24px 64px 40px;
  background: #e8f0f7;
}

[data-public-editor][data-editor-engine-name="superdoc"] .rich-editor-surface {
  /* `getRangeRects(..., surface)` devuelve coordenadas relativas a esta caja.
     También debe ser el bloque de referencia CSS de la capa de sugerencias:
     si el absolute positioning cae en .editor-document-card, su padding de
     lienzo desplaza todas las marcas respecto a los glifos. */
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

[data-editor-engine-name="superdoc"] [data-editor-surface] > .superdoc,
[data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc__container,
[data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc__document-mode {
  min-height: 100%;
}

[data-editor-engine-name="superdoc"] [data-editor-surface] > [data-v-app],
[data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc {
  width: max-content;
  margin-inline: auto;
}

[data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc-page {
  --sd-layout-page-shadow: 0 2px 12px rgb(31 59 85 / 16%);
  box-shadow: var(--sd-layout-page-shadow) !important;
}

/* La vista web usa el flujo semántico nativo de SuperDoc. El modelo sigue
   siendo el mismo DOCX, pero el lienzo deja de imponer las dimensiones y los
   saltos de un folio: ocupa el ancho disponible y se refluye al redimensionar. */
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] .editor-document-card {
  padding: 18px clamp(12px, 4vw, 48px) 48px;
  background: #fff;
}

[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] .rich-editor-surface {
  max-width: 960px;
  margin-inline: auto;
}

[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] > [data-v-app],
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc,
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc__container,
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc__document-mode,
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .presentation-editor,
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .presentation-editor__viewport,
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .presentation-editor__pages {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0;
}

[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .presentation-editor__pages {
  gap: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .presentation-editor {
  overflow-x: hidden !important;
}

[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc-page {
  --sd-layout-page-shadow: none;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Las columnas Word tienen una anchura física y algunas tablas jurídicas no
   pueden replegarse sin destruir su lectura. En móvil el desbordamiento queda
   confinado a la tabla (deslizamiento local), nunca al documento completo. */
[data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc-table-fragment {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

[data-public-editor].is-switching-document-layout [data-editor-surface] {
  cursor: progress;
  opacity: .62;
  pointer-events: none;
  transition: opacity .14s ease;
}

[data-editor-engine-name="superdoc"] [data-editor-surface] [data-hit-id] {
  border-radius: 2px;
  cursor: text;
}

/* SuperDoc replica los atributos de las decoraciones sobre sus text runs.
   Esos nodos mantienen el anclaje semántico, pero la pintura corresponde a
   la capa geométrica: aplicar también aquí el padding y font-weight de las
   marcas TipTap alteraría la apariencia y las métricas del DOCX. */
[data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc-text-run.text-hit {
  padding: 0;
  font-weight: inherit;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
}

[data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc-text-run.text-hit::after {
  display: none;
}

[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-superdoc-hit-layer {
  position: absolute;
  inset: 0;
  z-index: 12;
  pointer-events: none;
}

[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-superdoc-hit-rect {
  position: absolute;
  display: block;
  box-sizing: border-box;
  min-width: 1px;
  /* Las dimensiones ya proceden del motor de maquetación. El padding de la
     marca HTML histórica agrandaría la caja fuera del rango visible. */
  padding: 0;
  font-weight: inherit;
  /* Las recomendaciones se consultan y aplican desde el panel derecho. Esta
     capa solo pinta: el clic atraviesa hasta el documento para conservar la
     colocación del cursor y la selección nativa de SuperDoc. */
  pointer-events: none;
}

/* Guías de estructura: hermanas de .superdoc dentro del host, nunca hijas de
   una página ni del modelo editable. La regla cruza la hoja; chip y papelera
   quedan enteramente fuera de sus bordes como cromo inequívoco de arText. */
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-superdoc-structure-layer {
  position:absolute;
  inset:0;
  z-index:11;
  overflow:visible;
  pointer-events:none;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-superdoc-structure-layer[hidden] { display:none; }
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide {
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-sizing:border-box;
  min-width:200px;
  height:1px;
  color:#6f7f90;
  font-family:var(--font-heading, Inter, Arial, sans-serif);
  pointer-events:none;
  z-index:2;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide::before {
  content:"";
  position:absolute;
  inset-inline:0;
  top:0;
  border-top:1px dashed currentColor;
  opacity:.4;
  pointer-events:none;
  z-index:0;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-nav {
  position:absolute;
  right:calc(100% + 8px);
  display:flex;
  align-items:center;
  flex:0 1 auto;
  box-sizing:border-box;
  min-width:30px;
  max-width:170px;
  height:24px;
  padding:0 5px;
  color:inherit;
  background:#f5f9fc;
  border:1px solid #c5d2de;
  border-radius:999px;
  box-shadow:0 0 0 3px rgb(255 255 255 / 96%);
  cursor:pointer;
  pointer-events:auto;
  transform:translateY(-50%);
  transition:color .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
  z-index:1;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-name {
  display:block;
  min-width:0;
  max-width:148px;
  overflow:hidden;
  color:inherit;
  font-size:10px;
  font-weight:750;
  line-height:1;
  letter-spacing:.015em;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:hover,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:focus-within {
  color:var(--ed-accent-dark, #005596);
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide.is-active {
  color:var(--ed-accent, #006fc0);
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:hover::before,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:focus-within::before,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide.is-active::before {
  opacity:.72;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:hover .artext-structure-guide-nav,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:focus-within .artext-structure-guide-nav,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide.is-active .artext-structure-guide-nav {
  background:#fff;
  border-color:currentColor;
  box-shadow:0 0 0 3px rgb(255 255 255 / 96%), 0 2px 8px rgb(29 53 77 / 13%);
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-nav:focus-visible {
  border-radius:7px;
  outline:2px solid rgb(0 111 192 / 32%);
  outline-offset:1px;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-bubble {
  position:absolute;
  box-sizing:border-box;
  width:max-content;
  max-width:min(320px, calc(100% - 24px));
  padding:8px 10px;
  color:#263548;
  background:rgb(255 255 255 / 98%);
  border:1px solid #b9d7eb;
  border-radius:8px;
  box-shadow:0 9px 24px rgb(19 51 76 / 18%);
  font-family:var(--font-body, Inter, Arial, sans-serif);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(3px);
  transition:opacity .12s ease, transform .12s ease, visibility 0s linear .12s;
  z-index:4;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:hover + .artext-structure-guide-bubble,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:focus-within + .artext-structure-guide-bubble,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide.has-bubble + .artext-structure-guide-bubble {
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transform:translateY(0);
  transition-delay:0s;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-bubble::before {
  content:"";
  position:absolute;
  left:-7px;
  top:11px;
  width:12px;
  height:12px;
  background:#fff;
  border-left:1px solid #b9d7eb;
  border-bottom:1px solid #b9d7eb;
  transform:rotate(45deg);
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-bubble strong {
  display:block;
  color:#172235;
  font-size:12px;
  line-height:1.25;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-remove {
  position:absolute;
  left:calc(100% + 8px);
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:22px;
  height:24px;
  align-items:center;
  padding:0;
  color:#8291a1;
  background:#fff;
  border:0;
  border-radius:6px;
  box-shadow:0 0 0 3px rgb(255 255 255 / 96%);
  opacity:.36;
  cursor:pointer;
  pointer-events:auto;
  transform:translateY(-50%);
  z-index:1;
  transition:color .12s ease, background .12s ease, opacity .12s ease;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-remove svg {
  width:13px;
  height:13px;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-remove:hover,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide-remove:focus-visible {
  color:#8f2f38;
  background:rgb(255 247 247 / 92%);
  opacity:1;
  outline:2px solid rgb(143 47 56 / 18%);
  outline-offset:0;
}
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:hover .artext-structure-guide-remove,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide:focus-within .artext-structure-guide-remove,
[data-editor-engine-name="superdoc"] [data-editor-surface] .artext-structure-guide.is-active .artext-structure-guide-remove {
  opacity:.78;
}

/* En un lienzo demasiado estrecho el marcador quedaría bajo el scroll
   horizontal. Se oculta solo la pintura; el índice y sus anclas continúan
   funcionando y la hoja recupera el aire lateral. */
@media (max-width: 860px) {
  [data-public-editor][data-editor-engine-name="superdoc"] .editor-document-card,
  [data-public-editor][data-editor-layout="web"][data-editor-engine-name="superdoc"] .editor-document-card { padding-inline:12px; }
  [data-editor-engine-name="superdoc"] [data-editor-surface] .artext-superdoc-structure-layer { display:none; }
}

[data-editor-engine-name="superdoc"] .editor-page-guides {
  display: none !important;
}

/* Menú contextual nativo: habilita Cortar/Copiar/Pegar sin sacar la selección
   del modelo de SuperDoc y comparte el lenguaje visual del resto del editor. */
[data-editor-engine-name="superdoc"] [data-editor-surface] .context-menu {
  --sd-ui-font-family: var(--font-heading, Inter, Arial, sans-serif);
  --sd-ui-text: #33465a;
  --sd-ui-hover-bg: #eaf3fc;
  --sd-ui-active-bg: #dceefe;
  --sd-ui-border: #ccd9e6;
  min-width: 168px;
  padding: 5px;
  border: 1px solid var(--sd-ui-border);
  border-radius: 10px;
  box-shadow: 0 14px 34px rgb(19 51 76 / 20%);
}

[data-editor-engine-name="superdoc"] [data-editor-surface] .context-menu-item {
  border-radius: 7px;
}

/* Nodos de montaje de cada runtime (editor_superdoc_adapter.js). Existen para
   que el relevo de vista pueda tener dos SuperDoc vivos a la vez sin que se
   pisen, no para maquetar: los dos son bloques que heredan el ancho de su
   anfitrión, como el envoltorio que el propio SuperDoc creaba antes ahí mismo.
   El de la cinta NO puede ser `display:contents`: la barra nativa se agrupa
   midiendo su contenedor (`responsiveToContainer`), y un contenedor sin caja
   mide cero — se plegaban los veinte comandos de formato dentro del botón de
   desbordamiento.
   El entrante nace `is-pending`: superpuesto y oculto, con el ancho exacto de
   la superficie —que es lo que mide el flujo semántico del modo web— para que
   se construya ya con la medida buena y sin enseñar el documento dos veces. */
.artext-superdoc-toolbar-mount {
  width: 100%;
  min-width: 0;
}

.artext-superdoc-mount.is-pending {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
}

/* La barra nativa vive dentro de la pestaña Inicio del Ribbon. Se tematiza
   mediante la API estable de variables de SuperDoc; las pocas clases se usan
   solo para encajar alto, ancho y radios con el cromo existente de arText. */
[data-editor-engine-name="superdoc"] .ribbon-row-superdoc {
  padding: 0;
  overflow: visible !important;
}

[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] {
  --sd-ui-font-family: var(--font-heading, Inter, Arial, sans-serif);
  --sd-ui-text: #3f4f61;
  --sd-ui-text-muted: #687a8e;
  --sd-ui-bg: transparent;
  --sd-ui-hover-bg: #eaf3fc;
  --sd-ui-active-bg: #dceefe;
  --sd-ui-border: #d3deea;
  --sd-ui-action: var(--ed-accent, #1769aa);
  --sd-ui-action-hover: var(--ed-accent-dark, #0f4f82);
  --sd-ui-toolbar-height: 35px;
  --sd-ui-toolbar-padding-x: 8px;
  --sd-ui-toolbar-padding-y: 4px;
  --sd-ui-toolbar-item-gap: 2px;
  --sd-ui-toolbar-item-padding: 5px;
  --sd-ui-toolbar-bg: transparent;
  --sd-ui-toolbar-button-text: #3f4f61;
  --sd-ui-toolbar-button-hover-bg: #eaf3fc;
  --sd-ui-toolbar-button-active-bg: #dceefe;
  --sd-ui-toolbar-z-index: 70;
  --sd-ui-dropdown-bg: #fff;
  --sd-ui-dropdown-hover-bg: #eaf3fc;
  --sd-ui-dropdown-active-bg: #dceefe;
  --sd-ui-dropdown-shadow: 0 12px 30px rgb(31 59 85 / 18%);
  width: 100%;
  min-width: 0;
  min-height: 43px;
}

[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .superdoc-toolbar {
  box-sizing: border-box;
  width: 100%;
  min-height: 43px;
  padding-inline: 8px;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .button-group {
  min-width: 0;
}

/* El Ribbon de arText alinea todos sus paneles desde el inicio. SuperDoc
   llama «center» al grupo principal y le inyecta justify-content:center;
   se conserva el grupo reactivo, pero no esa excepción visual. */
[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .button-group[data-toolbar-position="center"] {
  justify-content: flex-start !important;
}

/* Sin bocadillos en la barra de formato (petición de Guillermo, 2026-08-02):
   SuperDoc los teletransporta a <body> y se abren ENCIMA del botón, es decir,
   sobre la tira de pestañas —tapan «Archivo», «Inicio», «Insertar»— cada vez
   que el cursor cruza la fila. Los comandos de formato son los más conocidos
   del editor (negrita, cursiva, tamaño) y el bocadillo no añadía nada que el
   icono no dijera ya. Se apagan aquí, en la capa que los pintaba: el nombre de
   cada botón sigue publicándose en aria-label, así que quien navega con lector
   de pantalla o teclado lo sigue oyendo. */
.sd-editor-toolbar-tooltip {
  display: none !important;
}

[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .sd-toolbar-button,
[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .sd-toolbar-split-field {
  border-radius: 8px;
}

[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .sd-toolbar-button.sd-active,
[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .sd-toolbar-button[aria-pressed="true"] {
  color: var(--ed-accent, #1769aa);
  box-shadow: inset 0 0 0 1px #a9d2f3;
}

[data-editor-engine-name="superdoc"] [data-superdoc-toolbar] .sd-toolbar-dropdown-menu {
  z-index: 90;
  border-radius: 10px;
}

/* El cromo de desbordamiento de arText no debe recortar los menús nativos. */
[data-editor-engine-name="superdoc"] .editor-ribbon.has-overflow-chrome .ribbon-row-superdoc {
  overflow: visible !important;
}

/* SuperDoc pagina de forma asíncrona. `display:none` le quita el ancho de
   medida y deja el motor de layout en estado fallido si se importa o modifica
   un documento desde las vistas Nuevo/Informe. Se conserva una superficie de
   medida fuera del viewport; visual y semánticamente solo sigue visible la
   vista elegida por el shell. */
[data-editor-engine-name="superdoc"][data-editor-view="nuevo"] .editor-main-panel,
[data-editor-engine-name="superdoc"][data-editor-view="informe"] .editor-main-panel {
  display: block;
  position: fixed;
  left: -200vw;
  top: 0;
  width: 960px;
  height: 1000px;
  visibility: hidden;
  pointer-events: none;
}

@media print {
  [data-editor-engine-name="superdoc"] [data-editor-surface] .artext-superdoc-structure-layer,
  [data-editor-engine-name="superdoc"] [data-editor-surface] .artext-superdoc-hit-layer {
    display:none !important;
  }
  [data-editor-engine-name="superdoc"] [data-editor-surface] .superdoc-page {
    box-shadow: none;
  }
}
