/* ---------- Base ---------- */
:root {
  /* Colores: negro corporativo de Winston. El acento se cambia aquí cuando haya manual */
  --fondo: #F3F3F3;
  --papel: #FFFFFF;
  --tinta: #1D1D1B;
  --tinta-suave: #62625F;
  --linea: #DADAD8;
  --acento: #1D1D1B;
  --acento-oscuro: #000000;
  --error: #B42318;
  --exito: #067647;
  /* Tipografía: Helvetica Neue Condensed para títulos; Archivo Narrow si no está instalada */
  --condensada: "Helvetica Neue Condensed", "HelveticaNeue-CondensedBold", "Archivo Narrow", "Arial Narrow", sans-serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  color: var(--tinta);
  background: var(--fondo);
}
body.cargando { visibility: hidden; }
[hidden] { display: none !important; }

a { color: var(--acento); }
:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }

/* ---------- Marca ---------- */
.logo {
  margin: 0;
  font-family: var(--condensada);
  font-stretch: condensed;
  font-size: 1.7rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.logo b { font-weight: 700; }
.logo .por {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--sans);
  font-size: 0.7rem;
  letter-spacing: 0;
}
.logo .por img { height: 11px; width: auto; }

/* ---------- Pantalla de acceso ---------- */
.acceso {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.acceso-marca {
  background: var(--tinta);
  color: #fff;
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.acceso-marca .lema {
  font-family: var(--condensada);
  font-stretch: condensed;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.05;
  font-weight: 700;
  max-width: 14em;
  margin: 0;
}
.acceso-form {
  align-self: center;
  justify-self: center;
  width: min(380px, 100% - 48px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.acceso-form h1 {
  font-family: var(--condensada);
  font-stretch: condensed;
  font-weight: 700;
  font-size: 1.75rem;
  margin: 0 0 8px;
}

/* ---------- Formularios ---------- */
label { display: flex; flex-direction: column; gap: 6px; font-size: 0.9rem; font-weight: 500; }
input, select, textarea {
  font: inherit;
  font-weight: 400;
  padding: 10px 12px;
  border: 1px solid var(--linea);
  border-radius: 6px;
  background: var(--papel);
  color: var(--tinta);
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--acento); box-shadow: 0 0 0 3px rgba(29, 29, 27, 0.12); }

.btn {
  font: inherit;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: 6px;
  border: 1px solid var(--acento);
  background: var(--acento);
  color: #fff;
  cursor: pointer;
}
.btn:hover { background: var(--acento-oscuro); }
.btn:disabled { opacity: 0.6; cursor: wait; }
.btn-secundario { background: transparent; color: var(--tinta); border-color: var(--linea); }
.btn-secundario:hover { background: var(--fondo); }
.enlace {
  font: inherit;
  font-size: 0.9rem;
  background: none;
  border: none;
  padding: 0;
  color: var(--acento);
  text-decoration: underline;
  cursor: pointer;
  align-self: flex-start;
}
.mensaje { margin: 0; font-size: 0.9rem; min-height: 1.4em; }
.mensaje.error { color: var(--error); }
.mensaje.ok { color: var(--exito); }

/* ---------- Cabecera de la aplicación ---------- */
.cabecera {
  background: var(--papel);
  border-bottom: 1px solid var(--linea);
  position: sticky;
  top: 0;
  z-index: 10;
}
.cabecera-dentro {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  gap: 32px;
}
.nav { display: flex; gap: 4px; flex: 1; overflow-x: auto; }
.nav a {
  padding: 8px 12px;
  border-radius: 6px;
  color: var(--tinta-suave);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}
.nav a:hover { color: var(--tinta); background: var(--fondo); }
.nav a[aria-current="page"] { color: var(--tinta); box-shadow: inset 0 -2px 0 var(--tinta); border-radius: 0; }
.nav .separador { width: 1px; background: var(--linea); margin: 6px 8px; }
.usuario { display: flex; align-items: center; gap: 12px; font-size: 0.9rem; color: var(--tinta-suave); white-space: nowrap; }

/* ---------- Contenido ---------- */
.contenido { max-width: 1200px; margin: 0 auto; padding: 32px 24px 64px; }
.contenido h1 {
  font-family: var(--condensada);
  font-stretch: condensed;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
  margin: 0 0 24px;
}
.vacio {
  background: var(--papel);
  border: 1px dashed var(--linea);
  border-radius: 8px;
  padding: 48px 24px;
  text-align: center;
  color: var(--tinta-suave);
}

/* ---------- Móvil ---------- */
@media (max-width: 800px) {
  .acceso { grid-template-columns: 1fr; }
  .acceso-marca { padding: 32px 24px; gap: 32px; }
  .acceso-form { padding: 40px 0; }
  .cabecera-dentro { flex-wrap: wrap; gap: 12px; padding: 12px 16px; }
  .nav { order: 3; flex-basis: 100%; }
  .usuario { margin-left: auto; }
  .contenido { padding: 24px 16px 48px; }
}

/* ---------- Secciones con tabla ---------- */
.cabecera-seccion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.cabecera-seccion h1 { margin: 0; }
.acciones-seccion { display: flex; gap: 12px; flex-wrap: wrap; }

.tabla-envoltorio {
  background: var(--papel);
  border: 1px solid var(--linea);
  border-radius: 8px;
  overflow-x: auto;
}
.tabla { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.tabla th {
  text-align: left;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--tinta-suave);
  padding: 12px 16px;
  border-bottom: 1px solid var(--linea);
  white-space: nowrap;
}
.tabla td { padding: 14px 16px; border-bottom: 1px solid var(--linea); vertical-align: middle; }
.tabla tbody tr:last-child td { border-bottom: none; }
.tabla tbody tr:hover { background: #FAFAF9; }
.tabla .principal { font-weight: 600; }
.tabla tr.inactivo td { color: var(--tinta-suave); }
.tabla .acciones { text-align: right; white-space: nowrap; }
.tabla .acciones .enlace + .enlace { margin-left: 16px; }
.celda-vacia { text-align: center; color: var(--tinta-suave); padding: 40px 16px !important; }
.tenue { color: var(--tinta-suave); font-weight: 400; }

.estado {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
}
.estado.si { background: #E7F4EC; color: var(--exito); }
.estado.no { background: #EDEDEC; color: var(--tinta-suave); }

/* ---------- Ventanas de formulario ---------- */
.dialogo {
  border: none;
  border-radius: 10px;
  padding: 0;
  width: min(460px, calc(100% - 32px));
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  color: var(--tinta);
}
.dialogo::backdrop { background: rgba(29, 29, 27, 0.45); }
.dialogo form { padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.dialogo h2 {
  font-family: var(--condensada);
  font-stretch: condensed;
  font-weight: 700;
  font-size: 1.6rem;
  margin: 0;
}
.dialogo input:disabled, .dialogo select:disabled { background: var(--fondo); color: var(--tinta-suave); }
.dialogo-botones { display: flex; justify-content: flex-end; gap: 12px; margin-top: 4px; }
.nota { margin: 0; font-size: 0.85rem; color: var(--tinta-suave); }

/* ---------- Avisos ---------- */
.notificacion {
  position: fixed;
  bottom: 24px;
  right: 24px;
  max-width: min(420px, calc(100% - 48px));
  padding: 14px 18px;
  border-radius: 8px;
  background: var(--tinta);
  color: #fff;
  font-size: 0.95rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s;
  z-index: 100;
}
.notificacion.visible { opacity: 1; transform: none; }
.notificacion.error { background: var(--error); }
@media (prefers-reduced-motion: reduce) { .notificacion { transition: none; } }

.solo-lector {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

/* ---------- Radar regulatorio ---------- */
:root {
  --prio-alta: #B42318;
  --prio-media: #DC6803;
  --prio-baja: #98A29E;
}
.radar-barra { display: flex; flex-direction: column; gap: 12px; margin-bottom: 12px; }
.radar-buscar { width: 100%; }
.radar-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.radar-filtros select { padding: 7px 10px; font-size: 0.9rem; }
.radar-cuenta { margin: 0 0 12px; font-size: 0.85rem; color: var(--tinta-suave); min-height: 1.3em; }
.radar-lista { display: flex; flex-direction: column; gap: 8px; }

.iniciativa {
  all: unset;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 20px 16px 22px;
  background: var(--papel);
  border: 1px solid var(--linea);
  border-left: 4px solid var(--prio-baja);
  border-radius: 8px;
  cursor: pointer;
}
.iniciativa:hover { border-color: #BDBDBA; border-left-color: inherit; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }
.iniciativa:focus-visible { outline: 2px solid var(--tinta); outline-offset: 2px; }
.iniciativa.prio-alta { border-left-color: var(--prio-alta); }
.iniciativa.prio-media { border-left-color: var(--prio-media); }
.ini-meta { font-size: 0.82rem; color: var(--tinta-suave); }
.ini-titulo { font-size: 1.02rem; font-weight: 600; line-height: 1.4; }
.ini-pie { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 0.85rem; }
.ini-hito { color: var(--tinta); }
.ini-hito::before { content: "◆ "; font-size: 0.7em; vertical-align: 1px; }
.ini-clientes { margin-left: auto; color: var(--tinta-suave); }

.etiqueta {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  background: #EDEDEC;
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
}
.etiqueta.prio { background: #EDEDEC; color: var(--tinta-suave); }
.prio-alta .etiqueta.prio, .etiqueta.prio.prio-alta { background: #FDECEA; color: var(--prio-alta); }
.prio-media .etiqueta.prio, .etiqueta.prio.prio-media { background: #FEF0E1; color: #B54708; }

/* Ficha */
.dialogo-ancho { width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 48px); }
.dialogo-ancho form { max-height: calc(100vh - 48px); overflow-y: auto; }
.ficha-cuerpo { padding: 28px; overflow-y: auto; max-height: calc(100vh - 48px); }
.ficha-cabecera { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.cerrar { font: inherit; font-size: 1.8rem; line-height: 1; background: none; border: none; cursor: pointer; color: var(--tinta-suave); padding: 0 4px; }
.cerrar:hover { color: var(--tinta); }
.ficha h2 {
  font-family: var(--condensada);
  font-stretch: condensed;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.15;
  margin: 0 0 20px;
}
.ficha h3 { font-size: 0.95rem; margin: 24px 0 8px; }
.datos { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px 24px; margin: 0; }
.dato dt { font-size: 0.78rem; color: var(--tinta-suave); margin-bottom: 2px; }
.dato dd { margin: 0; font-size: 0.95rem; }
.dato dd .etiqueta { margin: 0 4px 4px 0; }
.hito {
  display: flex; flex-direction: column; gap: 2px;
  margin-top: 20px; padding: 12px 16px;
  background: var(--fondo); border-left: 3px solid var(--tinta); border-radius: 4px;
}
.hito strong { font-size: 0.85rem; }
.hito.pasado { border-left-color: var(--linea); color: var(--tinta-suave); }
.resumen { white-space: pre-line; margin: 0; }

.dialogo form.nueva-actualizacion { padding: 0; display: grid; grid-template-columns: 150px 1fr auto; gap: 8px; align-items: start; margin-bottom: 12px; }
.historial { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--linea); }
.historial li { position: relative; padding: 0 0 14px 18px; display: flex; flex-direction: column; gap: 2px; }
.historial li::before { content: ""; position: absolute; left: -6px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--tinta); }
.h-fecha { font-size: 0.8rem; color: var(--tinta-suave); }
.h-texto { white-space: pre-line; }
.historial .quitar { font-size: 0.8rem; color: var(--tinta-suave); }
.ficha-acciones { justify-content: space-between; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--linea); }
.peligro { color: var(--error); }

/* Formulario de iniciativa */
.rejilla { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 16px; }
.rejilla-hito { display: grid; grid-template-columns: 170px 1fr; gap: 8px; }
.grupo { border: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.grupo legend { font-size: 0.9rem; font-weight: 500; padding: 0; margin-bottom: 6px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips-desplazable { max-height: 132px; overflow-y: auto; padding: 2px; }
.chip { flex-direction: row; gap: 0; font-weight: 400; cursor: pointer; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip span {
  display: inline-block; padding: 5px 12px; border: 1px solid var(--linea); border-radius: 999px;
  font-size: 0.85rem; background: var(--papel); user-select: none;
}
.chip input:checked + span { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.chip input:focus-visible + span { outline: 2px solid var(--tinta); outline-offset: 2px; }
textarea { resize: vertical; }

@media (max-width: 800px) {
  .rejilla { grid-template-columns: 1fr; }
  .dialogo form.nueva-actualizacion { grid-template-columns: 1fr; }
  .ini-clientes { margin-left: 0; }
}
a.btn { text-decoration: none; display: inline-block; }
.radar-filtros .enlace { align-self: center; margin-left: 4px; }
.ficha-acciones { align-items: center; }
.ficha-acciones .enlace { align-self: center; }

/* ---------- Listados ---------- */
.intro { margin: -12px 0 20px; color: var(--tinta-suave); }
.pestanas { display: flex; gap: 4px; border-bottom: 1px solid var(--linea); margin-bottom: 20px; overflow-x: auto; }
.pestanas button {
  font: inherit; font-weight: 500; background: none; border: none; padding: 10px 14px; cursor: pointer;
  color: var(--tinta-suave); white-space: nowrap; box-shadow: inset 0 -2px 0 transparent;
}
.pestanas button[aria-selected="true"] { color: var(--tinta); box-shadow: inset 0 -2px 0 var(--tinta); }
.segmentos { display: inline-flex; border: 1px solid var(--linea); border-radius: 8px; overflow: hidden; margin-bottom: 16px; background: var(--papel); }
.segmentos button { font: inherit; border: none; background: none; padding: 8px 16px; cursor: pointer; color: var(--tinta-suave); }
.segmentos button[aria-pressed="true"] { background: var(--tinta); color: #fff; }
.columnas { display: grid; grid-template-columns: 1fr 1.3fr 1.3fr; gap: 16px; align-items: start; }
.columna { background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 16px; min-width: 0; }
.columna-cabecera { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 4px; }
.columna h2 { font-size: 1rem; margin: 0; }
.columna .nota { margin: 4px 0 12px; }
.btn-peq { padding: 5px 10px; font-size: 0.85rem; }
.filas { list-style: none; margin: 0; padding: 0; }
.fila { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; flex-wrap: wrap; }
.fila:hover { background: #FAFAF9; }
.fila.sel { background: var(--fondo); box-shadow: inset 3px 0 0 var(--tinta); }
.fila-nombre { flex: 1; min-width: 140px; text-align: left; font: inherit; background: none; border: none; padding: 4px 0; color: var(--tinta); }
button.fila-nombre { cursor: pointer; }
.fila.sel .fila-nombre { font-weight: 600; }
.fila-acciones { display: flex; align-items: center; gap: 10px; opacity: 0.35; transition: opacity 0.15s; }
.fila:hover .fila-acciones, .fila.sel .fila-acciones, .fila-acciones:focus-within { opacity: 1; }
.fila-acciones .enlace { font-size: 0.82rem; align-self: center; }
.icono { font: inherit; width: 26px; height: 26px; border: 1px solid var(--linea); border-radius: 4px; background: var(--papel); cursor: pointer; padding: 0; }
.icono:disabled { opacity: 0.3; cursor: default; }
.fila-config { display: flex; gap: 6px; flex-wrap: wrap; }
.fila-config select, .fila-config input { padding: 5px 8px; font-size: 0.85rem; }
.territorios { font: inherit; font-size: 0.82rem; color: var(--tinta-suave); background: var(--fondo); border: 1px dashed var(--linea); border-radius: 6px; padding: 4px 8px; cursor: pointer; max-width: 320px; text-align: left; }
.territorios:hover { color: var(--tinta); border-color: var(--tinta-suave); }
.vacio-col { margin: 12px 0 4px; font-size: 0.9rem; }
@media (max-width: 1000px) { .columnas { grid-template-columns: 1fr; } }
@media (hover: none) { .fila-acciones { opacity: 1; } }
.radar-linea { display: flex; gap: 8px; flex-wrap: wrap; }
.radar-linea .radar-buscar { flex: 1; min-width: 220px; width: auto; }
.radar-linea select { padding: 8px 10px; }
.radar-filtros { padding: 12px; background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; }
.btn.activo { border-color: var(--tinta); background: var(--tinta); color: #fff; }

/* ---------- Reuniones ---------- */
.reu-barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
.reu-barra .segmentos { margin-bottom: 0; }
.reu-buscar { flex: 1; min-width: 220px; }
.reu-lista { display: flex; flex-direction: column; gap: 8px; }
.reunion {
  all: unset; box-sizing: border-box; display: flex; gap: 18px; align-items: flex-start;
  padding: 14px 18px; background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; cursor: pointer;
}
.reunion:hover { border-color: #BDBDBA; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }
.reunion:focus-visible { outline: 2px solid var(--tinta); outline-offset: 2px; }
.reu-fecha {
  display: flex; flex-direction: column; align-items: center; min-width: 58px; padding: 6px 4px;
  border-right: 1px solid var(--linea); padding-right: 16px; line-height: 1.1;
}
.reu-fecha b { font-family: var(--condensada); font-stretch: condensed; font-size: 1.9rem; }
.reu-fecha span { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; }
.reu-fecha small { margin-top: 4px; font-size: 0.8rem; color: var(--tinta-suave); }
.reu-cuerpo { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.reu-titulo { font-weight: 600; font-size: 1.02rem; }
.reu-sub { color: var(--tinta-suave); font-size: 0.9rem; margin: 0; }
.reu-lugar { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 420px; color: var(--tinta-suave); }
.tabla-clic tbody tr { cursor: pointer; }

.personas { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.personas li { display: flex; flex-direction: column; gap: 2px; }
.personas li span { color: var(--tinta-suave); font-size: 0.92rem; }
.personas .enlace { font-size: 0.85rem; }
.documentos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.documento {
  font: inherit; width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; cursor: pointer;
  padding: 10px 14px; border: 1px solid var(--linea); border-radius: 6px; background: var(--papel); color: var(--tinta);
}
.documento:hover { border-color: var(--tinta-suave); }
.doc-tipo { font-size: 0.78rem; font-weight: 600; background: var(--fondo); padding: 2px 8px; border-radius: 4px; white-space: nowrap; }
.doc-nombre { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.relacionadas { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; }
.relacionadas .enlace { text-align: left; }

/* Formulario de reunión */
.rejilla-3 { grid-template-columns: repeat(3, 1fr); }
.interlocutores { display: flex; flex-direction: column; gap: 8px; }
.interlocutor { display: grid; grid-template-columns: 1.2fr 1fr 1fr 32px; gap: 8px; align-items: center; }
.interlocutor .icono { width: 32px; height: 38px; font-size: 1.1rem; }
.doc-slot { display: grid; grid-template-columns: 130px 1fr; gap: 6px 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--linea); }
.doc-slot:last-child { border-bottom: none; }
.doc-etiqueta { font-weight: 500; font-size: 0.9rem; grid-row: span 2; align-self: start; padding-top: 4px; }
.doc-actuales { display: flex; flex-direction: column; gap: 4px; }
.doc-actuales:empty { display: none; }
.doc-actual { display: flex; gap: 10px; align-items: center; font-size: 0.9rem; }
.doc-slot input[type=file] { padding: 6px; font-size: 0.85rem; }
.lista-marcable { max-height: 200px; overflow-y: auto; border: 1px solid var(--linea); border-radius: 6px; padding: 6px; display: flex; flex-direction: column; }
.marcable { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; padding: 6px; border-radius: 4px; cursor: pointer; }
.marcable:hover { background: var(--fondo); }
.marcable input { margin-top: 3px; }
.lista-marcable .tenue { margin: 6px; }
@media (max-width: 800px) {
  .rejilla-3 { grid-template-columns: 1fr; }
  .interlocutor { grid-template-columns: 1fr 32px; }
  .interlocutor .i-cargo, .interlocutor .i-inst { grid-column: 1; }
  .interlocutor .icono { grid-row: 1; grid-column: 2; }
  .reu-fecha { min-width: 48px; padding-right: 10px; }
}
.interlocutor input { min-width: 0; width: 100%; }

/* ---------- Status ---------- */
.st-barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 16px; }
.st-barra .segmentos { margin-bottom: 0; }
.st-semanas { display: flex; align-items: center; gap: 4px; }
.st-semanas .icono { width: 36px; height: 40px; font-size: 1.3rem; }
.st-fecha { min-width: 230px; }
.st-pdf { margin-left: auto; }
.interruptor { flex-direction: row; align-items: center; gap: 6px; font-weight: 400; padding: 0 6px; cursor: pointer; }
.st-resumen { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px; }
.st-resumen div { background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 14px 16px; display: flex; flex-direction: column; }
.st-resumen b { font-family: var(--condensada); font-stretch: condensed; font-size: 2rem; line-height: 1; }
.st-resumen span { font-size: 0.85rem; color: var(--tinta-suave); margin-top: 4px; }
.st-admin { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 10px 14px; margin-bottom: 16px; border: 1px dashed var(--linea); border-radius: 8px; }
.st-admin .btn { margin-left: auto; }
.st-admin .enlace { align-self: center; }
.st-grupo { margin-bottom: 24px; display: flex; flex-direction: column; gap: 10px; }
.st-prio { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; margin: 8px 0 2px; display: flex; align-items: center; gap: 8px; }
.st-prio::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--prio-baja); }
.st-prio.prio-alta::before { background: var(--prio-alta); }
.st-prio.prio-media::before { background: var(--prio-media); }

.punto { background: var(--papel); border: 1px solid var(--linea); border-left: 4px solid var(--prio-baja); border-radius: 8px; padding: 18px 20px; }
.punto.prio-alta { border-left-color: var(--prio-alta); }
.punto.prio-media { border-left-color: var(--prio-media); }
.punto-cabecera { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.punto-cabecera h3 { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.punto-tema { font-family: var(--condensada); font-stretch: condensed; font-weight: 700; font-size: 1.35rem; text-transform: uppercase; letter-spacing: 0.01em; }
.punto-subtema { font-size: 1rem; font-weight: 600; color: var(--tinta-suave); }
.punto-subtema::before { content: "· "; }
.punto-acciones { margin-left: auto; display: flex; gap: 14px; }
.marca { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 2px 8px; border-radius: 4px; }
.marca-nuevo { background: var(--tinta); color: #fff; }
.marca-actualizado { background: #FEF0E1; color: #B54708; }
.punto-cuerpo { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; }
.punto h4 { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--tinta-suave); margin: 0 0 6px; }
.punto-situacion p { margin: 0 0 8px; }
.punto-pasos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.punto-pasos li { display: flex; flex-direction: column; gap: 3px; padding: 8px 10px; background: var(--fondo); border-radius: 6px; }
.resp { align-self: flex-start; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 1px 7px; border-radius: 4px; }
.resp-winston { background: var(--tinta); color: #fff; }
.resp-cliente { background: #fff; border: 1px solid var(--tinta); color: var(--tinta); }
.punto-vinculos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--linea); }
.vinculo { font: inherit; font-size: 0.82rem; text-align: left; display: inline-flex; gap: 6px; align-items: center; max-width: 100%;
  border: 1px solid var(--linea); background: var(--papel); border-radius: 999px; padding: 4px 12px; cursor: pointer; color: var(--tinta); }
.vinculo:hover { border-color: var(--tinta-suave); }
.vinculo span, .vinculo-tipo { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; color: var(--tinta-suave); }
.st-pasos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.st-pasos section { background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 18px 20px; }
.st-pasos h2 { font-family: var(--condensada); font-stretch: condensed; font-size: 1.4rem; margin: 0 0 10px; }
.st-pasos h3 { font-size: 0.9rem; margin: 14px 0 6px; }
.lista-pasos { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 10px; }
.lista-pasos li { display: flex; flex-direction: column; }
.paso-tema { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; color: var(--tinta-suave); }
.pasos { display: flex; flex-direction: column; gap: 8px; }
.paso { display: grid; grid-template-columns: 1fr 150px 160px 32px; gap: 8px; align-items: start; }
.paso textarea, .paso input, .paso select { min-width: 0; width: 100%; }
.paso .icono { width: 32px; height: 38px; font-size: 1.1rem; }
@media (max-width: 900px) {
  .st-resumen { grid-template-columns: repeat(2, 1fr); }
  .punto-cuerpo, .st-pasos { grid-template-columns: 1fr; }
  .paso { grid-template-columns: 1fr 32px; }
  .paso .p-resp, .paso .p-persona { grid-column: 1; }
  .paso .icono { grid-row: 1; grid-column: 2; }
  .st-pdf { margin-left: 0; }
}

/* ---------- PDF del status ---------- */
#zonaImpresion { display: none; }
@media print {
  @page { size: A4; margin: 16mm 14mm; }
  body.imprimiendo { background: #fff; }
  body.imprimiendo > *:not(#zonaImpresion) { display: none !important; }
  body.imprimiendo #zonaImpresion { display: block; color: #1D1D1B; font-size: 10pt; line-height: 1.45; }
  .imp-cabecera { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid #1D1D1B; padding-bottom: 10px; margin-bottom: 14px; }
  .imp-cabecera .logo { font-size: 18pt; }
  .imp-cabecera > div { text-align: right; }
  .imp-cabecera h1 { font-family: var(--condensada); font-stretch: condensed; font-size: 22pt; margin: 0; line-height: 1; }
  .imp-cliente, .imp-fecha { margin: 2px 0; font-size: 10pt; }
  .imp-cliente { font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
  .imp-prio { font-size: 9pt; text-transform: uppercase; letter-spacing: 0.08em; margin: 14px 0 6px; break-after: avoid; }
  .imp-punto { border-left: 3px solid #98A29E; padding: 2px 0 2px 10px; margin-bottom: 12px; break-inside: avoid; }
  .imp-punto.prio-alta { border-left-color: #B42318; }
  .imp-punto.prio-media { border-left-color: #DC6803; }
  .imp-punto h3 { font-family: var(--condensada); font-stretch: condensed; font-size: 13pt; text-transform: uppercase; margin: 0 0 4px; }
  .imp-punto h3 span { text-transform: none; color: #62625F; }
  .imp-punto h3 em { font-style: normal; font-size: 7pt; border: 1px solid #1D1D1B; padding: 0 4px; vertical-align: middle; }
  .imp-cols { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
  .imp-punto h4 { font-size: 7.5pt; text-transform: uppercase; letter-spacing: 0.06em; color: #62625F; margin: 0 0 2px; }
  .imp-punto p { margin: 0 0 4px; }
  .imp-punto ul { margin: 0; padding-left: 14px; }
}

/* ---------- Documentos ---------- */
.doc-barra { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.doc-buscar { flex: 1; min-width: 220px; }
.doc-categorias { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.doc-categorias button {
  font: inherit; font-weight: 500; font-size: 0.92rem; padding: 7px 14px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--linea); background: var(--papel); color: var(--tinta-suave);
}
.doc-categorias button span { margin-left: 4px; font-size: 0.8rem; opacity: 0.7; }
.doc-categorias button:hover { color: var(--tinta); border-color: var(--tinta-suave); }
.doc-categorias button[aria-selected="true"] { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.doc-mes { margin-bottom: 28px; }
.doc-mes h2 { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--tinta-suave); margin: 0 0 10px; }
.doc-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.doc-tarjeta { background: var(--papel); border: 1px solid var(--linea); border-radius: 10px; display: flex; flex-direction: column; overflow: hidden; transition: border-color 0.15s, box-shadow 0.15s; }
.doc-tarjeta:hover { border-color: #BDBDBA; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06); }
.doc-abrir { all: unset; box-sizing: border-box; display: flex; gap: 14px; padding: 16px; cursor: pointer; flex: 1; }
.doc-abrir:focus-visible { outline: 2px solid var(--tinta); outline-offset: -2px; }
.doc-icono {
  flex: none; width: 46px; height: 56px; border-radius: 4px 12px 4px 4px; display: flex; align-items: flex-end; justify-content: center;
  padding-bottom: 8px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; color: #fff; background: #62625F;
}
.doc-icono.pdf { background: #B42318; }
.doc-icono.doc { background: #1F4E9C; }
.doc-icono.xls { background: #1E7145; }
.doc-icono.ppt { background: #C4501B; }
.doc-icono.img { background: #6941C6; }
.doc-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.doc-cat { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--tinta-suave); }
.doc-titulo { font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.doc-meta { font-size: 0.82rem; color: var(--tinta-suave); }
.doc-pie { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 10px 16px; border-top: 1px solid var(--linea); background: #FAFAF9; }
.doc-acciones { margin-left: auto; display: flex; gap: 14px; }
.doc-acciones .enlace { font-size: 0.85rem; align-self: center; }
.st-minuta { margin-left: auto; }
.st-minuta:not([hidden]) + .st-pdf { margin-left: 0; }

/* ---------- Versiones por cliente y avisos ---------- */
.versiones { display: flex; flex-direction: column; gap: 10px; }
.version { border: 1px solid var(--linea); border-radius: 8px; padding: 10px 12px; }
.version-campos { display: flex; flex-direction: column; gap: 12px; padding: 8px 4px 4px; }
.leyenda { font-size: 0.9rem; font-weight: 500; }
.version-ficha { border-left: 3px solid var(--linea); padding: 2px 0 2px 12px; margin-bottom: 12px; }
.version-ficha p { margin: 0 0 6px; }
.ficha-botones { display: flex; gap: 8px; }
.aviso { padding: 28px; display: flex; flex-direction: column; gap: 16px; max-height: calc(100vh - 48px); overflow-y: auto; }
.aviso h2 { font-family: var(--condensada); font-stretch: condensed; font-weight: 700; font-size: 1.6rem; margin: 0; }
.av-dest > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.av-vista { display: flex; flex-direction: column; gap: 6px; }
.av-vista iframe { width: 100%; height: 420px; border: 1px solid var(--linea); border-radius: 8px; background: #F3F3F3; }
.av-pasos { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; font-size: 0.92rem; }

/* ---------- Importar ---------- */
.imp-paso { background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 20px; margin-bottom: 16px; display: flex; flex-direction: column; gap: 12px; }
.imp-paso h2 { font-size: 1.05rem; margin: 0; }
.imp-paso .nota { margin: 0; }
.imp-asignar { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px 16px; }
.imp-eq { border: 1px solid var(--linea); border-radius: 6px; padding: 10px 12px; }
.imp-eq summary { cursor: pointer; }
.imp-eq .tabla { margin-top: 8px; }
.imp-eq td { padding: 6px 8px; }
.imp-eq select { width: 100%; padding: 6px 8px; font-size: 0.9rem; }
.sin-eq td:first-child { color: #B54708; font-weight: 600; }
.imp-paso > .btn { align-self: flex-start; }
.originales { margin-top: 20px; font-size: 0.85rem; color: var(--tinta-suave); }
.originales summary { cursor: pointer; }
.originales dl { display: grid; grid-template-columns: 180px 1fr; gap: 4px 12px; margin: 8px 0 0; }
.originales dt { font-weight: 600; }
.originales dd { margin: 0; white-space: pre-line; }

/* ---------- Paneles de resumen (Inicio, Radar, Reuniones) ---------- */
.cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.cifras > button, .cifras > div {
  font: inherit; text-align: left; color: var(--tinta); background: var(--papel); border: 1px solid var(--linea);
  border-radius: 8px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px;
}
.cifras > button { cursor: pointer; }
.cifras > button:hover { border-color: var(--tinta-suave); }
.cifras b { font-family: var(--condensada); font-stretch: condensed; font-size: 2rem; line-height: 1; }
.cifras b.rojo { color: var(--prio-alta); }
.cifras span { font-size: 0.85rem; color: var(--tinta-suave); }
.caja { background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 16px 18px; margin-bottom: 12px; min-width: 0; }
.caja-titulo { display: flex; justify-content: space-between; gap: 12px; font-size: 0.85rem; color: var(--tinta-suave); margin: 0 0 10px; font-weight: 500; }
.caja-titulo a { color: var(--tinta-suave); font-weight: 400; }
.panel-dos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.barra-familia, .hito-fila, .fila-inicio {
  font: inherit; width: 100%; background: none; border: none; color: var(--tinta); cursor: pointer; text-align: left; border-radius: 6px;
}
.barra-familia { display: grid; grid-template-columns: 120px minmax(0, 1fr) 30px; gap: 10px; align-items: center; padding: 5px 6px; font-size: 0.92rem; }
.barra-familia:hover, .hito-fila:hover, .fila-inicio:hover { background: var(--fondo); }
.pista { height: 8px; background: var(--fondo); border-radius: 4px; overflow: hidden; }
.pista span { display: block; height: 100%; background: var(--tinta); border-radius: 4px; }
.hito-fila { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; padding: 6px; font-size: 0.9rem; }
.fase { margin-bottom: 14px; }
.fase:last-child { margin-bottom: 0; }
.fase p { margin: 0 0 6px; font-size: 0.92rem; }
.fase-barra { display: flex; gap: 2px; height: 24px; border-radius: 4px; overflow: hidden; }
.fase-barra button { font: inherit; font-size: 0.75rem; font-weight: 600; color: #fff; border: none; cursor: pointer; min-width: 22px; }
.fase-barra button:hover { filter: brightness(1.15); }
.fase-leyenda { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; font-size: 0.78rem; color: var(--tinta-suave); }
.fase-leyenda i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 5px; }
.chip-filtro { font: inherit; font-size: 0.8rem; margin-left: 8px; padding: 2px 10px; border-radius: 999px; border: none; background: var(--tinta); color: #fff; cursor: pointer; }
.exportar { position: relative; }
.exportar summary { list-style: none; }
.exportar summary::-webkit-details-marker { display: none; }
.exportar-menu { position: absolute; right: 0; top: calc(100% + 4px); z-index: 5; background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 4px; display: flex; flex-direction: column; min-width: 120px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); }
.exportar-menu button { font: inherit; background: none; border: none; text-align: left; padding: 8px 12px; border-radius: 6px; cursor: pointer; }
.exportar-menu button:hover { background: var(--fondo); }
.cierra { flex-direction: row; align-items: center; gap: 4px; font-size: 0.78rem; font-weight: 400; color: var(--tinta-suave); cursor: pointer; }

/* Calendario de reuniones */
.cifras-estaticas > div { cursor: default; }
.calendario { padding-bottom: 12px; }
.cal-cabecera { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.cal-cabecera strong { min-width: 150px; text-align: center; }
.cal-leyenda { margin-left: auto; font-size: 0.8rem; color: var(--tinta-suave); display: flex; align-items: center; gap: 6px; }
.cal-punto { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--tinta-suave); }
.cal-punto.futura { background: #BA7517; margin-left: 8px; }
.cal-semana, .cal-dias { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.cal-semana { font-size: 0.75rem; color: var(--tinta-suave); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
.dia { min-height: 64px; background: var(--fondo); border-radius: 6px; padding: 4px 6px; display: flex; flex-direction: column; gap: 2px; font-size: 0.8rem; min-width: 0; }
.dia.vacio-dia { background: transparent; }
.dia.con { background: var(--papel); border: 1px solid var(--linea); }
.dia.hoy .num { background: var(--tinta); color: #fff; border-radius: 4px; padding: 0 5px; align-self: flex-start; }
.num { color: var(--tinta-suave); }
.dia-reu { font: inherit; font-size: 0.75rem; text-align: left; border: none; border-left: 3px solid #BA7517; background: #FEF6EB; border-radius: 3px; padding: 2px 5px; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--tinta); }
.dia-reu.pasada { border-left-color: var(--tinta-suave); background: var(--fondo); color: var(--tinta-suave); }
.mas { font-size: 0.72rem; color: var(--tinta-suave); }
.asistentes { margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.chip-otro { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 12px; border: 1px dashed var(--linea); border-radius: 999px; font-size: 0.85rem; }

/* Inicio */
.inicio-semana { margin: 0; color: var(--tinta-suave); font-size: 0.9rem; }
.contenido h1.inicio-hola { margin: 2px 0 16px; }
.inicio-rejilla { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 0 12px; }
.lista-inicio { display: flex; flex-direction: column; }
.fila-inicio { display: flex; align-items: flex-start; gap: 10px; padding: 8px 6px; border-top: 1px solid var(--linea); border-radius: 0; font-size: 0.92rem; }
.lista-inicio .fila-inicio:first-child { border-top: none; }
.fila-inicio > span:nth-child(2) { flex: 1; min-width: 0; }
.fila-inicio > .tenue:last-child { font-size: 0.8rem; white-space: nowrap; }
.fila-inicio .etiqueta { flex: none; }
.fecha-corta { min-width: 52px; font-size: 0.8rem; color: var(--tinta-suave); text-transform: capitalize; }
.casilla { flex: none; width: 14px; height: 14px; border: 1.5px solid var(--tinta-suave); border-radius: 50%; margin-top: 3px; }
.mini-icono { flex: none; font-size: 0.68rem; font-weight: 800; color: #fff; background: #62625F; border-radius: 3px; padding: 2px 5px; margin-top: 2px; }
.mini-icono.pdf { background: #B42318; } .mini-icono.doc { background: #1F4E9C; } .mini-icono.xls { background: #1E7145; } .mini-icono.ppt { background: #C4501B; }
.revisar { border-color: #F5C78E; background: #FFFBF5; }
.revisar.ok { border-color: var(--linea); background: var(--papel); }
.aviso-interno { border-top: 1px solid #F3E2CB; padding: 8px 0; }
.aviso-interno:first-of-type { border-top: none; }
.aviso-interno summary { cursor: pointer; }
.aviso-interno summary b { color: #B54708; margin-right: 4px; }
.aviso-interno .fila-inicio:hover { background: #FDF2E4; }
@media print { .imp-meta { font-size: 8.5pt; color: #62625F; margin: 0 0 4px; } }
@media (max-width: 900px) {
  .cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .panel-dos, .inicio-rejilla { grid-template-columns: 1fr; }
  .dia-reu { font-size: 0.68rem; }
}
.avisos-revision { background: #FFFBF5; border: 1px solid #F5C78E; border-radius: 8px; padding: 10px 14px; }
.avisos-revision p { margin: 2px 0; color: #93370D; font-size: 0.92rem; }

/* ---------- Revisión del histórico ---------- */
kbd { font-family: inherit; font-size: 0.72rem; border: 1px solid currentColor; border-radius: 4px; padding: 0 5px; margin-left: 6px; opacity: 0.7; }
.rev-cabecera { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.rev-cabecera .segmentos { margin-bottom: 0; }
.rev-cabecera .segmentos span { font-size: 0.8rem; opacity: 0.75; margin-left: 4px; }
.rev-progreso { margin-bottom: 16px; }
.rev-progreso .pista { height: 6px; }
.rev-progreso p { margin: 6px 0 0; font-size: 0.85rem; }
.rev-quedan { margin: 0 0 8px; font-size: 0.85rem; }
.rev-ficha { background: var(--papel); border: 1px solid var(--linea); border-radius: 10px; padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.rev-ficha h2 { font-family: var(--condensada); font-stretch: condensed; font-size: 1.6rem; line-height: 1.2; margin: 0; }
.rev-ficha h3 { font-size: 0.9rem; margin: 8px 0 0; }
.rev-etiquetas { display: flex; gap: 8px; }
.rev-resumen { max-height: 260px; overflow-y: auto; }
.rev-texto-antiguo { font-size: 1.15rem; margin: 4px 0; }
.falta { color: #B54708; font-weight: 600; }
.rev-botones { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px 0; background: var(--fondo); }
.rev-botones .peligro { color: var(--error); }
.rev-cierre { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 14px; background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; }
.rev-deshacer { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: var(--tinta); color: #fff; padding: 12px 18px; border-radius: 8px; display: flex; gap: 16px; align-items: center; z-index: 50; }
.rev-deshacer .enlace { color: #fff; }
.aviso-enlace { display: block; color: #93370D; text-decoration: none; padding: 8px 0; }
.mig-tabla { max-width: 560px; }
.mig-botones { display: flex; flex-wrap: wrap; gap: 8px; }
.mig-progreso .pista { height: 8px; }
.nav a[href="#revision"]::after { content: attr(data-cuenta); margin-left: 6px; font-size: 0.75rem; background: #B54708; color: #fff; border-radius: 999px; padding: 1px 7px; }
.nav-mas { position: relative; }
.nav-mas summary { list-style: none; padding: 8px 12px; border-radius: 6px; color: var(--tinta-suave); font-weight: 500; cursor: pointer; white-space: nowrap; }
.nav-mas summary::-webkit-details-marker { display: none; }
.nav-mas summary::after { content: " ▾"; font-size: 0.75em; }
.nav-mas summary:hover { color: var(--tinta); background: var(--fondo); }
.nav-mas:has(a[aria-current="page"]) summary { color: var(--tinta); box-shadow: inset 0 -2px 0 var(--tinta); border-radius: 0; }
.nav-menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 20; min-width: 170px; background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 4px; display: flex; flex-direction: column; box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
.nav-menu a { padding: 8px 12px; }
.nav-menu a[aria-current="page"] { box-shadow: none; background: var(--fondo); border-radius: 6px; }
.nav { overflow: visible; }
@media (max-width: 800px) { .nav { overflow-x: auto; } .nav-menu { position: fixed; top: auto; left: auto; } }
.panel-criterio { margin: 0 0 8px; font-size: 0.85rem; color: var(--tinta-suave); }
.resumen-modo { flex-direction: row; align-items: center; gap: 6px; font-size: 0.78rem; font-weight: 400; color: var(--tinta-suave); }
.resumen-modo select { padding: 3px 6px; font-size: 0.8rem; }
.paso-linea { display: flex; align-items: center; gap: 8px; }
.paso-check { font: inherit; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--tinta-suave); background: var(--papel); color: transparent; cursor: pointer; font-size: 0.75rem; line-height: 1; padding: 0; }
.paso-check:hover { border-color: var(--exito); color: var(--exito); }
.paso-check[aria-pressed="true"] { background: var(--exito); border-color: var(--exito); color: #fff; }
.punto-pasos li.hecho > span:not(.paso-linea) { text-decoration: line-through; color: var(--tinta-suave); }
.punto-pasos li.hecho { opacity: 0.75; }
.marcable-paso { cursor: pointer; }
.marcable-paso:hover { border-color: var(--exito); background: #E7F4EC; }
.marcable-paso.marcada { background: var(--exito); border-color: var(--exito); }

/* =========================================================
   Rediseño: Inicio y Radar más tranquilos
   ========================================================= */
.punto-prio { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--prio-baja); margin-top: 7px; }
.prio-alta > .punto-prio, .punto-prio.prio-alta { background: var(--prio-alta); }
.prio-media > .punto-prio, .punto-prio.prio-media { background: var(--prio-media); }

/* Inicio */
.inicio-caja { max-width: 860px; margin: 0 auto; background: var(--papel); border: 1px solid var(--linea); border-radius: 14px; padding: 32px 40px 12px; }
.inicio-caja .inicio-semana { font-size: 0.9rem; }
.contenido .inicio-caja h1.inicio-hola { margin: 2px 0 8px; }
.inicio-frase { font-size: 1.1rem; line-height: 1.55; color: var(--tinta-suave); margin: 0 0 30px; max-width: 40em; }
.inicio-frase strong { color: var(--tinta); font-weight: 600; }
.bloque-inicio { margin-bottom: 30px; }
.bloque-inicio h2 { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--sans); font-size: 1rem; font-weight: 600; margin: 0 0 4px; }
.bloque-inicio h2 a { font-size: 0.85rem; font-weight: 400; color: var(--tinta-suave); }
.inicio-caja .fila-inicio { align-items: flex-start; gap: 14px; padding: 11px 4px; font-size: 0.97rem; }
.fila-texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fila-texto small { font-size: 0.82rem; color: var(--tinta-suave); }
.fila-cliente { flex: none; font-size: 0.8rem; color: var(--tinta-suave); white-space: nowrap; margin-top: 2px; }
.inicio-caja .fecha-corta { min-width: 92px; margin-top: 2px; }
.inicio-caja .casilla { margin-top: 4px; }
.revisar { background: #FFFBF5; border: 1px solid #F3E2CB; border-radius: 10px; padding: 10px 16px; margin: -8px 0 28px; }
.revisar-titulo { margin: 4px 0; font-size: 0.85rem; font-weight: 600; color: #93370D; }
@media (max-width: 800px) { .inicio-caja { padding: 22px 18px 4px; } .fila-cliente { display: none; } }

/* Radar: línea de cifras y resumen plegable */
.resumen-linea { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 26px; padding: 4px 2px 16px; }
.resumen-linea button { font: inherit; background: none; border: none; padding: 0; cursor: pointer; color: var(--tinta-suave); font-size: 0.95rem; }
.resumen-linea button b { font-family: var(--condensada); font-stretch: condensed; font-size: 1.6rem; color: var(--tinta); margin-right: 3px; }
.resumen-linea button b.rojo { color: var(--prio-alta); }
.resumen-linea button:hover { color: var(--tinta); }
.resumen-linea .ver-detalle { margin-left: auto; font-size: 0.88rem; text-decoration: underline; text-underline-offset: 3px; }
.detalle-radar { background: var(--papel); border: 1px solid var(--linea); border-radius: 12px; padding: 18px 22px 8px; margin-bottom: 18px; }
.detalle-radar .panel-dos { margin-bottom: 18px; }
.detalle-radar .panel-criterio { margin-bottom: 14px; }
.fases { border-top: 1px solid var(--linea); padding-top: 16px; }
.leyenda-atencion { font-weight: 400; display: inline-flex; align-items: center; gap: 6px; }
.leyenda-atencion i { width: 9px; height: 9px; border-radius: 50%; background: #BA7517; }
.via-familia { margin-bottom: 22px; overflow-x: auto; }
.via-familia p { margin: 0 0 12px; font-size: 0.95rem; }
.via { position: relative; display: grid; min-width: min-content; }
.via::before { content: ""; position: absolute; left: 38px; right: 38px; top: 15px; height: 2px; background: var(--linea); }
.etapa { font: inherit; background: none; border: none; padding: 0 2px; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; cursor: pointer; position: relative; }
.etapa:disabled { cursor: default; }
.etapa small { font-size: 0.72rem; line-height: 1.3; color: var(--tinta-suave); opacity: 0.6; max-width: 92px; }
.etapa.llena small { opacity: 1; color: var(--tinta); }
.bola { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 600;
  background: var(--papel); border: 2px solid var(--linea); color: var(--tinta-suave); transition: transform 0.15s; }
.bola.con { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.bola.atencion { background: #FAEEDA; border-color: #BA7517; color: #633806; }
.etapa.llena:hover .bola { transform: scale(1.12); }

/* Radar: listado en filas */
.filas-radar { background: var(--papel); border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; }
.filas-radar .iniciativa { flex-direction: row; align-items: flex-start; gap: 14px; padding: 14px 20px; border: none; border-top: 1px solid var(--linea); border-radius: 0; background: none; }
.filas-radar .iniciativa:first-child { border-top: none; }
.filas-radar .iniciativa:hover { background: #FAFAF9; box-shadow: none; }
.ini-texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.filas-radar .ini-titulo { font-size: 1rem; }
.filas-radar .ini-meta { font-size: 0.84rem; color: var(--tinta-suave); }
.ini-situacion { color: var(--tinta); }
.filas-radar .ini-hito::before { content: none; }
.ini-lado { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-size: 0.8rem; color: var(--tinta-suave); text-align: right; }
@media (max-width: 800px) { .ini-lado { display: none; } .filas-radar .iniciativa { padding: 12px 14px; } }
.filas-radar .iniciativa { width: 100%; box-sizing: border-box; }

/* =========================================================
   Rediseño: Reuniones, Status y Documentos con el mismo estilo
   ========================================================= */
.resumen-linea.estatica span { color: var(--tinta-suave); font-size: 0.95rem; }
.resumen-linea.estatica b { font-family: var(--condensada); font-stretch: condensed; font-size: 1.6rem; color: var(--tinta); margin-right: 3px; }

/* Reuniones */
.calendario { background: var(--papel); border: 1px solid var(--linea); border-radius: 12px; padding: 16px 20px 14px; margin-bottom: 18px; }
.dia { background: #F7F7F6; }
.dia.con { border-color: var(--linea); }
.filas-radar .reunion { width: 100%; box-sizing: border-box; border: none; border-top: 1px solid var(--linea); border-radius: 0; padding: 12px 20px; gap: 16px; align-items: center; }
.filas-radar .reunion:first-child { border-top: none; }
.filas-radar .reunion:hover { background: #FAFAF9; box-shadow: none; }
.filas-radar .reu-fecha { min-width: 52px; padding: 0 14px 0 0; }
.filas-radar .reu-fecha b { font-size: 1.5rem; }
.filas-radar .reu-titulo { font-size: 1rem; }
.filas-radar .reu-sub { font-size: 0.85rem; }
.filas-radar .ini-pie .etiqueta { background: none; padding: 0; font-weight: 400; color: var(--tinta-suave); }
.filas-radar .reunion .estado { background: none; padding: 0; font-weight: 500; font-size: 0.82rem; }
.filas-radar .reunion .estado.si { color: var(--exito); }
.filas-radar .reunion .estado.no { color: var(--tinta-suave); }

/* Status */
.st-barra { margin-bottom: 8px; }
.st-admin { border-style: solid; background: var(--papel); }
.st-grupo { gap: 12px; }
.punto { border: 1px solid var(--linea); border-left-width: 1px; border-radius: 12px; padding: 20px 24px; }
.punto-cabecera h3::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--prio-baja); margin-right: 4px; transform: translateY(-3px); }
.punto.prio-alta .punto-cabecera h3::before { background: var(--prio-alta); }
.punto.prio-media .punto-cabecera h3::before { background: var(--prio-media); }
.punto-pasos li { background: #F7F7F6; }
.st-pasos section { border-radius: 12px; }

/* Documentos */
.doc-tarjeta { border-radius: 12px; }
.doc-pie { background: none; }
.doc-mes h2 { font-weight: 600; }
.punto, .punto.prio-alta, .punto.prio-media { border-left-color: var(--linea); }

/* Status: índice lateral */
.st-cuerpo { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
.st-indice { position: sticky; top: 92px; max-height: calc(100vh - 112px); overflow-y: auto; background: var(--papel); border: 1px solid var(--linea); border-radius: 12px; padding: 14px 10px; }
.st-indice-titulo { margin: 0 8px 6px; font-weight: 600; font-size: 0.9rem; }
.st-indice-grupo { margin: 12px 8px 4px; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--tinta-suave); }
.st-indice a { display: flex; align-items: flex-start; gap: 9px; padding: 6px 8px; border-radius: 6px; text-decoration: none; color: var(--tinta); font-size: 0.88rem; line-height: 1.3; }
.st-indice a span:not(.punto-prio) { flex: 1; display: flex; flex-direction: column; }
.st-indice a small { color: var(--tinta-suave); font-size: 0.78rem; }
.st-indice a .punto-prio { margin-top: 4px; width: 8px; height: 8px; }
.st-indice a:hover { background: var(--fondo); }
.st-indice a[aria-current] { background: var(--fondo); box-shadow: inset 3px 0 0 var(--tinta); font-weight: 600; }
.st-indice-marca { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #BA7517; margin-top: 5px; }
.punto { scroll-margin-top: 92px; }
.st-puntos .st-grupo:first-child .st-prio { margin-top: 0; }
@media (max-width: 900px) { .st-cuerpo { grid-template-columns: 1fr; } .st-indice { position: static; max-height: none; } }

/* Inicio en dos columnas en ordenador */
.inicio-caja { max-width: 1200px; }
.inicio-columnas { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 48px; }
.inicio-col { min-width: 0; }
@media (max-width: 1000px) { .inicio-columnas { grid-template-columns: 1fr; } }

/* Status: próximos pasos con más cuidado */
.st-pasos2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.pasos-col { background: var(--papel); border: 1px solid var(--linea); border-radius: 14px; padding: 20px 22px 10px; }
.pasos-cab { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; margin-bottom: 6px; border-bottom: 1px solid var(--linea); }
.pasos-cab h2 { font-family: var(--condensada); font-stretch: condensed; font-weight: 700; font-size: 1.45rem; margin: 0; flex: 1; }
.pasos-marca { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; }
.marca-winston { background: var(--tinta); color: #fff; }
.marca-cliente { background: var(--fondo); color: var(--tinta); border: 1px solid var(--linea); }
.pasos-cuenta { font-size: 0.85rem; color: var(--tinta-suave); background: var(--fondo); border-radius: 999px; padding: 3px 10px; }
.tareas { list-style: none; margin: 0; padding: 0; }
.tarea { display: flex; gap: 12px; align-items: flex-start; padding: 12px 2px; border-top: 1px solid #EFEFEE; }
.tareas .tarea:first-child { border-top: none; }
.tarea .paso-check { flex: none; margin-top: 1px; }
.tarea-circulo { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--linea); margin-top: 1px; }
.tarea-cuerpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.tarea-texto { font-size: 0.97rem; line-height: 1.45; }
.tarea-tema { font: inherit; align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font-size: 0.78rem; color: var(--tinta-suave);
  background: var(--fondo); border: none; border-radius: 6px; padding: 3px 8px; cursor: pointer; }
.tarea-tema:hover { color: var(--tinta); }
.tarea-tema .punto-prio { margin-top: 0; width: 7px; height: 7px; }
.pasos-persona { margin-top: 10px; }
.pasos-persona > p { display: flex; align-items: center; gap: 9px; margin: 6px 0 2px; font-weight: 600; font-size: 0.92rem; }
.avatar { width: 26px; height: 26px; border-radius: 50%; background: #FAEEDA; color: #633806; display: inline-flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 700; }
.pasos-vacio { color: var(--tinta-suave); padding: 14px 0; margin: 0; }
@media (max-width: 900px) { .st-pasos2 { grid-template-columns: 1fr; } }
.inicio-caja .fila-inicio { padding: 8px 4px; }
.bloque-inicio { margin-bottom: 24px; }
.inicio-frase { margin-bottom: 24px; }

/* Logos de cliente */
.logo-mini { max-height: 28px; max-width: 110px; object-fit: contain; display: block; }
.celda-logo { width: 130px; }
.logo-cabecera { max-height: 34px; max-width: 150px; object-fit: contain; display: block; }
.inicio-caja { position: relative; }
.inicio-logo { position: absolute; top: 30px; right: 40px; max-height: 56px; max-width: 180px; object-fit: contain; }
.pasos-logo { height: 38px; display: flex; align-items: center; }
.pasos-logo img { max-height: 30px; max-width: 160px; object-fit: contain; }
.pasos-hueco { flex: 1; }
.imp-logo-cliente { max-height: 36px; max-width: 160px; object-fit: contain; display: block; margin-left: auto; margin-bottom: 4px; }
@media (max-width: 800px) { .inicio-logo { position: static; display: block; margin-bottom: 12px; max-height: 40px; } }
.pasos-logo img { height: 24px; width: auto; max-height: none; }
.logo-cabecera, .inicio-logo, .logo-mini, .imp-logo-cliente { width: auto; }
.logo-cabecera { height: 32px; } .inicio-logo { height: 48px; } .logo-mini { height: 24px; } .imp-logo-cliente { height: 32px; }
