/* Espacio del equipo · Ediciones Comunicación Científica (6 nov 2026)
   Se apoya en ../catalogo/estilo.css (colores, Fira Sans, botones y modo nocturno del portal). */
.eq { background: var(--blanco-hueso); color: var(--gris-carbon); min-height: 100vh; display: flex; flex-direction: column; }
.eq a { color: var(--azul-texto); }
.eq a.boton-solido, .eq a.boton-solido:hover { color: #fff; }
.eq a.boton-contorno { color: var(--gris-carbon); }
.eq-main { flex: 1; padding-top: 32px; padding-bottom: 56px; width: 100%; }

/* Cabecera */
.eq-cab { background: var(--noche-fijo); color: #fff; }
.eq-cab__fila { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; flex-wrap: wrap; }
.eq-marca { display: inline-flex; align-items: center; gap: 12px; }
.eq-marca__logo { display: block; border-radius: 6px; }
.eq-marca__logo img { width: 132px; height: auto; display: block; }
.eq-marca__logo:focus-visible, .eq-marca__txt:focus-visible { outline: 2px solid #7FE0FF; outline-offset: 4px; }
.eq-marca__txt { color: #fff !important; text-decoration: none; font-weight: 600; font-size: .9375rem; padding-left: 12px; border-left: 1px solid rgba(255, 255, 255, .35); white-space: nowrap; }
.eq-marca__txt:hover { text-decoration: underline; text-underline-offset: 4px; }
.eq-cab__der { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; font-size: .9375rem; }
.eq-cab__der form { margin: 0; }
.eq-sitio { color: #BDEBFB !important; }
.eq-yo { color: #fff; font-weight: 500; }
.eq-salir { font: inherit; color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .5); border-radius: 999px; padding: 6px 14px; cursor: pointer; min-height: 36px; }
.eq-salir:hover, .eq-salir:focus-visible { background: rgba(255, 255, 255, .12); }
.eq-menu { overflow-x: auto; padding: 0 0 10px; scrollbar-width: thin; }
.eq-menu__fila { display: flex; gap: 6px; width: max-content; margin: 0 auto; }   /* centrado si cabe; si no, se desliza */
.eq-menu a { flex: none; color: #DCEFF7 !important; text-decoration: none; padding: 8px 14px; border-radius: 999px; font-size: .9375rem; font-weight: 500; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.eq-menu a:hover, .eq-menu a:focus-visible { background: rgba(255, 255, 255, .1); }
.eq-menu a[aria-current="page"] { background: #fff; color: var(--noche-fijo) !important; font-weight: 600; }

/* Encabezado de cada vista */
.eq-hola { margin: 0 auto 32px; max-width: 780px; text-align: center; }
.eq-hola .eq-intro { margin-inline: auto; }
.eq-hola .h2, .eq-entrar .h2 { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); margin: 6px 0 10px; }
.eq-intro { font-size: var(--t-cuerpo); line-height: 1.55; color: var(--gris-medio); margin: 0 0 12px; max-width: 70ch; }
.eq-nota { font-size: .9375rem; color: var(--gris-medio); margin: 14px 0 0; }
.eq-meta { font-size: .875rem; color: var(--gris-medio); }
.eq-gris { color: var(--gris-claro); }
.eq-vacio { padding: 20px; border: 1px dashed var(--azul-filete); border-radius: var(--radio); color: var(--gris-medio); background: var(--blanco); list-style: none; }
.eq-h2 { font-size: 1.1875rem; font-weight: 600; margin: 0 0 12px; color: var(--gris-carbon); }
.eq-bloque, .eq-grupo { margin: 0 0 32px; }

/* Entrar / activar */
.eq-entrar { max-width: 520px; margin: 24px auto; padding: 32px clamp(20px, 4vw, 40px); background: var(--blanco); border: var(--filete); border-radius: 20px; box-shadow: 0 24px 48px -32px rgba(11, 59, 85, .35); }

/* Formularios */
.eq-form { display: grid; gap: 6px; max-width: 560px; margin: 12px 0 0; }
.eq-form--ancho { max-width: 720px; }
.eq-form label { font-weight: 600; font-size: .9375rem; margin-top: 8px; }
.eq-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), .eq-form select, .eq-form textarea, .eq-inline select {
  font: inherit; font-size: 1rem; color: var(--gris-carbon); background: var(--blanco); border: 1.5px solid var(--azul-filete); border-radius: 10px; padding: 10px 12px; min-height: 44px; width: 100%; box-sizing: border-box; }
.eq-form textarea { min-height: 96px; resize: vertical; }
.eq-form input:focus-visible, .eq-form select:focus-visible, .eq-form textarea:focus-visible { outline: 3px solid rgba(0, 173, 235, .35); border-color: var(--azul-clave); }
.eq-form input[type="file"] { font-size: .9375rem; padding: 8px 0; }
.eq-form button[type="submit"] { justify-self: center; margin-top: 16px; min-width: 200px; }
.eq-form fieldset { border: 0; padding: 0; margin: 8px 0 0; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.eq-form legend { font-weight: 600; font-size: .9375rem; padding: 0; margin-bottom: 4px; }
.eq-check { display: inline-flex !important; align-items: center; gap: 8px; font-weight: 500 !important; margin-top: 0 !important; min-height: 32px; }
.eq-check input { width: 18px; height: 18px; accent-color: var(--azul-clave); }
.eq-inline { display: inline-flex; align-items: center; gap: 8px; margin: 0; flex-wrap: wrap; }
.eq-inline select { width: auto; }
.eq-link { font: inherit; font-size: .875rem; color: var(--azul-texto); background: none; border: 0; padding: 4px 2px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-height: 32px; }
.eq-link:disabled { color: var(--gris-claro); cursor: not-allowed; text-decoration: none; }

/* Avisos */
.eq-aviso { padding: 12px 16px; border-radius: 12px; margin: 0 0 20px; font-size: .9375rem; line-height: 1.5; border: 1px solid; }
.eq-aviso--ok { background: #E6F5EC; border-color: #A9D9BB; color: #0F5132; }
.eq-aviso--error { background: #FDECEC; border-color: #F0B4B4; color: #8A1C1C; }
.eq-aviso--clave { background: #FFF8E6; border-color: #E0A82E; color: #4A3A10; }
.eq-aviso--pc { background: #FFF8E6; border-color: #F0D58A; color: #4A3A10; }
.eq-clave { display: inline-block; margin: 6px 0; padding: 6px 12px; border-radius: 8px; background: #fff; border: 1px dashed #E0A82E; font-family: var(--mono); font-size: 1.25rem; letter-spacing: .06em; color: #2E2304; cursor: copy; user-select: all; }
.eq-copiado { margin-left: 8px; font-size: .8125rem; font-weight: 600; color: #0F5132; }
.confirmar { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; background: #FFF1C9; color: #6B4E00; font-size: .6875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }

/* Tarjetas del inicio */
.eq-tarjs { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 0 0 36px; }
.eq-tarj { display: grid; gap: 4px; padding: 20px; background: var(--blanco); border: var(--filete); border-radius: 16px; text-decoration: none; color: var(--gris-carbon) !important; transition: border-color .2s, transform .2s; }
.eq-tarj:hover, .eq-tarj:focus-visible { border-color: var(--azul-clave); transform: translateY(-2px); }
.eq-tarj b { font-size: 2.25rem; font-weight: 600; line-height: 1; color: var(--azul-texto); font-variant-numeric: tabular-nums; }
.eq-tarj span { font-weight: 600; }
.eq-tarj small { color: var(--gris-medio); font-size: .875rem; }
.eq-tarj--amarilla { background: #FFF8E6; border-color: #F0D58A; }
.eq-tarj--amarilla b { color: #8A6400; }

/* Tablas */
.eq-tabla { overflow-x: auto; border: var(--filete); border-radius: 14px; background: var(--blanco); }
.eq-tabla table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.eq-tabla th, .eq-tabla td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--azul-filete); vertical-align: top; }
.eq-tabla thead th { font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; color: var(--gris-medio); background: var(--tinte-azul); white-space: nowrap; }
.eq-tabla tbody tr:last-child th, .eq-tabla tbody tr:last-child td { border-bottom: 0; }
.eq-tabla th small { display: block; font-weight: 400; color: var(--gris-medio); font-size: .8125rem; }
.eq-url { word-break: break-all; font-size: .8125rem; }
.eq-url small { display: block; color: #8A5A00; margin-top: 4px; }
.eq-actividad { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: .9375rem; }
.eq-actividad li { padding: 8px 12px; background: var(--blanco); border-radius: 10px; border: var(--filete); }

/* Estados */
.eq-estado { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; letter-spacing: .03em; white-space: nowrap; background: var(--tinte-azul); color: var(--azul-texto); }
.eq-estado--pendiente, .eq-estado--nuevo, .eq-estado--nueva { background: #E8EFF3; color: #0B3B55; }
.eq-estado--en_proceso, .eq-estado--en_revision { background: #FFF1C9; color: #6B4E00; }
.eq-estado--hecha { background: #DDF1FA; color: #00628C; }
.eq-estado--verificada, .eq-estado--aceptada, .eq-estado--resuelto { background: #E6F5EC; color: #0F5132; }
.eq-estado--pide_mas { background: #FDECEC; color: #8A1C1C; }
.eq-estado--descartada { background: #EEEEEE; color: #58595B; }

/* Tareas, «Por confirmar» y reportes */
.eq-tareas, .eq-pcs { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.eq-tarea, .eq-pc { padding: 18px 20px; background: var(--blanco); border: var(--filete); border-radius: 16px; }
.eq-tarea--en_proceso { border-left: 4px solid #E0A82E; }
.eq-tarea--hecha { border-left: 4px solid var(--azul-clave); }
.eq-tarea--verificada { border-left: 4px solid #1E9E5A; }
.eq-tarea__cab, .eq-pc__cab { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.eq-tarea h3, .eq-pc h3 { font-size: 1.0625rem; font-weight: 600; margin: 0; }
.eq-tarea p, .eq-pc p { margin: 8px 0 0; line-height: 1.5; }
.eq-nec { background: #FFF8E6; border-radius: 10px; padding: 8px 12px; }
.eq-ir { font-weight: 600; }
.eq-notas { margin: 12px 0 0; padding: 0 0 0 14px; border-left: 2px solid var(--azul-filete); list-style: none; display: grid; gap: 10px; font-size: .9375rem; }
.eq-notas p { margin: 4px 0 0; }
.eq-rev { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.eq-archivo { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: .875rem; font-weight: 600; }
.eq-archivo::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6'/%3E%3C/svg%3E") center / contain no-repeat; }
.eq-archivo small { font-weight: 400; color: var(--gris-medio); }
.eq-accion { margin-top: 12px; }
.eq-accion > summary { list-style: none; display: inline-flex; cursor: pointer; }
.eq-accion > summary::-webkit-details-marker { display: none; }
.eq-accion[open] > summary { margin-bottom: 4px; }
details.eq-grupo > summary, details.eq-obra > summary { cursor: pointer; list-style: none; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 6px 0; }
details.eq-grupo > summary::-webkit-details-marker, details.eq-obra > summary::-webkit-details-marker { display: none; }
details.eq-grupo > summary::before, details.eq-obra > summary::before { content: "▸"; color: var(--azul-clave); transition: transform .2s; }
details.eq-grupo[open] > summary::before, details.eq-obra[open] > summary::before { transform: rotate(90deg); }
details.eq-grupo > summary .eq-h2, details.eq-obra > summary .eq-h2 { margin: 0; }
.eq-obra { padding: 14px 18px; background: var(--blanco); border: var(--filete); border-radius: 16px; margin-bottom: 12px; }
.eq-obra__acciones { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 10px 0 14px; }
.eq-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.eq-tabs a { padding: 8px 14px; border-radius: 999px; border: var(--filete); background: var(--blanco); text-decoration: none; font-weight: 500; min-height: 40px; display: inline-flex; align-items: center; gap: 6px; }
.eq-tabs a[aria-current="page"] { background: var(--azul-tinta); border-color: var(--azul-tinta); color: #fff !important; }
.eq-tabs b { font-variant-numeric: tabular-nums; }

/* Personas (administración) */
.eq-personas { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.eq-persona { padding: 16px 18px; background: var(--blanco); border: var(--filete); border-radius: 16px; }
.eq-form--persona { max-width: none; grid-template-columns: minmax(180px, 1.2fr) minmax(200px, 1.4fr) minmax(130px, .8fr) auto auto auto; align-items: end; gap: 10px 16px; margin: 0; }
.eq-form--persona label { margin-top: 0; display: grid; gap: 4px; }
.eq-form--persona button[type="submit"] { margin-top: 0; }
.eq-persona__n b { display: block; }
.eq-persona__n small { color: var(--gris-medio); }
@media (max-width: 1140px) { .eq-form--persona { grid-template-columns: 1fr 1fr; } .eq-persona__n { grid-column: 1 / -1; } }
@media (max-width: 560px) { .eq-form--persona { grid-template-columns: 1fr; } }

/* Indexación: matriz obra × índice */
.eq-ix-ley { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 14px; padding: 0; list-style: none; font-size: .875rem; color: var(--gris-medio); }
.eq-ix-ley li { display: inline-flex; align-items: center; gap: 6px; }
.eq-ix-ley .eq-ix { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 8px; padding: 0 4px; }
.eq-tabla--ix { max-height: 75vh; }
.eq-ix-tabla { font-size: .875rem !important; }
.eq-ix-tabla th, .eq-ix-tabla td { padding: 6px 8px !important; }
.eq-ix-tabla thead th { position: sticky; top: 0; z-index: 2; text-align: center; text-transform: none !important; letter-spacing: 0 !important; }
.eq-ix-tabla thead th abbr { text-decoration: none; font-weight: 700; color: var(--azul-texto); display: block; }
.eq-ix-tabla thead th small { display: block; font-size: .6875rem; font-weight: 400; white-space: normal; min-width: 64px; line-height: 1.2; }
.eq-ix-tabla tbody th, .eq-ix-tabla tfoot th, .eq-ix-tabla thead th:first-child { position: sticky; left: 0; z-index: 1; background: var(--blanco); min-width: 200px; max-width: 260px; text-align: left; }
.eq-ix-tabla thead th:first-child { z-index: 3; background: var(--tinte-azul); }
.eq-ix-tabla tbody th a { font-weight: 700; }
.eq-ix-tabla tfoot th, .eq-ix-tabla tfoot td { background: var(--tinte-azul); font-weight: 700; text-align: center; border-bottom: 0; }
.eq-ix-tabla tfoot th { text-align: left; }
td.eq-ix { text-align: center; font-weight: 700; font-size: 1rem; vertical-align: middle !important; }
.eq-ix a { text-decoration: none; display: block; color: inherit !important; }
.eq-ix--si { background: #E6F5EC; color: #11663B; }
.eq-ix--en-tramite { background: #FFF1C9; color: #6B4E00; }
.eq-ix--no-indexada, .eq-ix--no-aparece { background: #FDECEC; color: #9B1C1C; }
.eq-ix--por-confirmar { color: var(--gris-claro); }
.eq-ix--auto { color: var(--gris-claro); }
.eq-ix--pista { box-shadow: inset 0 -3px 0 var(--azul-clave); color: var(--azul-texto); }
.eq-ix__extra { opacity: .7; }
.eq-ix__extra-m { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 8px; border: 1px dashed var(--azul-filete); font-size: .75rem; font-weight: 700; opacity: .8; }

/* Pie */
.eq-pie { padding: 20px var(--gutter) 32px; color: var(--gris-medio); font-size: .875rem; border-top: var(--filete); }

/* Modo nocturno (el mismo botón del portal) */
html[data-tema="noche"] .eq-tarj--amarilla, html[data-tema="noche"] .eq-aviso--clave, html[data-tema="noche"] .eq-aviso--pc, html[data-tema="noche"] .eq-nec { background: #2A2210; border-color: #6B5520; color: #EADBB5; }
html[data-tema="noche"] .eq-tarj--amarilla b { color: #F2C46D; }
html[data-tema="noche"] .eq-aviso--ok { background: #12301F; border-color: #2E6B47; color: #BFE8CF; }
html[data-tema="noche"] .eq-aviso--error { background: #3A1616; border-color: #7A3333; color: #F6C9C9; }
html[data-tema="noche"] .eq-clave { background: #15232C; color: #FBE7B5; }
html[data-tema="noche"] .confirmar { background: #4A3A10; color: #FBE7B5; }
html[data-tema="noche"] .eq-estado--pendiente, html[data-tema="noche"] .eq-estado--nuevo, html[data-tema="noche"] .eq-estado--nueva { background: #1A2D39; color: #B9CDD6; }
html[data-tema="noche"] .eq-estado--en_proceso, html[data-tema="noche"] .eq-estado--en_revision { background: #4A3A10; color: #FBE7B5; }
html[data-tema="noche"] .eq-estado--hecha { background: #12364A; color: #9FDCF5; }
html[data-tema="noche"] .eq-estado--verificada, html[data-tema="noche"] .eq-estado--aceptada, html[data-tema="noche"] .eq-estado--resuelto { background: #12301F; color: #9FE0BC; }
html[data-tema="noche"] .eq-estado--pide_mas { background: #3A1616; color: #F6C9C9; }
html[data-tema="noche"] .eq-estado--descartada { background: #2A2F33; color: #BAC7CF; }
html[data-tema="noche"] .eq-ix--si { background: #12301F; color: #9FE0BC; }
html[data-tema="noche"] .eq-ix--en-tramite { background: #4A3A10; color: #FBE7B5; }
html[data-tema="noche"] .eq-ix--no-indexada, html[data-tema="noche"] .eq-ix--no-aparece { background: #3A1616; color: #F6C9C9; }
html[data-tema="noche"] .eq-url small { color: #F2C46D; }
html[data-tema="noche"] .eq-copiado { color: #9FE0BC; }
@media (max-width: 600px) { .eq-marca__logo img { width: 108px; } .eq-marca__txt { font-size: .875rem; } .eq-main { padding-top: 20px; } }
@media print { .eq-cab, .eq-pie, .eq-accion { display: none !important; } }

/* Avance del equipo (7 nov 2026): solo el total de la página y el aporte de quien entra; nunca el de otra persona */
.eq-meta-equipo { margin: 0 0 32px; padding: clamp(20px, 3vw, 28px); border-radius: 20px; background: linear-gradient(150deg, #0B3B55 20%, #00628C); color: #fff;
  box-shadow: 0 30px 60px -40px rgba(11, 59, 85, .6); }
.eq-meta-equipo .etiqueta { color: #7FE0FF; }
.eq-meta-equipo .eq-h2 { color: #fff; font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem); margin-bottom: 4px; }
.eq-meta-equipo p { color: #DCEFF7; }
.eq-meta-equipo__cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 32px; align-items: flex-start; margin-bottom: 18px; }
.eq-pct { color: #7FE0FF; }
.eq-mio { padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .2); min-width: 230px; }
.eq-mio p { margin: 2px 0; font-size: .9375rem; color: #DCEFF7; }
.eq-mio b { color: #fff; }
.eq-avance { height: 10px; border-radius: 999px; background: rgba(0, 98, 140, .14); overflow: hidden; }
.eq-avance span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #00ADEB, #7FE0FF); transition: width .6s ease; }
.eq-avance--grande { height: 14px; }
.eq-avance--chica { height: 6px; }
.eq-meta-equipo .eq-avance { background: rgba(255, 255, 255, .16); }
.eq-cats { list-style: none; padding: 0; margin: 18px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px 22px; }
.eq-cats li { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; font-size: .875rem; color: #DCEFF7; }
.eq-cats b { color: #fff; font-weight: 600; white-space: nowrap; }
.eq-cats .eq-avance { grid-column: 1 / -1; }
.eq-publicado { margin: 10px 0 0; padding: 10px 14px; border-radius: 10px; background: #E6F7EE; color: #11663B; font-size: .9375rem; }
.eq-cita { margin: 8px 0; padding: 6px 12px; border-left: 3px solid #FFD54A; background: #FFF8DC; color: #58595B; font-size: .9375rem; border-radius: 0 8px 8px 0; }
.eq-nota-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 10px; }
.eq-nota-acciones form { margin: 0; }
.eq-antes-despues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 10px 0; }
.eq-antes-despues > div { padding: 12px 14px; border-radius: 12px; border: var(--filete); background: var(--blanco); }
.eq-antes-despues > div:last-child { border-color: var(--azul-clave); background: var(--tinte-azul); }
.eq-antes-despues p { margin: 4px 0 0; }
@media (max-width: 640px) { .eq-antes-despues { grid-template-columns: 1fr; } .eq-mio { min-width: 0; width: 100%; } }
html[data-tema="noche"] .eq-publicado { background: #0F3323; color: #8FE3B5; }
html[data-tema="noche"] .eq-cita { background: #2A2410; color: #E8E0C0; }

/* ===== 8 nov 2026: todo centrado y con aire, «Ver como», tutorial de cada sección, arrastrar archivos, chat en vivo y Formación visual ===== */

/* Íconos de línea */
.fm-i { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; vertical-align: -.2em; }

/* Encabezados, tarjetas y bloques centrados */
.eq-hola .etiqueta { justify-content: center; }
.eq-tabs { justify-content: center; }
.eq-hola .eq-inline { justify-content: center; margin-top: 8px; }
.eq-hola .eq-aviso { text-align: left; }
.eq-hola > p > .boton-solido { margin-top: 4px; }
.eq-bloque > .eq-h2, .eq-grupo > .eq-h2, section.eq-grupo > .eq-meta { text-align: center; }
details.eq-grupo > summary, details.eq-obra > summary { justify-content: center; }
.eq-tarjs { gap: 16px; }
.eq-tarj { justify-items: center; text-align: center; padding: 22px 18px; gap: 6px; }
.eq-tarj--chat { border-color: #A9DCC0; }
.eq-tarj--chat b { color: #11663B; }
.eq-tarj--formacion { border-color: var(--azul-clave); }
.eq-vacio { text-align: center; padding: 28px 20px; }
.eq-aviso { text-align: center; }
.eq-aviso--clave { text-align: left; }
.eq-bloque > .eq-form--ancho, .eq-form--ancho { margin-inline: auto; }
.eq-bloque > .eq-form--ancho { padding: clamp(18px, 3vw, 28px); background: var(--blanco); border: var(--filete); border-radius: 20px; }
.eq-pie { text-align: center; }
.eq-pie p { margin: 0 auto; max-width: 72ch; }
.eq-pie a { margin-left: 6px; }
.eq-entrar { text-align: center; }
.eq-entrar .eq-form { text-align: left; margin-inline: auto; }
.eq-tabla th small { margin-top: 2px; }
.eq-meta-equipo__cab > div:first-child { flex: 1 1 340px; }
.eq-persona__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--azul-filete); }
@media (max-width: 640px) { .eq-meta-equipo__cab { text-align: center; justify-content: center; } }

/* Aviso flotante */
.eq-toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); translate: -50% 0; z-index: 9999; max-width: min(560px, calc(100vw - 32px)); padding: 12px 18px; border-radius: 14px;
  background: #0B3B55; color: #fff; font-size: .9375rem; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .6); text-align: center; transition: opacity .3s, translate .3s; }
.eq-toast--mal { background: #8A1C1C; }
.eq-toast.is-fuera { opacity: 0; translate: -50% 8px; }

/* Menú: mensajes nuevos del chat */
.eq-menu__n { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: #2BD07B; color: #06301A; font-size: .75rem; font-weight: 700; display: inline-grid; place-items: center; line-height: 1; }
.eq-menu__n[hidden] { display: none; }
.eq-menu a[aria-current="page"] .eq-menu__n { background: #0B3B55; color: #fff; }

/* «Ver como»: franja amarilla y bloque del inicio */
.eq-viendo { position: sticky; top: 0; z-index: 60; background: #FFD54A; color: #2E2304; box-shadow: 0 6px 18px -10px rgba(0, 0, 0, .45); }
.eq-viendo__fila { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 20px; min-height: 52px; padding-block: 8px; text-align: center; }
.eq-viendo p { margin: 0; display: inline-flex; align-items: center; gap: 10px; font-weight: 500; }
.eq-viendo svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; flex: none; }
.eq-viendo form { margin: 0; }
.eq-viendo__salir { font: inherit; font-weight: 700; border: 0; border-radius: 999px; padding: 8px 18px; min-height: 40px; background: #0B3B55; color: #fff; cursor: pointer; }
.eq-viendo__salir:hover, .eq-viendo__salir:focus-visible { background: #00628C; }
.eq-ver { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 28px; align-items: center; padding: clamp(18px, 3vw, 26px); border-radius: 20px; background: #FFF8E6; border: 1px solid #F0D58A; }
.eq-ver .eq-h2 { margin: 4px 0 6px; }
.eq-ver .eq-meta { margin: 0; }
.eq-ver__form { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.eq-ver__form select { font: inherit; font-size: 1rem; min-height: 44px; max-width: 100%; padding: 8px 12px; border-radius: 10px; border: 1.5px solid var(--azul-filete); background: var(--blanco); color: var(--gris-carbon); }
@media (max-width: 800px) { .eq-ver { grid-template-columns: 1fr; text-align: center; } }
html[data-tema="noche"] .eq-ver { background: #2A2210; border-color: #6B5520; }

/* Tutorial de cada sección */
.eq-tut-boton { display: flex; justify-content: center; margin: 18px 0 0; }
.eq-tut-abrir { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 8px 20px; border-radius: 999px; border: 1.5px solid var(--azul-clave);
  background: var(--blanco); color: var(--azul-texto); font: inherit; font-weight: 600; font-size: .9375rem; cursor: pointer; transition: background .15s; }
.eq-tut-abrir:hover, .eq-tut-abrir:focus-visible { background: var(--tinte-azul); }
.eq-tut-abrir svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.eq-tut { width: min(780px, calc(100vw - 32px)); max-height: min(88vh, 920px); padding: 0; border: 0; border-radius: 24px; overflow: auto; background: var(--blanco); color: var(--gris-carbon);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .55); text-align: left; }
.eq-tut::backdrop { background: rgba(11, 59, 85, .55); }
.eq-tut__cab { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 22px 26px 16px; background: var(--blanco); border-bottom: var(--filete); }
.eq-tut__cab .etiqueta { margin: 0; }
.eq-tut__cab h2 { margin: 4px 0 0; font-size: 1.5rem; line-height: 1.2; }
.eq-tut__cerrar { flex: none; width: 42px; height: 42px; border-radius: 50%; border: 0; background: var(--tinte-azul); color: var(--gris-carbon); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.eq-tut__pasos { list-style: none; margin: 0; padding: 22px 26px; display: grid; gap: 26px; }
.eq-tut__paso { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; }
.eq-tut__n { width: 36px; height: 36px; border-radius: 50%; background: var(--azul-tinta); color: #fff; display: grid; place-items: center; font-weight: 700; }
.eq-tut__paso h3 { margin: 5px 0 6px; font-size: 1.0625rem; }
.eq-tut__paso p { margin: 0; line-height: 1.55; color: var(--gris-medio); }
.eq-tut__paso figure { margin: 14px 0 0; }
.eq-tut__paso img { width: 100%; height: auto; display: block; border-radius: 14px; border: var(--filete); box-shadow: 0 16px 30px -24px rgba(11, 59, 85, .6); }
.eq-tut__pie { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 14px 26px; background: var(--blanco); border-top: var(--filete); }
@media (max-width: 560px) { .eq-tut__cab, .eq-tut__pasos, .eq-tut__pie { padding-inline: 18px; } .eq-tut__pie { justify-content: center; } }

/* Arrastrar y soltar archivos */
.eq-soltar { display: grid; gap: 10px; position: relative; }
.eq-soltar__input { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.eq-soltar__zona { display: grid; justify-items: center; text-align: center; gap: 8px; padding: 22px 18px; border: 2px dashed var(--azul-filete); border-radius: 18px; background: var(--blanco-hueso); cursor: pointer;
  transition: border-color .15s, background .15s; }
.eq-soltar__zona:hover, .eq-soltar--encima .eq-soltar__zona { border-color: var(--azul-clave); background: var(--tinte-azul); }
.eq-soltar__input:focus-visible ~ .eq-soltar__zona { outline: 3px solid rgba(0, 173, 235, .45); outline-offset: 2px; }
.eq-soltar__ico { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--tinte-azul); color: var(--azul-texto); }
.eq-soltar__ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.eq-soltar__zona p { margin: 0; display: grid; gap: 2px; }
.eq-soltar__zona p b { font-size: 1rem; }
.eq-soltar__zona p span { font-size: .9375rem; color: var(--gris-medio); }
.eq-soltar__elegir { font: inherit; color: var(--azul-texto); background: none; border: 0; padding: 0; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.eq-soltar__zona small { color: var(--gris-medio); font-size: .8125rem; }
.eq-soltar__lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.eq-soltar__lista:empty { display: none; }
.eq-soltar__lista li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: var(--blanco); border: var(--filete); }
.eq-soltar__ext, .ch-m__ext, .fm-ext { min-width: 42px; padding: 4px 6px; border-radius: 8px; background: var(--azul-tinta); color: #fff; font-size: .6875rem; font-weight: 700; text-align: center; letter-spacing: .03em; }
.eq-soltar__n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.eq-soltar__lista small { color: var(--gris-medio); white-space: nowrap; }
.eq-soltar__lista button { width: 32px; height: 32px; border-radius: 50%; border: 0; background: var(--tinte-azul); color: var(--gris-carbon); font-size: 1.125rem; line-height: 1; cursor: pointer; }
.eq-soltar__error { margin: 0; padding: 8px 12px; border-radius: 10px; background: #FDECEC; color: #8A1C1C; font-size: .875rem; }
.eq-soltar__error[hidden] { display: none; }
html[data-tema="noche"] .eq-soltar__error { background: #3A1616; color: #F6C9C9; }

/* ===== Chat del equipo ===== */
.ch { display: grid; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); height: min(76vh, 780px); min-height: 520px; background: var(--blanco); border: var(--filete); border-radius: 22px; overflow: hidden;
  box-shadow: 0 30px 60px -48px rgba(11, 59, 85, .65); text-align: left; }
.ch--solo { grid-template-columns: minmax(0, 1fr); height: 540px; min-height: 0; border-radius: 16px; box-shadow: none; }
.ch-cargando { margin: auto; color: var(--gris-medio); padding: 40px 16px; text-align: center; grid-column: 1 / -1; }
.ch-lista { display: flex; flex-direction: column; min-height: 0; background: var(--blanco-hueso); border-right: var(--filete); }
.ch-lista__cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 18px 10px; }
.ch-lista__cab b { font-size: 1.0625rem; }
.ch-enlinea { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; color: #11663B; font-weight: 600; }
.ch-enlinea::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #2BD07B; }
.ch-enlinea[hidden] { display: none; }
.ch-buscar { display: block; padding: 0 14px 8px; }
.ch-buscar input { width: 100%; box-sizing: border-box; font: inherit; font-size: .9375rem; min-height: 40px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--azul-filete); background: var(--blanco); color: var(--gris-carbon); }
.ch-lista__scroll { flex: 1; overflow-y: auto; padding: 0 10px 14px; }
.ch-lista__vacio { text-align: center; color: var(--gris-medio); font-size: .875rem; padding: 20px 8px; }
.ch-grupo ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ch-grupo__t { margin: 14px 8px 6px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gris-medio); }
.ch-item { width: 100%; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 14px; background: none; color: var(--gris-carbon);
  font: inherit; text-align: left; cursor: pointer; min-height: 56px; }
.ch-item:hover, .ch-item:focus-visible { background: var(--tinte-azul); outline: none; }
.ch-item[aria-current="true"] { background: var(--azul-tinta); color: #fff; }
.ch-item__txt { min-width: 0; }
.ch-item b { display: block; font-weight: 600; font-size: .9375rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ch-item small { display: block; font-size: .8125rem; color: var(--gris-medio); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.ch-item--nuevo b, .ch-item--nuevo small { color: var(--gris-carbon); font-weight: 700; }
.ch-item[aria-current="true"] small, .ch-item[aria-current="true"] b { color: #fff; }
.ch-item[aria-current="true"] small { color: #DCEFF7; font-weight: 400; }
.ch-item__n { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: #2BD07B; color: #06301A; font-size: .75rem; font-weight: 700; display: grid; place-items: center; }
.ch-ava { position: relative; flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--azul-tinta); color: #fff; font-size: .8125rem; font-weight: 700; letter-spacing: .02em; }
.ch-ava svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ch-ava--general { background: linear-gradient(135deg, #00ADEB, #00628C); }
.ch-ava--obra { background: #0B3B55; border-radius: 12px; }
.ch-ava--directo { background: #0094CE; }
.ch-punto { position: absolute; right: -1px; bottom: -1px; width: 13px; height: 13px; border-radius: 50%; background: #2BD07B; border: 2px solid var(--blanco-hueso); }
.ch-conv { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; background: var(--blanco); }
.ch-conv__cab { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: var(--filete); min-height: 68px; }
.ch-conv__txt { min-width: 0; flex: 1; }
.ch-conv__cab h2 { margin: 0; font-size: 1.0625rem; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ch-conv__cab p { margin: 2px 0 0; font-size: .8125rem; color: var(--gris-medio); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ch-atras { display: none; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--tinte-azul); color: var(--gris-carbon); cursor: pointer; place-items: center; flex: none; }
.ch-atras svg, .ch-clip svg, .ch-enviar svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ch-ir { flex: none; font-size: .875rem; font-weight: 600; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--azul-clave); text-decoration: none; min-height: 38px; display: inline-flex; align-items: center; }
.ch-ir[hidden] { display: none; }
.ch-mensajes { flex: 1; overflow-y: auto; padding: 18px clamp(12px, 3vw, 28px) 12px; display: flex; flex-direction: column; gap: 6px; background: var(--blanco-hueso); overscroll-behavior: contain; }
.ch-dia { align-self: center; margin: 14px 0 8px; }
.ch-dia span { display: inline-block; padding: 4px 14px; border-radius: 999px; background: var(--tinte-azul); color: var(--gris-medio); font-size: .75rem; font-weight: 600; text-transform: capitalize; }
.ch-m { display: flex; align-items: flex-end; gap: 8px; max-width: min(80%, 640px); }
.ch-m--mio { align-self: flex-end; flex-direction: row-reverse; }
.ch-m--seguido { margin-top: -2px; }
.ch-m .ch-ava { width: 32px; height: 32px; font-size: .6875rem; }
.ch-m--seguido .ch-ava { visibility: hidden; }
.ch-m__globo { min-width: 0; padding: 9px 14px 6px; border-radius: 18px 18px 18px 6px; background: var(--blanco); border: var(--filete); box-shadow: 0 4px 12px -10px rgba(11, 59, 85, .5); }
.ch-m--mio .ch-m__globo { background: #00628C; color: #fff; border-color: transparent; border-radius: 18px 18px 6px 18px; }
.ch-m__quien { margin: 0 0 2px; font-size: .75rem; font-weight: 700; color: var(--azul-texto); }
.ch-m__texto { margin: 0; font-size: .9375rem; line-height: 1.45; overflow-wrap: anywhere; }
.ch-m--mio .ch-m__texto a { color: #fff; }
.ch-m__hora { margin: 3px 0 0; font-size: .6875rem; color: var(--gris-claro); text-align: right; }
.ch-m--mio .ch-m__hora { color: #BDEBFB; }
.ch-m__archivo { display: flex; align-items: center; gap: 10px; margin: 6px 0 2px; padding: 8px 10px; border-radius: 12px; background: var(--tinte-azul); color: var(--gris-carbon) !important; text-decoration: none; }
.ch-m--mio .ch-m__archivo { background: rgba(255, 255, 255, .14); color: #fff !important; }
.ch-m__archivo span:last-child { display: grid; min-width: 0; font-size: .875rem; font-weight: 600; overflow-wrap: anywhere; }
.ch-m__archivo small { font-weight: 400; opacity: .8; }
.ch-vacio { margin: auto; max-width: 340px; text-align: center; padding: 30px 16px; color: var(--gris-medio); }
.ch-vacio b { display: block; color: var(--gris-carbon); font-size: 1.0625rem; margin-bottom: 4px; }
.ch-vacio p { margin: 0; line-height: 1.5; }
.ch-vacio__ico { display: inline-grid; place-items: center; width: 56px; height: 56px; margin-bottom: 10px; border-radius: 50%; background: var(--tinte-azul); color: var(--azul-texto); }
.ch-vacio__ico svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ch-bajar { position: absolute; left: 50%; bottom: 84px; translate: -50% 0; z-index: 3; font: inherit; font-size: .875rem; font-weight: 600; padding: 8px 16px; border: 0; border-radius: 999px; background: #0B3B55; color: #fff; cursor: pointer; box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .6); }
.ch-bajar[hidden] { display: none; }
.ch-escribir { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: end; gap: 10px; padding: 12px 14px; border-top: var(--filete); background: var(--blanco); }
.ch-escribir textarea { width: 100%; box-sizing: border-box; resize: none; min-height: 46px; max-height: 160px; padding: 12px 16px; border-radius: 22px; border: 1.5px solid var(--azul-filete); background: var(--blanco-hueso);
  color: var(--gris-carbon); font: inherit; font-size: 1rem; line-height: 1.35; }
.ch-escribir textarea:focus-visible { outline: 3px solid rgba(0, 173, 235, .3); border-color: var(--azul-clave); }
.ch-clip, .ch-enviar { width: 46px; height: 46px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; flex: none; }
.ch-clip { background: var(--tinte-azul); color: var(--azul-texto); }
.ch-enviar { background: #0094CE; color: #fff; }
.ch-enviar:hover { background: #00628C; }
.ch-enviar:disabled { opacity: .6; cursor: wait; }
.ch-adjunto { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: var(--tinte-azul); }
.ch-adjunto[hidden] { display: none; }
.ch-adjunto__n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; font-size: .875rem; }
.ch-adjunto__n small { font-weight: 400; color: var(--gris-medio); }
.ch-adjunto button { width: 30px; height: 30px; border-radius: 50%; border: 0; background: var(--blanco); color: var(--gris-carbon); cursor: pointer; font-size: 1.125rem; line-height: 1; }
.ch-error { margin: 0; padding: 8px 16px; background: #FDECEC; color: #8A1C1C; font-size: .875rem; text-align: center; }
.ch-error[hidden] { display: none; }
.ch-solo-ver { margin: 0; padding: 14px 16px; border-top: var(--filete); background: #FFF8E6; color: #4A3A10; text-align: center; font-weight: 500; }
.ch-capa { position: absolute; inset: 8px; z-index: 4; display: grid; place-items: center; border: 2px dashed var(--azul-clave); border-radius: 18px; background: rgba(232, 239, 243, .94); color: var(--azul-texto); font-weight: 600; pointer-events: none; }
.ch-capa[hidden] { display: none; }
.ch-capa span { display: grid; justify-items: center; gap: 8px; }
.ch-capa svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 760px) {
  .ch { grid-template-columns: minmax(0, 1fr); height: calc(100svh - 230px); min-height: 460px; border-radius: 18px; }
  .ch:not(.ch--solo) .ch-conv { display: none; }
  .ch--abierta:not(.ch--solo) .ch-conv { display: flex; }
  .ch--abierta:not(.ch--solo) .ch-lista { display: none; }
  .ch-atras { display: grid; }
  .ch-lista { border-right: 0; }
  .ch-m { max-width: 88%; }
  .ch-ir { padding: 6px 10px; font-size: .8125rem; }
}
html[data-tema="noche"] .ch-m--mio .ch-m__globo { background: #0E5A80; }
html[data-tema="noche"] .ch-capa { background: rgba(14, 25, 32, .94); }
html[data-tema="noche"] .ch-error { background: #3A1616; color: #F6C9C9; }
html[data-tema="noche"] .ch-solo-ver { background: #2A2210; color: #EADBB5; }
html[data-tema="noche"] .ch-enlinea { color: #8FE3B5; }

/* ===== Formación: tablero por etapas y ficha de cada obra ===== */
.fm-hola { max-width: 900px; }
/* El «tubo» de etapas del encabezado */
.fm-tubo { list-style: none; padding: 0; margin: 26px auto 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.fm-tubo li { display: flex; align-items: center; gap: 10px; }
.fm-tubo li + li::before { content: ''; width: 18px; height: 2px; border-radius: 2px; background: var(--azul-filete); }
.fm-tubo__paso { --c: var(--azul-texto); display: grid; justify-items: center; gap: 2px; min-width: 116px; padding: 12px 14px 10px; border-radius: 18px; background: var(--blanco); border: var(--filete); border-top: 4px solid var(--c);
  color: var(--gris-carbon) !important; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.fm-tubo__paso:hover, .fm-tubo__paso:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 26px -20px rgba(11, 59, 85, .7); }
.fm-tubo__ico { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--tinte-azul); color: var(--c); }
.fm-tubo__paso b { font-size: 1.75rem; line-height: 1.1; color: var(--c); font-variant-numeric: tabular-nums; }
.fm-tubo__paso > span:last-child { font-size: .8125rem; color: var(--gris-medio); font-weight: 500; }
.fm-tubo__paso--espera, .fm-col--espera { --c: #4E6E82; }
.fm-tubo__paso--formacion, .fm-col--formacion { --c: #0094CE; }
.fm-tubo__paso--cambios, .fm-col--cambios { --c: #C77700; }
.fm-tubo__paso--formada, .fm-col--formada { --c: #1E9E5A; }
.fm-tubo__paso--terminada, .fm-col--terminada { --c: #0B3B55; }
html[data-tema="noche"] .fm-tubo__paso--terminada, html[data-tema="noche"] .fm-col--terminada { --c: #7FE0FF; }
html[data-tema="noche"] .fm-tubo__paso--espera, html[data-tema="noche"] .fm-col--espera { --c: #9FB8C6; }
@media (max-width: 760px) { .fm-tubo li + li::before { display: none; } .fm-tubo__paso { min-width: 96px; padding: 10px; } }

/* Enviar una obra */
.fm-nueva { max-width: 880px; margin: 0 auto 30px; }
.fm-nueva > details { border-radius: 22px; background: var(--blanco); border: 2px solid var(--azul-clave); box-shadow: 0 24px 48px -36px rgba(11, 59, 85, .5); }
.fm-nueva__abrir { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 22px; font-size: 1.125rem; font-weight: 600; color: var(--azul-texto); text-align: center; }
.fm-nueva__abrir::-webkit-details-marker { display: none; }
.fm-nueva__mas { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--azul-tinta); color: #fff; font-size: 1.25rem; transition: rotate .2s ease; }
.fm-nueva > details[open] .fm-nueva__mas { rotate: 45deg; }
.fm-form { max-width: none; padding: 0 clamp(18px, 4vw, 40px) 30px; margin: 0; }
.fm-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.fm-dos > div { display: grid; gap: 6px; align-content: start; }
.fm-enviar { min-width: 260px; }
.fm-nota-emergencia { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 6px 0 4px; padding: 10px 14px; border-radius: 12px; background: #FFF4F2; color: #8A1C1C; font-size: .9375rem; text-align: center; }
.fm-nota-emergencia .fm-i { color: #C62828; }
html[data-tema="noche"] .fm-nota-emergencia { background: #3A1414; color: #FFB4B4; }
/* Prioridades */
.fm-prioridad { display: block !important; border: 0; padding: 0; margin: 12px 0 0 !important; }
.fm-prioridad legend { font-weight: 600; font-size: .9375rem; margin-bottom: 8px; }
.fm-prioridad__op { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fm-prio { --c: #0094CE; --t: #E6F4FB; position: relative; display: grid !important; justify-items: center; align-content: start; text-align: center; gap: 4px; margin: 0 !important; padding: 14px 10px 12px;
  border-radius: 16px; border: 2px solid var(--azul-filete); background: var(--blanco); cursor: pointer; font-weight: 400 !important; transition: border-color .15s, background .15s; }
.fm-prio input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.fm-prio__punto { width: 16px; height: 16px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px var(--t); }
.fm-prio b { font-size: 1rem; color: var(--gris-carbon); }
.fm-prio small { font-size: .75rem; line-height: 1.35; color: var(--gris-medio); }
.fm-prio:hover { border-color: var(--c); }
.fm-prio:has(input:checked) { border-color: var(--c); background: var(--t); box-shadow: 0 10px 22px -18px var(--c); }
.fm-prio:has(input:focus-visible) { outline: 3px solid rgba(0, 173, 235, .45); outline-offset: 2px; }
.fm-prio--baja { --c: #4E8A6A; --t: #E8F3EC; }
.fm-prio--normal { --c: #0094CE; --t: #E3F3FA; }
.fm-prio--alta { --c: #D97706; --t: #FDF0DF; }
.fm-prio--urgente { --c: #D9480F; --t: #FCE8DF; }
html[data-tema="noche"] .fm-prio { --t: #1A2D39; }
@media (max-width: 760px) { .fm-prioridad__op { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fm-dos { grid-template-columns: 1fr; } }

/* Buscar y filtrar */
.fm-filtros { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 12px; margin: 0 auto 18px; max-width: 880px; }
.fm-buscar { position: relative; flex: 1 1 320px; max-width: 520px; display: block; }
.fm-buscar .fm-i { position: absolute; left: 14px; top: 50%; translate: 0 -50%; color: var(--gris-medio); }
.fm-buscar input, .fm-coord select { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; min-height: 46px; border-radius: 999px; border: 1.5px solid var(--azul-filete); background: var(--blanco); color: var(--gris-carbon); }
.fm-buscar input { padding: 10px 16px 10px 42px; }
.fm-coord { flex: 0 1 280px; }
.fm-coord select { padding: 10px 16px; }
.fm-sin-resultados { text-align: center; color: var(--gris-medio); margin: 18px 0 0; }
.fm-retiradas { text-align: center; margin-top: 18px; }

/* Tablero */
.fm-tablero { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: start; }
@media (max-width: 1240px) { .fm-tablero { grid-template-columns: repeat(5, minmax(250px, 1fr)); overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 10px; } .fm-col { scroll-snap-align: start; } }
@media (max-width: 760px) { .fm-tablero { grid-template-columns: minmax(0, 1fr); overflow: visible; } }
.fm-col { --c: var(--azul-texto); min-width: 0; padding: 12px; border-radius: 20px; background: var(--blanco); border: var(--filete); border-top: 5px solid var(--c); scroll-margin-top: 24px; }
.fm-col__cab { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 4px 4px 12px; text-align: left; }
.fm-col__ico { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: var(--tinte-azul); color: var(--c); }
.fm-col__t { margin: 0; font-size: 1rem; line-height: 1.2; color: var(--gris-carbon); }
.fm-col__sub { margin: 2px 0 0; font-size: .75rem; color: var(--gris-medio); line-height: 1.3; }
.fm-col__n { min-width: 32px; height: 32px; padding: 0 8px; border-radius: 999px; display: grid; place-items: center; background: var(--c); color: #fff; font-weight: 700; font-variant-numeric: tabular-nums; }
html[data-tema="noche"] .fm-col__n { color: #0E1920; }
.fm-col__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fm-col__vacio { margin: 0; padding: 22px 10px; border: 1.5px dashed var(--azul-filete); border-radius: 14px; text-align: center; color: var(--gris-claro); font-size: .875rem; }
.fm-col__mas { margin: 10px 0 0; font-size: .75rem; color: var(--gris-medio); text-align: center; }
.fm-mini[hidden] { display: none; }
.fm-mini__a { --p: #0094CE; display: grid; gap: 8px; padding: 12px 14px 0; border-radius: 16px; border: 1px solid var(--azul-filete); border-left: 5px solid var(--p); background: var(--blanco-hueso);
  color: var(--gris-carbon) !important; text-decoration: none; overflow: hidden; text-align: left; transition: transform .15s, box-shadow .15s, border-color .15s; }
.fm-mini__a:hover, .fm-mini__a:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 28px -22px rgba(11, 59, 85, .7); border-color: var(--azul-clave); border-left-color: var(--p); }
.fm-mini--baja .fm-mini__a { --p: #4E8A6A; }
.fm-mini--alta .fm-mini__a { --p: #D97706; }
.fm-mini--urgente .fm-mini__a { --p: #D9480F; }
.fm-mini--emergencia .fm-mini__a { --p: #C62828; border-color: #E9A3A3; box-shadow: 0 0 0 2px rgba(198, 40, 40, .12); }
.fm-mini__fila { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 8px; }
.fm-mini__t { font-size: .9375rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fm-mini__au { font-size: .8125rem; color: var(--gris-medio); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fm-mini__pie { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: .75rem; color: var(--gris-medio); }
.fm-mini__fecha { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--gris-carbon); }
.fm-mini__iconos { margin-left: auto; display: inline-flex; align-items: center; gap: 10px; }
.fm-mini__iconos > span { display: inline-flex; align-items: center; gap: 3px; font-weight: 600; }
.fm-mini__chat { color: #11663B; }
.fm-mini__lugar { display: inline-flex; align-items: baseline; gap: 3px; padding: 3px 10px; border-radius: 999px; background: var(--noche-fijo); color: #fff; font-size: .9375rem; font-weight: 700; white-space: nowrap; }
.fm-mini__lugar small { font-size: .6875rem; font-weight: 500; opacity: .85; }
.fm-ava { width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--azul-tinta); color: #fff; font-size: .6875rem; font-weight: 700; flex: none; }
.fm-barra { display: block; height: 5px; margin: 2px -14px 0 -14px; background: var(--azul-filete); }
.fm-barra span { display: block; height: 100%; background: linear-gradient(90deg, #00ADEB, #00628C); }
.fm-mini .fm-dias { font-size: .75rem; }

/* Chips de etapa y prioridad */
.fm-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font-size: .75rem; font-weight: 700; white-space: nowrap; background: var(--tinte-azul); color: var(--azul-texto); }
.fm-chip--baja { background: #E8F3EC; color: #2F5D46; }
.fm-chip--normal { background: #E3F3FA; color: #00628C; }
.fm-chip--alta { background: #FDF0DF; color: #8A4B00; }
.fm-chip--urgente { background: #FCE8DF; color: #9A3412; }
.fm-chip--emergencia { background: #C62828; color: #fff; }
.fm-chip--emergencia::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: fm-pulso 1.4s ease-out infinite; }
@keyframes fm-pulso { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); } 100% { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0); } }
.fm-chip--etapa { background: rgba(255, 255, 255, .16); color: #fff; }
html[data-tema="noche"] .fm-chip--baja { background: #12301F; color: #9FE0BC; }
html[data-tema="noche"] .fm-chip--normal { background: #12364A; color: #9FDCF5; }
html[data-tema="noche"] .fm-chip--alta { background: #3A2C08; color: #FFD27A; }
html[data-tema="noche"] .fm-chip--urgente { background: #3A1A0E; color: #FFB993; }
.fm-dias { font-weight: 600; color: var(--azul-texto); white-space: nowrap; }
.fm-dias--pronto { color: #B45309; }
.fm-dias--hoy, .fm-dias--tarde { color: #C62828; }
html[data-tema="noche"] .fm-dias--pronto { color: #FFD27A; }
html[data-tema="noche"] .fm-dias--hoy, html[data-tema="noche"] .fm-dias--tarde { color: #FFB4B4; }

/* Ficha de la obra */
.fm-ficha-hola { margin-bottom: 18px; }
.fm-volver { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 10px; font-weight: 600; text-decoration: none; padding: 6px 12px; border-radius: 999px; }
.fm-volver:hover { background: var(--tinte-azul); }
.fm-ficha { max-width: 1120px; margin: 0 auto; display: grid; gap: 22px; }
.fm-ficha__cab { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 22px 36px; padding: clamp(22px, 3.5vw, 38px); border-radius: 26px;
  background: linear-gradient(150deg, #0B3B55 18%, #00628C); color: #fff; box-shadow: 0 30px 60px -44px rgba(11, 59, 85, .8); }
.fm-ficha--emergencia .fm-ficha__cab { box-shadow: 0 0 0 3px #C62828, 0 30px 60px -44px rgba(198, 40, 40, .8); }
.fm-ficha__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.fm-ficha__t { margin: 0 0 8px; color: #fff; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); line-height: 1.2; }
.fm-ficha__au { margin: 0 0 8px; color: #DCEFF7; font-size: 1.0625rem; }
.fm-ficha__meta { margin: 0; color: #B9D9E8; font-size: .9375rem; }
.fm-ficha__fecha { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin: 14px 0 0; padding: 8px 16px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; }
.fm-ficha__fecha .fm-dias { color: #7FE0FF; }
.fm-ficha__fecha .fm-dias--pronto { color: #FFD27A; }
.fm-ficha__fecha .fm-dias--hoy, .fm-ficha__fecha .fm-dias--tarde { color: #FFB4B4; }
.fm-anillo { --p: 50; position: relative; width: 136px; aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; justify-items: center; text-align: center; gap: 0;
  background: conic-gradient(#7FE0FF calc(var(--p) * 1%), rgba(255, 255, 255, .14) 0); }
.fm-anillo::before { content: ''; position: absolute; inset: 11px; border-radius: 50%; background: #0B3B55; }
.fm-anillo > * { position: relative; }
.fm-anillo b { font-size: 2.5rem; line-height: 1; color: #fff; }
.fm-anillo small { font-size: .8125rem; color: #B9D9E8; }
.fm-anillo span { font-size: .6875rem; color: #B9D9E8; max-width: 92px; line-height: 1.2; margin-top: 2px; }
.fm-chip--etapa.fm-chip--cambios { background: #FFD27A; color: #3B2A00; }
.fm-chip--etapa.fm-chip--formada, .fm-chip--etapa.fm-chip--terminada { background: #8FE3B5; color: #0B2E1C; }
@media (max-width: 760px) { .fm-ficha__cab { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; } .fm-ficha__chips { justify-content: center; } }

/* Etapas */
.fm-etapas { list-style: none; margin: 0; padding: 8px 0 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fm-etapa { position: relative; display: grid; justify-items: center; align-content: start; gap: 4px; padding: 0 6px; text-align: center; }
.fm-etapa::before { content: ''; position: absolute; top: 25px; left: calc(-50% + 30px); width: calc(100% - 60px); height: 3px; border-radius: 3px; background: var(--azul-filete); }
.fm-etapa:first-child::before { display: none; }
.fm-etapa--hecho::before, .fm-etapa--actual::before { background: #1E9E5A; }
.fm-etapa__ico { position: relative; z-index: 1; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 22px; background: var(--blanco); border: 3px solid var(--azul-filete); color: var(--gris-claro); }
.fm-etapa--hecho .fm-etapa__ico { background: #1E9E5A; border-color: #1E9E5A; color: #fff; }
.fm-etapa--actual .fm-etapa__ico { background: #00628C; border-color: #7FE0FF; color: #fff; box-shadow: 0 0 0 6px rgba(0, 173, 235, .18); }
.fm-ficha--cambios .fm-etapa--actual .fm-etapa__ico { background: #C77700; border-color: #FFD27A; box-shadow: 0 0 0 6px rgba(199, 119, 0, .18); }
.fm-etapa--opcional .fm-etapa__ico { border-style: dashed; }
.fm-etapa--omitido { opacity: .55; }
.fm-etapa b { font-size: .9375rem; color: var(--gris-carbon); line-height: 1.25; margin-top: 4px; }
.fm-etapa--luego b, .fm-etapa--opcional b { color: var(--gris-medio); font-weight: 500; }
.fm-etapa small { font-size: .75rem; color: var(--gris-medio); }
@media (max-width: 640px) {
  .fm-etapas { grid-template-columns: minmax(0, 1fr); gap: 14px; padding-left: 4px; }
  .fm-etapa { grid-template-columns: 52px minmax(0, 1fr); justify-items: start; align-items: center; text-align: left; column-gap: 14px; row-gap: 0; }
  .fm-etapa__ico { grid-row: span 2; }
  .fm-etapa b { margin-top: 0; }
  .fm-etapa::before { top: -14px; left: 31px; width: 3px; height: 14px; }
}

/* Qué sigue y acciones */
.fm-sigue { padding: 22px clamp(18px, 3vw, 28px); border-radius: 22px; background: var(--tinte-azul); border: 1px solid var(--azul-filete); text-align: center; }
.fm-sigue__t { margin: 0 0 6px; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--azul-texto); }
.fm-sigue > p:not(.fm-sigue__t) { margin: 0 auto 16px; max-width: 68ch; font-size: 1.0625rem; line-height: 1.55; }
.fm-acciones { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 10px 12px; }
.fm-acciones > form { margin: 0; }
.fm-acciones--links { margin-top: 12px; gap: 4px 22px; }
.fm-accion { flex: 0 1 auto; }
.fm-accion[open] { flex: 1 1 100%; max-width: 680px; margin-inline: auto; padding: 16px 18px; border-radius: 18px; background: var(--blanco); border: var(--filete); text-align: left; }
.fm-accion > summary { list-style: none; cursor: pointer; display: inline-flex; }
.fm-accion[open] > summary { display: flex; justify-content: center; margin-bottom: 4px; }
.fm-accion > summary::-webkit-details-marker { display: none; }
.fm-accion .eq-form { margin: 12px auto 0; max-width: 620px; }
.fm-boton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 18px; border-radius: 999px; border: 1.5px solid var(--azul-clave); background: var(--blanco); color: var(--gris-carbon); font-weight: 600; font-size: .9375rem; }
.fm-boton:hover { background: var(--tinte-azul); }
.fm-boton--emergencia { border-color: #C62828; color: #C62828; }
.fm-boton--emergencia::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: #C62828; }
.fm-boton--emergencia:hover { background: #FDECEC; }
.fm-boton--ok { border-color: #1E9E5A; color: #11663B; }
.fm-boton--ok:hover { background: #F0FAF4; }
.fm-boton--editorial { background: #00628C; border-color: #00628C; color: #fff; }
.fm-boton--editorial:hover { background: #0B3B55; }
.fm-accion > summary.eq-link { padding: 9px 2px; }
.boton-solido.fm-boton-emergencia { background: #C62828; }
.boton-solido.fm-boton-emergencia:hover { background: #8A1C1C; }
html[data-tema="noche"] .fm-boton--emergencia { color: #FFB4B4; border-color: #E57373; }
html[data-tema="noche"] .fm-boton--ok { color: #8FE3B5; }
html[data-tema="noche"] .fm-boton--emergencia:hover, html[data-tema="noche"] .fm-boton--ok:hover { background: var(--tinte-azul); }
.fm-motivo { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 12px 16px; border-radius: 14px; background: #FDECEC; color: #8A1C1C; font-size: .9375rem; text-align: center; }
html[data-tema="noche"] .fm-motivo { background: #3A1414; color: #FFB4B4; }
.fm-entrega { padding: 16px 18px; border-radius: 18px; background: #F0FAF4; border: 1px solid #A9DCC0; text-align: center; }
.fm-entrega p { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px; color: #11663B; }
.fm-entrega .fm-archivos { justify-content: center; }
html[data-tema="noche"] .fm-entrega { background: #0F3323; border-color: #1E6B44; }
html[data-tema="noche"] .fm-entrega p { color: #8FE3B5; }

/* Paneles: conversación, archivos, notas e historial */
.fm-ficha__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.fm-ficha__lado { display: grid; gap: 20px; }
@media (max-width: 960px) { .fm-ficha__grid { grid-template-columns: minmax(0, 1fr); } }
.fm-panel { padding: 20px 22px; border-radius: 22px; background: var(--blanco); border: var(--filete); text-align: left; }
.fm-panel__t { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 1.0625rem; color: var(--gris-carbon); }
.fm-panel__t .fm-i { color: var(--azul-texto); }
.fm-panel > .eq-meta { margin: 0 0 12px; }
.fm-panel p { line-height: 1.55; }
.fm-panel--chat .ch { height: 540px; }
.fm-archivos { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 10px 14px; }
.fm-archivos li { display: inline-flex; align-items: center; gap: 8px; }
.fm-archivos .eq-archivo { margin-top: 0; }
.fm-archivos .eq-archivo::before { display: none; }
.fm-ext--enlace { display: inline-grid; place-items: center; }
.fm-hitos { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 16px; }
.fm-hito { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; position: relative; }
.fm-hito::before { content: ''; position: absolute; left: 16px; top: 36px; bottom: -16px; width: 2px; background: var(--azul-filete); }
.fm-hito:last-child::before { display: none; }
.fm-hito__ico { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--tinte-azul); color: var(--azul-texto); }
.fm-hito__t { margin: 6px 0 0; }
.fm-hito__t small { color: var(--gris-medio); }
.fm-hito p { margin: 4px 0 0; }
.fm-vacio { max-width: 640px; margin: 10px auto 0; }
@media (prefers-reduced-motion: reduce) { .fm-chip--emergencia::before { animation: none; } .fm-nueva__mas, .fm-mini__a, .fm-tubo__paso { transition: none; } }

/* Ajustes finos (8 nov 2026) */
.eq-tarjs { display: flex; flex-wrap: wrap; justify-content: center; }
.eq-tarj { flex: 1 1 210px; max-width: 280px; }
.eq-viendo p span { display: inline; }
.fm-mini__a { position: relative; }
.fm-mini__fila { padding-right: 46px; min-height: 26px; }
.fm-mini__lugar { position: absolute; top: 10px; right: 10px; width: 42px; height: 42px; padding: 0; border-radius: 50%; display: grid; place-content: center; justify-items: center; gap: 0; line-height: 1; font-size: 1.0625rem; }
.fm-mini__lugar small:first-child { display: none; }
.fm-mini__lugar small { font-size: .5625rem; margin-top: 1px; }
.fm-ficha__cab { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.fm-ficha__cab--anillo { grid-template-columns: minmax(0, 1fr) auto; }
.fm-ficha__txt { text-align: center; }
.fm-ficha__chips { justify-content: center; }
.ch--solo .ch-conv__cab { display: none; }
.fm-hito__t small { display: block; margin-top: 2px; }
@media (max-width: 760px) { .fm-ficha__cab--anillo { grid-template-columns: minmax(0, 1fr); } }

/* Sin desbordes en celulares (8 nov 2026): listas en una columna que se ajusta, palabras largas que se parten y tablas que recortan lo suyo */
.eq-tareas, .eq-pcs, .eq-personas, .fm-col__lista { grid-template-columns: minmax(0, 1fr); }
.eq-tarea, .eq-pc, .eq-persona, .fm-panel, .fm-sigue, .eq-bloque, .eq-grupo { min-width: 0; overflow-wrap: anywhere; }
.eq-tabla { position: relative; }
.eq-ver > *, .eq-ver__form, .eq-ver__form select, .fm-filtros > *, .fm-coord select, .eq-inline select, .eq-inline label { min-width: 0; max-width: 100%; }
.eq-hola .eq-inline { flex-wrap: wrap; }
@media (max-width: 560px) { .eq-ver__form select, .eq-inline select { width: 100%; } .eq-ver__form .boton-solido { width: 100%; } }
.eq-menu, .eq-menu__fila, .ch, .ch-lista, .ch-lista__scroll, .fm-tablero, .eq-cab { position: relative; }   /* el texto oculto para lectores de pantalla no ensancha la página */
/* 8 nov 2026: menú del espacio. Desde 761 px se acomoda en renglones centrados (nada cortado ni barra de desplazamiento);
   en el teléfono sigue en un renglón que se desliza, sin barra visible y con un desvanecido a la derecha mientras haya más */
@media (min-width: 761px) {
  .eq-menu { overflow: visible; padding-bottom: 12px; }
  .eq-menu__fila { flex-wrap: wrap; justify-content: center; width: auto; row-gap: 6px; }
}
@media (max-width: 760px) {
  .eq-menu { scrollbar-width: none; }
  .eq-menu::-webkit-scrollbar { display: none; }
  .eq-menu.is-mas { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
}
/* 8 nov 2026: botones centrados. El texto de cada botón, centrado aunque ocupe dos renglones; el botón del panel de
   indexación, centrado con su nota debajo */
.fm-boton, .boton-solido, .boton-contorno, .eq-tut-abrir { text-align: center; }
.eq-ix-panel { display: grid; justify-items: center; gap: 10px; text-align: center; }
.eq-ix-panel .eq-meta { max-width: 60ch; }
/* En celulares angostos: «Agregar archivos o una nota» sin ícono, para que su texto quede centrado aunque ocupe dos renglones;
   y en los formularios, el botón de enviar del ancho de los campos */
@media (max-width: 380px) { .fm-boton { padding-left: 14px; padding-right: 14px; } .fm-boton > svg { display: none; } }
@media (max-width: 560px) { .eq-form button[type="submit"] { width: 100%; } }

/* ===== Cierres (9 nov 2026): solicitud con ISBN, ficha catalográfica, comité y edición; datos que faltan y su recordatorio ===== */
a.fm-boton { text-decoration: none; }
.eq a.fm-boton--editorial, .eq a.fm-boton--editorial:hover, .eq a.fm-boton--editorial:visited { color: #fff; }   /* enlaces con forma de botón: texto blanco sobre azul */
.fm-chip .fm-i { width: 1.05em; height: 1.05em; }
.fm-chip--faltan { background: #FFF1CC; color: #6B4A00; box-shadow: inset 0 0 0 1px #F0C36D; }
.fm-chip--edicion { background: var(--tinte-azul); color: var(--azul-texto); }
.fm-chip--cierre { background: #E3F3FA; color: #00628C; }
.fm-chip--lista { background: #E8F3EC; color: #11663B; box-shadow: inset 0 0 0 1px #A9DCC0; }
.fm-mini__fila { justify-content: flex-start; }   /* los chips juntos, a la izquierda (el lugar en la fila va aparte, arriba a la derecha) */
html[data-tema="noche"] .fm-chip--faltan { background: #2E2410; color: #FFD27A; box-shadow: inset 0 0 0 1px #8A6A1F; }
html[data-tema="noche"] .fm-chip--cierre { background: #13324A; color: #9FDCF5; }
html[data-tema="noche"] .fm-chip--lista { background: #0F3323; color: #8FE3B5; box-shadow: inset 0 0 0 1px #1E6B44; }

/* Formulario: los datos del cierre */
.ci-campos { display: grid !important; gap: 14px; margin: 18px 0 4px !important; padding: 18px clamp(14px, 3vw, 22px) 20px !important; border: 2px solid var(--azul-filete) !important; border-radius: 18px; background: var(--blanco-hueso); align-items: stretch !important; }
.ci-campos > legend { display: inline-flex; align-items: center; gap: 8px; padding: 0 8px; margin: 0; font-size: 1rem; color: var(--azul-texto); }
.ci-campos__nota { margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--tinte-azul); color: var(--gris-carbon); font-size: .9375rem; line-height: 1.5; text-align: center; }
.ci-campo { display: grid; gap: 6px; min-width: 0; }
.ci-campo > label:first-child { display: inline-flex; align-items: center; gap: 8px; margin-top: 0; }
.ci-campo > label:first-child .fm-i { color: var(--azul-texto); }
.ci-campo > .eq-meta { margin: 0; }
.ci-pend { display: inline-flex !important; align-items: center; gap: 10px; justify-self: start; margin: 2px 0 0 !important; padding: 6px 12px; border-radius: 999px; background: #FFF8E6; border: 1px solid #F0D58A; color: #4A3A10; font-weight: 500 !important; font-size: .875rem !important; cursor: pointer; }
.ci-pend input { width: 18px; height: 18px; margin: 0; accent-color: #B7791F; flex: none; }
.ci-pend:has(input:checked) { background: #FFE9A8; border-color: #E0A82E; }
.ci-campo.is-pend > input, .ci-campo.is-pend > textarea, .ci-campo.is-pend .eq-soltar { opacity: .45; }
.ci-ya { font-size: .875rem; }
.ci-edicion { display: block !important; margin: 4px 0 0 !important; }
.ci-edicion > legend { margin-bottom: 8px; }
.ci-edicion__op { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ci-ed { --c: #0094CE; --t: #E3F3FA; position: relative; display: grid !important; justify-items: center; align-content: start; text-align: center; gap: 4px; margin: 0 !important; padding: 14px 12px 12px;
  border-radius: 16px; border: 2px solid var(--azul-filete); background: var(--blanco); cursor: pointer; font-weight: 400 !important; transition: border-color .15s, background .15s; }
.ci-ed--digital { --c: #1E9E5A; --t: #E8F3EC; }
.ci-ed input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ci-ed__ico { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--t); color: var(--c); }
.ci-ed__ico .fm-i { width: 22px; height: 22px; }
.ci-ed b { font-size: 1rem; color: var(--gris-carbon); }
.ci-ed small { font-size: .8125rem; line-height: 1.35; color: var(--gris-medio); }
.ci-ed:hover { border-color: var(--c); }
.ci-ed:has(input:checked) { border-color: var(--c); background: var(--t); box-shadow: 0 10px 22px -18px var(--c); }
.ci-ed:has(input:checked) .ci-ed__ico { background: var(--c); color: #fff; }
.ci-ed:has(input:focus-visible) { outline: 3px solid rgba(0, 173, 235, .45); outline-offset: 2px; }
.ci-de { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 6px 0 4px; padding: 10px 14px; border-radius: 12px; background: var(--tinte-azul); color: var(--azul-texto); font-size: .9375rem; text-align: center; }
.ci-ojo { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 4px 0; padding: 8px 12px; border-radius: 12px; background: #FFF8E6; color: #6B4A00; font-size: .9375rem; text-align: center; }
html[data-tema="noche"] .ci-pend, html[data-tema="noche"] .ci-ojo { background: #2A2210; border-color: #6B5520; color: #EADBB5; }
html[data-tema="noche"] .ci-pend:has(input:checked) { background: #3A2D10; border-color: #B7891F; }
html[data-tema="noche"] .ci-ed { --t: #1A2D39; }
html[data-tema="noche"] .ci-ed--digital { --c: #3CC07A; }
@media (max-width: 560px) { .ci-edicion__op { grid-template-columns: minmax(0, 1fr); } .ci-pend { justify-self: stretch; justify-content: center; text-align: center; } }

/* Recordatorio: cierres con datos que faltan (Inicio y Cierres) */
.ci-recordar { max-width: 880px; margin: 0 auto 26px; padding: 16px clamp(16px, 3vw, 24px); border-radius: 20px; background: #FFF8E6; border: 2px solid #F0C36D; color: #4A3A10; }
.ci-recordar__t { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 10px; font-weight: 700; font-size: 1.0625rem; color: #6B4A00; text-align: center; }
.ci-recordar__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ci-recordar__lista li { display: flex; align-items: center; justify-content: space-between; gap: 10px 16px; flex-wrap: wrap; padding: 10px 14px; border-radius: 14px; background: rgba(255, 255, 255, .7); }
.ci-recordar__lista li > span { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.ci-recordar__lista small { font-size: .875rem; color: #6B4A00; }
.ci-recordar .boton-solido { flex: none; }
html[data-tema="noche"] .ci-recordar { background: #2A2210; border-color: #8A6A1F; color: #EADBB5; }
html[data-tema="noche"] .ci-recordar__t, html[data-tema="noche"] .ci-recordar__lista small { color: #FFD27A; }
html[data-tema="noche"] .ci-recordar__lista li { background: rgba(0, 0, 0, .22); }
@media (max-width: 560px) { .ci-recordar__lista li { justify-content: center; text-align: center; } .ci-recordar__lista li > span { justify-items: center; } .ci-recordar .boton-solido { width: 100%; } }

/* Obras formadas aquí, listas para su cierre */
.ci-listas { max-width: 880px; margin: 0 auto 26px; padding: 18px clamp(16px, 3vw, 24px); border-radius: 20px; background: var(--blanco); border: 1.5px solid #A9DCC0; text-align: center; }
.ci-listas__t { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 4px; font-size: 1.0625rem; color: #11663B; }
.ci-listas > .eq-meta { margin: 0 0 12px; }
.ci-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; text-align: left; }
.ci-lista li { display: flex; align-items: center; justify-content: space-between; gap: 10px 16px; flex-wrap: wrap; padding: 12px 14px; border-radius: 14px; background: var(--blanco-hueso); border: var(--filete); }
.ci-lista__txt { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.ci-lista__txt small { color: var(--gris-medio); font-size: .875rem; }
html[data-tema="noche"] .ci-listas { border-color: #1E6B44; }
html[data-tema="noche"] .ci-listas__t { color: #8FE3B5; }
@media (max-width: 560px) { .ci-lista li { justify-content: center; text-align: center; } .ci-lista__txt { justify-items: center; } .ci-lista .fm-boton { width: 100%; } }

/* Ficha: datos para el cierre y enlace entre la formación y su cierre */
.ci-datos { padding: 20px clamp(16px, 3vw, 26px); border-radius: 22px; background: var(--blanco); border: var(--filete); min-width: 0; }
.ci-datos--faltan { border: 2px solid #F0C36D; box-shadow: 0 18px 40px -34px rgba(183, 121, 31, .8); }
.ci-datos > .fm-panel__t { justify-content: center; }
.ci-datos__aviso { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 8px auto 4px; max-width: 70ch; padding: 10px 14px; border-radius: 12px; background: #FFF8E6; color: #4A3A10; font-size: .9375rem; text-align: center; }
.ci-datos__aviso .fm-i { flex: none; color: #B7791F; }
.ci-datos__lista { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ci-dato { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: start; gap: 12px; padding: 14px; border-radius: 16px; background: var(--blanco-hueso); border: var(--filete); min-width: 0; }
.ci-dato__ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--tinte-azul); color: var(--azul-texto); }
.ci-dato__txt { min-width: 0; overflow-wrap: anywhere; }
.ci-dato__t { margin: 0 0 4px; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--gris-medio); }
.ci-dato__v { margin: 0; font-weight: 600; color: var(--gris-carbon); line-height: 1.35; }
.ci-dato__falta { display: inline-flex; margin: 2px 0 0; padding: 3px 10px; border-radius: 999px; background: #FFF1CC; color: #6B4A00; font-size: .8125rem; font-weight: 700; box-shadow: inset 0 0 0 1px #F0C36D; }
.ci-dato--falta { background: #FFFBEF; border-color: #F0D58A; }
.ci-dato--falta .ci-dato__ico { background: #FFF1CC; color: #B7791F; }
.ci-dato .fm-archivos { margin-top: 6px; flex-direction: column; gap: 6px; }
.ci-ficha { margin: 0 0 4px; }
.ci-ficha > summary { cursor: pointer; font-weight: 600; color: var(--azul-texto); }
.ci-ficha__txt { margin: 8px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--blanco); border: var(--filete); font-size: .875rem; line-height: 1.5; max-height: 260px; overflow: auto; }
.ci-datos > .fm-acciones { margin-top: 14px; }
.ci-liga { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 12px 16px; border-radius: 14px; background: var(--tinte-azul); color: var(--gris-carbon); font-size: .9375rem; text-align: center; }
.ci-liga .fm-i { flex: none; color: var(--azul-texto); }
.ci-liga a { font-weight: 600; }
html[data-tema="noche"] .ci-datos--faltan { border-color: #8A6A1F; box-shadow: none; }
html[data-tema="noche"] .ci-datos__aviso { background: #2A2210; color: #EADBB5; }
html[data-tema="noche"] .ci-datos__aviso .fm-i { color: #FFD27A; }
html[data-tema="noche"] .ci-dato__falta { background: #2E2410; color: #FFD27A; box-shadow: inset 0 0 0 1px #8A6A1F; }
html[data-tema="noche"] .ci-dato--falta { background: #221B0C; border-color: #6B5520; }
html[data-tema="noche"] .ci-dato--falta .ci-dato__ico { background: #2E2410; color: #FFD27A; }
@media (max-width: 1100px) { .ci-datos__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ci-datos__lista { grid-template-columns: minmax(0, 1fr); } }
.eq-tarj--cierres { border-color: #1E9E5A; }
.eq-tarj--cierres b { color: #11663B; }
html[data-tema="noche"] .eq-tarj--cierres b { color: #8FE3B5; }

/* ---------- «Solicitar cambios» (9 nov 2026), en la misma zona que «Solicitar una formación» y «Solicitar un cierre» ----------
   Dos tarjetas lado a lado; la que se abre ocupa todo el ancho, debajo de la otra (que queda como botón arriba) */
.fm-nueva--dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.fm-nueva--dos > details[open] { grid-column: 1 / -1; order: 1; }
.fm-nueva--dos:has(> details[open]) > details:not([open]) { grid-column: 1 / -1; }
@media (max-width: 760px) { .fm-nueva--dos { grid-template-columns: minmax(0, 1fr); } }
.fm-efecto { margin: 0 0 4px; padding: 10px 14px; border-radius: 12px; background: var(--tinte-azul); color: var(--azul-texto); font-size: .9375rem; line-height: 1.5; text-align: center; }
.eq-form .fm-otra { display: grid; gap: 6px; align-items: stretch; margin: 8px 0 4px; padding: 16px clamp(14px, 3vw, 22px) 18px; border: 2px solid var(--azul-filete); border-radius: 18px; background: var(--blanco-hueso); }
.eq-form .fm-otra[hidden] { display: none; }
.eq-form .fm-otra > legend { display: inline-flex; align-items: center; gap: 8px; padding: 0 8px; margin: 0; font-size: 1rem; color: var(--azul-texto); }
.fm-chip--solo { background: #F1ECF9; color: #553385; }
html[data-tema="noche"] .fm-chip--solo { background: #2A2140; color: #D5C4F5; }
