/* =====================================================================
   Infolaft Search · consulta asistida
   Estilos propios de las vistas exportadas del prototipo.
   Todo va prefijado con .infolaft-search- y no toca estilos globales
   de Angular Material: solo se ajusta md-* cuando está dentro de una
   clase propia.
   ===================================================================== */

/* ---------- 1. Tokens (valores tomados del prototipo) ---------- */
.infolaft-search-view,
.infolaft-search-dialog,
.infolaft-search-toasts {
  --is-ink: #2f3439;            /* texto principal */
  --is-ink-2: #4b545d;          /* texto de tabla */
  --is-muted: #6b747e;          /* texto secundario */
  --is-muted-2: #8f98a2;        /* texto terciario, fechas */
  --is-line: #e2e5ea;           /* bordes de tarjeta */
  --is-line-2: #eceef1;         /* separadores de fila, fondo de th */
  --is-bg: #f4f5f7;             /* fondo del área de contenido */
  --is-bg-2: #f7f8fa;           /* fondo de cajas internas */
  --is-header: #8aafc2;         /* encabezado azul de tarjeta y modal */
  --is-dark: #30363e;           /* encabezado oscuro */
  --is-primary: #f26522;        /* acción primaria (naranja Infolaft) */
  --is-link: #1c5f88;           /* enlaces, nuevo, coincidencias */
  --is-link-bg: #e1edf5;
  --is-progress: #c2410c;       /* en curso / en proceso */
  --is-progress-bg: #fde8da;
  --is-wait: #9a6200;           /* fuente pendiente / no disponible */
  --is-wait-2: #d99300;
  --is-wait-bg: #fdf0dc;
  --is-ok: #19714a;             /* completo / finalizado / sin coincidencias */
  --is-ok-bg: #e5f4ec;
  --is-alert: #b8441c;          /* fuera del tiempo máximo */
  --is-risk-high: #b42318;
  --is-risk-mid: #e8742e;
  --is-risk-low: #e5b800;
  --is-dd: #5b3f8f;             /* debida diligencia y descarte */
  --is-dd-bg: #ece6f6;
  --is-mono: "IBM Plex Mono", ui-monospace, monospace;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  color: var(--is-ink-2);
  font-size: 13px;
}

/* ---------- 2. Contenedor de pantalla ---------- */
.infolaft-search-view {
  background: var(--is-bg);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.infolaft-search-mono { font-family: var(--is-mono); font-variant-numeric: tabular-nums; }

/* Barra de título de la pantalla (tarjeta blanca con título y controles) */
.infolaft-search-titlebar {
  background: #fff;
  border: 1px solid var(--is-line);
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.infolaft-search-titlebar-title {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--is-ink);
  margin: 0;
}
.infolaft-search-titlebar-actions { margin-left: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.infolaft-search-back { font-size: 12.5px; color: var(--is-link); background: none; border: 0; padding: 0; cursor: pointer; }

/* ---------- 3. Tarjetas ---------- */
.infolaft-search-card { background: #fff; border: 1px solid var(--is-line); min-width: 0; }
.infolaft-search-card-header {
  background: var(--is-header);
  color: #fff;
  padding: 12px 18px;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .07em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
}
.infolaft-search-card-header--dark { background: var(--is-dark); }
.infolaft-search-card-body { padding: 16px 18px; }
.infolaft-search-card-note { padding: 10px 18px; border-top: 1px solid var(--is-line-2); font-size: 12.5px; }

/* ---------- 4. Contadores (KPI) ---------- */
.infolaft-search-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 1px;
  background: var(--is-line);
}
.infolaft-search-kpi {
  background: #fff;
  border: 0;
  text-align: left;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font: inherit;
  cursor: pointer;
  min-width: 0;
}
.infolaft-search-kpi--static { cursor: default; }
.infolaft-search-kpi.is-active { box-shadow: inset 0 -3px 0 var(--is-primary); }
.infolaft-search-kpi-value { font-family: var(--is-mono); font-size: 23px; font-weight: 500; line-height: 1.1; color: var(--is-ink); }
.infolaft-search-kpi-label { font-size: 12px; color: var(--is-muted); line-height: 1.35; }
.infolaft-search-kpi--nuevo .infolaft-search-kpi-value { color: var(--is-link); }
.infolaft-search-kpi--curso .infolaft-search-kpi-value { color: var(--is-progress); }
.infolaft-search-kpi--pendiente .infolaft-search-kpi-value { color: var(--is-wait); }
.infolaft-search-kpi--alerta .infolaft-search-kpi-value { color: var(--is-alert); }
.infolaft-search-kpi--ok .infolaft-search-kpi-value { color: var(--is-ok); }

/* ---------- 5. Pestañas (no son filtros: separan el tipo de trabajo) ---------- */
.infolaft-search-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: wrap;
  padding: 0 12px;
  border-bottom: 1px solid var(--is-line);
  background: #fff;
}
.infolaft-search-tab {
  appearance: none;
  border: 0;
  background: none;
  font: inherit;
  font-size: 13.5px;
  color: var(--is-muted);
  padding: 11px 16px 12px;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  white-space: nowrap;
}
.infolaft-search-tab.is-active { color: var(--is-ink); font-weight: 600; border-bottom-color: var(--is-primary); }
.infolaft-search-tab-count { font-family: var(--is-mono); font-size: 11px; background: var(--is-line-2); color: #4c5663; border-radius: 999px; padding: 1px 7px; font-weight: 400; }
.infolaft-search-tab.is-active .infolaft-search-tab-count { background: var(--is-progress-bg); color: #9c4315; }

/* ---------- 6. Filtros ---------- */
.infolaft-search-filters {
  display: flex;
  align-items: center;
  gap: 10px 14px;
  flex-wrap: wrap;
  padding: 10px 16px;
  background: #f5f6f8;
  border-bottom: 1px solid var(--is-line);
}
.infolaft-search-filters-title { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--is-muted); font-weight: 500; }
.infolaft-search-filters md-input-container { margin: 0; min-width: 160px; }
.infolaft-search-filters-count { margin-left: auto; font-size: 12px; color: var(--is-muted); }

/* ---------- 7. Tablas ---------- */
.infolaft-search-table-wrap { overflow-x: auto; }
.infolaft-search-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.infolaft-search-table th {
  background: var(--is-line-2);
  color: var(--is-ink-2);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--is-line);
  vertical-align: bottom;
}
.infolaft-search-table td { padding: 14px 12px; border-bottom: 1px solid var(--is-line-2); vertical-align: top; color: var(--is-ink-2); }
.infolaft-search-table tr.is-alert td { background: #fdf3f0; }
.infolaft-search-cell-main { display: block; font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-cell-sub { display: block; font-size: 12px; color: var(--is-muted-2); line-height: 1.5; margin-top: 2px; }
.infolaft-search-empty { padding: 28px 16px; text-align: center; color: var(--is-muted); font-size: 13px; }
.infolaft-search-error { padding: 16px; margin: 12px 16px; border: 1px solid #f3d2cd; background: #fdf3f2; color: var(--is-risk-high); font-size: 13px; border-radius: 4px; }
.infolaft-search-loading { padding: 28px 16px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--is-muted); }

/* Fila de grupo desplegable (lote). Solo un grupo abierto a la vez. */
.infolaft-search-group-row > td { padding: 0; background: var(--is-bg); }
.infolaft-search-group-toggle {
  appearance: none;
  border: 0;
  background: none;
  font: inherit;
  width: 100%;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px 18px;
  flex-wrap: wrap;
  padding: 12px 14px;
  color: var(--is-ink-2);
  font-size: 12px;
}
.infolaft-search-group-toggle:hover { background: #eef1f4; }
.infolaft-search-group-caret { font-size: 11px; color: var(--is-muted); width: 10px; display: inline-block; transition: transform .15s; }
.infolaft-search-group-row.is-open .infolaft-search-group-caret { transform: rotate(90deg); }
.infolaft-search-group-name { display: flex; flex-direction: column; gap: 1px; min-width: 150px; }
.infolaft-search-group-name b { font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-group-name span { font-size: 11px; color: var(--is-muted-2); }
.infolaft-search-group-end { margin-left: auto; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.infolaft-search-group-head th { background: var(--is-line-2); font-size: 10.5px; padding: 8px 12px; border-top: 1px solid #dfe3e8; }

/* ---------- 8. Etiquetas y estados ---------- */
/* Etiqueta de estado (pill) */
.infolaft-search-chip { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 10.5px; font-weight: 500; letter-spacing: .02em; white-space: nowrap; }
.infolaft-search-chip--nuevo { background: var(--is-link-bg); color: var(--is-link); }
.infolaft-search-chip--proceso { background: var(--is-progress-bg); color: #9c4315; }
.infolaft-search-chip--pendiente { background: var(--is-wait-bg); color: #8a5800; }
.infolaft-search-chip--sin-asignar { background: var(--is-link-bg); color: var(--is-link); }
.infolaft-search-chip--neutro { background: var(--is-line-2); color: #4c5663; }

/* Estado con círculo (automático, manual, análisis, entregada…) */
.infolaft-search-status { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; line-height: 1.35; color: var(--is-ink); }
.infolaft-search-status + .infolaft-search-status { margin-top: 5px; }
.infolaft-search-status::before {
  content: "";
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  color: #fff;
}
.infolaft-search-status em { font-style: normal; font-weight: 400; color: var(--is-muted); font-size: 11.5px; }
.infolaft-search-status--ok { color: var(--is-ok); }
.infolaft-search-status--ok::before { content: "✓"; background: var(--is-ok); }
.infolaft-search-status--curso { color: var(--is-progress); }
.infolaft-search-status--curso::before { border: 2px solid var(--is-progress); background: linear-gradient(90deg, var(--is-progress) 50%, #fff 50%); }
.infolaft-search-status--pendiente { color: #8a5800; }
.infolaft-search-status--pendiente::before { border: 2px solid var(--is-wait-2); }
.infolaft-search-status--por-iniciar { color: var(--is-link); }
.infolaft-search-status--por-iniciar::before { border: 2px dashed var(--is-link); }
.infolaft-search-status--alerta { color: var(--is-alert); }
.infolaft-search-status--alerta::before { content: "!"; background: var(--is-alert); }

/* Tipo de solicitud */
.infolaft-search-type { display: inline-block; font-size: 11px; font-weight: 500; padding: 3px 9px; border-radius: 3px; background: var(--is-line-2); color: var(--is-ink-2); margin-top: 5px; }
.infolaft-search-type--dd { background: var(--is-dd-bg); color: var(--is-dd); }

/* Origen de la debida diligencia */
.infolaft-search-origin { display: table; margin-top: 6px; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 10px; }
.infolaft-search-origin--nueva { background: var(--is-line-2); color: var(--is-dark); }
.infolaft-search-origin--consulta { background: #e6eef6; color: #1f4e79; }

/* Tiempo máximo */
.infolaft-search-sla { display: inline-flex; align-items: flex-start; gap: 6px; font-size: 12px; font-weight: 500; }
.infolaft-search-sla::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: 0 0 auto; margin-top: 5px; }
.infolaft-search-sla--ok { color: var(--is-ok); }
.infolaft-search-sla--neutro { color: var(--is-ink-2); }
.infolaft-search-sla--neutro::before { background: #b5bcc4; }
.infolaft-search-sla--alerta { color: var(--is-alert); }
.infolaft-search-sla-sub { display: block; font-size: 11.5px; color: var(--is-alert); font-weight: 400; margin-top: 2px; }

/* Coincidencias */
.infolaft-search-coin { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: var(--is-link); }
.infolaft-search-coin::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--is-link); }

/* Nivel de riesgo */
.infolaft-search-risk { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 500; border-radius: 4px; padding: 3px 8px; }
.infolaft-search-risk--alto { background: var(--is-risk-high); color: #fff; }
.infolaft-search-risk--medio { background: #fbd9bf; color: #8a3b0c; }
.infolaft-search-risk--bajo { background: #fdf0b5; color: #6b5200; }

/* Barra de avance */
.infolaft-search-progress { display: block; width: 108px; height: 5px; border-radius: 3px; background: var(--is-line); overflow: hidden; }
.infolaft-search-progress > i { display: block; height: 100%; background: var(--is-link); border-radius: 3px; }
.infolaft-search-progress--pendiente > i { background: var(--is-wait-2); }
.infolaft-search-progress--lg { width: 100%; height: 8px; border-radius: 5px; }

/* Enlaces y botones */
.infolaft-search-link { appearance: none; background: none; border: 0; padding: 0; font: inherit; font-size: 12.5px; color: var(--is-link); cursor: pointer; text-align: left; }
.infolaft-search-link:hover { text-decoration: underline; }
.infolaft-search-link--underline { text-decoration: underline; text-underline-offset: 2px; }
.md-button.infolaft-search-btn { margin: 0; min-height: 34px; line-height: 34px; font-size: 12px; letter-spacing: .06em; border-radius: 3px; padding: 0 14px; }
.md-button.infolaft-search-btn--primary { background: var(--is-primary); color: #fff; }
.md-button.infolaft-search-btn--primary:not([disabled]):hover { background: #d9541a; }
.md-button.infolaft-search-btn--primary[disabled] { background: #f9c3a7; color: #fff; }
.md-button.infolaft-search-btn--secondary { background: #fff; color: var(--is-ink-2); border: 1px solid #c9ced6; }
.md-button.infolaft-search-btn--small { min-height: 28px; line-height: 28px; font-size: 11px; padding: 0 11px; }
.infolaft-search-why { font-size: 12px; color: #9a4b17; }

/* ---------- 9. Avisos dentro de la pantalla ---------- */
.infolaft-search-notice { display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border-radius: 6px; font-size: 13px; line-height: 1.45; background: #fff6e5; border: 1px solid #f1d39a; color: #4a3a12; }
.infolaft-search-notice-icon { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; background: var(--is-wait-2); color: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.infolaft-search-notice--ok { background: #eef7f1; border-color: #cde6d6; color: #1d4d33; }
.infolaft-search-notice--ok .infolaft-search-notice-icon { background: var(--is-ok); }
.infolaft-search-notice--info { background: #eef4f9; border-color: #cfe0ec; color: #1f4e79; }
.infolaft-search-notice--info .infolaft-search-notice-icon { background: var(--is-link); }
.infolaft-search-notice-actions { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 4px; }

/* ---------- 10. Datos clave (etiqueta + valor) ---------- */
.infolaft-search-kv { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.infolaft-search-kv > span { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--is-muted-2); }
.infolaft-search-kv > b { font-size: 13.5px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-kv > em { font-style: normal; font-size: 11.5px; color: var(--is-muted-2); }
.infolaft-search-kv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 22px; }

/* Lista de definición (datos de una fuente o de un registro) */
.infolaft-search-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 8px 0 0; font-size: 12.5px; }
.infolaft-search-dl dt { color: var(--is-muted-2); }
.infolaft-search-dl dd { margin: 0; color: var(--is-ink); }

/* ---------- 11. Etapas del informe (1, 2.1, 2.2, 3) ---------- */
.infolaft-search-stages { border: 1px solid var(--is-line); border-radius: 6px; }
.infolaft-search-stage { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-top: 1px solid var(--is-line-2); }
.infolaft-search-stage:first-child { border-top: 0; }
.infolaft-search-stage-n { flex: 0 0 auto; min-width: 22px; height: 22px; border-radius: 11px; background: var(--is-line-2); color: var(--is-ink-2); font-size: 11px; font-weight: 600; display: grid; place-items: center; padding: 0 4px; margin-top: 1px; }
.infolaft-search-stage-body { flex: 1 1 auto; min-width: 0; }
.infolaft-search-stage-body > b { font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-stage-lists { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; margin-top: 6px; }
.infolaft-search-stage-end { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; padding-top: 2px; text-align: right; }
.infolaft-search-stage-date { font-size: 11.5px; color: var(--is-muted-2); }
.infolaft-search-stage-warn { display: block; margin-top: 6px; padding: 6px 10px; border-radius: 4px; background: var(--is-wait-bg); color: #8a5800; font-size: 12px; text-align: left; }
.infolaft-search-stage-info { display: block; margin-top: 6px; padding: 6px 10px; border-radius: 4px; background: #eef4f9; color: #1f4e79; font-size: 12px; text-align: left; }

/* ---------- 12. Formularios ---------- */
.infolaft-search-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.infolaft-search-field-label { font-size: 11px; color: #7d8691; }
.infolaft-search-optional { font-size: 10.5px; color: var(--is-muted-2); margin-left: 4px; }
.infolaft-search-required { font-size: 10.5px; color: #9a4b17; margin-left: 4px; }
.infolaft-search-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.infolaft-search-segmented { display: inline-flex; border: 1px solid #c9ced6; border-radius: 4px; overflow: hidden; margin: 0; padding: 0; min-inline-size: 0; }
.infolaft-search-segmented > button { appearance: none; border: 0; border-left: 1px solid #c9ced6; background: #fff; font: inherit; font-size: 12.5px; padding: 8px 14px; cursor: pointer; color: var(--is-ink-2); }
.infolaft-search-segmented > button:first-child { border-left: 0; }
.infolaft-search-segmented > button.is-active { background: var(--is-dark); color: #fff; }

/* ---------- 13. Ventanas (md-dialog) ---------- */
md-dialog.infolaft-search-dialog { max-width: 760px; width: 100%; border-radius: 4px; }
md-dialog.infolaft-search-dialog--sm { max-width: 520px; }
md-dialog.infolaft-search-dialog--md { max-width: 680px; }
md-dialog.infolaft-search-dialog--lg { max-width: 820px; }
.infolaft-search-dialog md-toolbar.infolaft-search-dialog-header {
  background: var(--is-header);
  color: #fff;
  min-height: 46px;
  height: 46px;
}
.infolaft-search-dialog md-toolbar.infolaft-search-dialog-header .md-toolbar-tools {
  height: 46px;
  max-height: 46px;
  padding: 0 18px;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.infolaft-search-dialog-close { margin-left: auto; appearance: none; background: none; border: 0; color: #fff; font-size: 20px; cursor: pointer; line-height: 1; }
.infolaft-search-dialog md-dialog-content.infolaft-search-dialog-body { padding: 18px; }
.infolaft-search-dialog md-dialog-actions.infolaft-search-dialog-footer { padding: 12px 18px 16px; gap: 9px; border-top: 0; min-height: 0; flex-wrap: wrap; }
.infolaft-search-dialog-footer .infolaft-search-why { margin-right: auto; }

/* Opciones de persona (asignar, reasignar) */
.infolaft-search-options { display: flex; flex-direction: column; gap: 8px; }
.infolaft-search-option { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--is-line); border-radius: 4px; cursor: pointer; }
.infolaft-search-option.is-disabled { background: var(--is-bg-2); color: #a6adb5; cursor: not-allowed; }
.infolaft-search-option-text { display: flex; flex-direction: column; gap: 2px; }
.infolaft-search-option-text b { font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-option.is-disabled .infolaft-search-option-text b { color: #a6adb5; }
.infolaft-search-option-text span { font-size: 11.5px; color: var(--is-muted-2); }
.infolaft-search-section-label { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--is-muted); font-weight: 500; margin: 14px 0 8px; }
.infolaft-search-section-label:first-child { margin-top: 0; }

/* ---------- 14. Avisos flotantes (toasts) ---------- */
.infolaft-search-toasts { position: fixed; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 10px; z-index: 90; width: 380px; max-width: calc(100vw - 32px); }
.infolaft-search-toast { display: flex; gap: 10px; align-items: flex-start; background: #fff; border-left: 4px solid var(--is-ok); border-radius: 4px; box-shadow: 0 6px 20px rgba(32, 38, 45, .18); padding: 12px 14px; }
.infolaft-search-toast--info { border-left-color: var(--is-link); }
.infolaft-search-toast--warn { border-left-color: var(--is-wait-2); }
.infolaft-search-toast-icon { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; background: var(--is-ok); color: #fff; display: grid; place-items: center; font-size: 11px; font-weight: 700; }
.infolaft-search-toast--info .infolaft-search-toast-icon { background: var(--is-link); }
.infolaft-search-toast--warn .infolaft-search-toast-icon { background: var(--is-wait-2); }
.infolaft-search-toast-body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 3px; }
.infolaft-search-toast-body b { font-size: 13px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-toast-body span { font-size: 12px; color: var(--is-ink-2); }
.infolaft-search-toast-close { appearance: none; border: 0; background: none; color: var(--is-muted-2); font-size: 16px; cursor: pointer; line-height: 1; }

/* ---------- 15. Pantallas angostas ---------- */
@media (max-width: 700px) {
  .infolaft-search-view { padding: 12px; }
  .infolaft-search-form-grid { grid-template-columns: 1fr; }
  .infolaft-search-titlebar-actions { margin-left: 0; }
}


/* =====================================================================
   Consulta asistida · Resumen, Informe, Ficha de lista, Nueva búsqueda,
   Mis consultas asistidas
   ===================================================================== */

.infolaft-search-stack { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.infolaft-search-cell-date { display: block; font-size: 12px; color: var(--is-ink); }
.infolaft-search-count { font-size: 11px; background: var(--is-line-2); color: #4a525b; border-radius: 10px; padding: 1px 7px; }
.infolaft-search-chip--finalizada { background: #e5f4ec; color: var(--is-ok); }
.infolaft-search-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.infolaft-search-thsort { appearance: none; border: 0; background: none; font: inherit; font-size: inherit; font-weight: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; cursor: pointer; padding: 0; display: inline-flex; gap: 4px; align-items: center; }
.infolaft-search-thsort:hover { color: var(--is-ink); }
.md-button.infolaft-search-btn--soft { background: var(--is-header); color: #fff; }
.md-button.infolaft-search-btn--dark { background: var(--is-dark); color: #fff; }
.infolaft-search-filter.md-input-container,
md-input-container.infolaft-search-filter { margin: 0; min-width: 160px; }

/* ---------- Informe en la tabla (avance + Ver informe + coincidencias) ---------- */
.infolaft-search-report {
  appearance: none; font: inherit; text-align: left; cursor: pointer;
  display: flex; flex-direction: column; gap: 6px;
  background: #fff; border: 1px solid #c9ced6; border-radius: 4px; padding: 9px 10px; min-width: 128px;
}
.infolaft-search-report:hover { border-color: var(--is-link); }
.infolaft-search-report .infolaft-search-progress { width: 108px; }
.infolaft-search-report-meta { font-size: 10.5px; color: var(--is-muted-2); letter-spacing: .02em; }
.infolaft-search-report-link { font-size: 12px; color: var(--is-link); font-weight: 500; }
.infolaft-search-report-coin { display: inline-flex; align-items: center; gap: 6px; margin-top: 7px; font-size: 12px; font-weight: 500; color: #164c6d; background: #e7f1fb; border-radius: 999px; padding: 3px 10px 3px 4px; }
.infolaft-search-report-coin-icon { width: 16px; height: 16px; border-radius: 50%; background: var(--is-link); color: #fff; font-size: 10.5px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.infolaft-search-report-none { display: block; margin-top: 7px; font-size: 12px; color: var(--is-muted); }

/* ---------- Fila de lote del Resumen ---------- */
.infolaft-search-lotrow { display: flex; align-items: center; gap: 12px; padding: 6px 14px 6px 6px; flex-wrap: wrap; background: var(--is-bg-2); }
.infolaft-search-lotrow .infolaft-search-group-toggle { flex: 1 1 auto; width: auto; gap: 22px; padding: 8px; border-radius: 6px; color: var(--is-ink); }
.infolaft-search-group-metric { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--is-ink-2); }
.infolaft-search-group-metric b { font-size: 13px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-lotmore td { background: var(--is-bg-2); font-size: 12.5px; color: var(--is-muted); padding: 10px 14px; }

/* ---------- Panorama del período ---------- */
.infolaft-search-panorama { padding: 16px 18px; display: flex; flex-direction: column; gap: 14px; }
.infolaft-search-panorama-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.infolaft-search-panorama-head b { font-size: 14px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-panorama-head span { font-size: 12px; color: var(--is-muted); }
.infolaft-search-panorama-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.infolaft-search-panorama-box { border: 1px solid var(--is-line); border-radius: 8px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; min-width: 0; background: #fff; }
.infolaft-search-panorama-title { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--is-muted); font-weight: 500; }
.infolaft-search-panorama-sub { font-size: 12px; color: var(--is-muted); }

/* barra de riesgo partida por nivel, 2px de separación */
.infolaft-search-riskbar { display: flex; gap: 2px; height: 16px; margin-top: 4px; }
.infolaft-search-riskbar-seg { display: block; height: 100%; min-width: 6px; }
.infolaft-search-riskbar-seg:first-child { border-radius: 4px 0 0 4px; }
.infolaft-search-riskbar-seg:last-child { border-radius: 0 4px 4px 0; }
.infolaft-search-riskbar-seg:only-child { border-radius: 4px; }
.infolaft-search-riskbar-seg--alto { background: var(--is-risk-high); }
.infolaft-search-riskbar-seg--medio { background: var(--is-risk-mid); }
.infolaft-search-riskbar-seg--bajo { background: var(--is-risk-low); }
.infolaft-search-risk-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 4px; }
.infolaft-search-risk-legend-item { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 6px; background: var(--is-bg-2); }
.infolaft-search-risk-legend-item.is-alto { background: #fdf3f2; }
.infolaft-search-risk-legend-label { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--is-ink); }
.infolaft-search-risk-legend-label i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
.infolaft-search-risk-legend-item b { font-size: 24px; font-weight: 600; line-height: 1.1; color: var(--is-ink); }
.infolaft-search-risk-legend-item.is-alto b { color: var(--is-risk-high); }
.infolaft-search-risk-legend-pct { font-size: 11.5px; color: var(--is-muted); }

/* columnas por área */
.infolaft-search-columns { display: flex; align-items: flex-end; gap: 14px; height: 150px; padding-top: 4px; }
.infolaft-search-column { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; }
.infolaft-search-column b { font-size: 13px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-column-track { flex: 1; width: 100%; max-width: 56px; display: flex; align-items: flex-end; border-bottom: 1px solid #d5dae0; }
.infolaft-search-column-track i { display: block; width: 100%; background: #2f5d85; border-radius: 4px 4px 0 0; }
.infolaft-search-column:hover .infolaft-search-column-track i { background: #244a6b; }
.infolaft-search-column-label { font-size: 11.5px; color: #4a525b; text-align: center; line-height: 1.2; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* notificaciones del período */
.infolaft-search-notifs { border: 1px solid var(--is-line); border-radius: 8px; padding: 12px 16px; }
.infolaft-search-notifs-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.infolaft-search-notif-list { list-style: none; margin: 0; padding: 0; }
.infolaft-search-notif { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--is-line-2); }
.infolaft-search-notif:first-child { border-top: 0; }
.infolaft-search-notif-icon { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #fff; background: var(--is-ok); }
.infolaft-search-notif--pendiente .infolaft-search-notif-icon { background: #d88a00; }
.infolaft-search-notif--alerta .infolaft-search-notif-icon { background: var(--is-risk-high); }
.infolaft-search-notif-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.infolaft-search-notif-body b { font-size: 13px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-notif--pendiente .infolaft-search-notif-body b { color: #8a5a00; }
.infolaft-search-notif-body span { font-size: 12px; color: #4a525b; }
.infolaft-search-notif-body .infolaft-search-notif-ref { color: var(--is-muted); font-size: 11.5px; }
.infolaft-search-notif-when { font-size: 11.5px; color: var(--is-muted-2); white-space: nowrap; }
.infolaft-search-notifs-more { margin-top: 8px; }

/* ---------- Ventana del informe ---------- */
.infolaft-search-inf { display: flex; flex-direction: column; gap: 14px; }
.infolaft-search-inf-name { font-size: 15px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-inf-doc { font-size: 12px; color: var(--is-muted-2); margin-top: -10px; }
.infolaft-search-inf-risk { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.infolaft-search-inf-risk-label { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--is-muted-2); }
.infolaft-search-inf-progress-top { display: flex; align-items: baseline; gap: 10px; justify-content: space-between; margin-bottom: 8px; }
.infolaft-search-inf-progress-top b { font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-inf-progress-top span { font-family: var(--is-mono); font-size: 12px; color: var(--is-link); }
.infolaft-search-inf-progress--pendiente .infolaft-search-inf-progress-top span { color: var(--is-wait); }
.infolaft-search-inf-ok { background: #e5f2ec; color: #1d5a3f; border-radius: 3px; padding: 10px 12px; font-size: 11.5px; display: flex; flex-direction: column; gap: 3px; }
.infolaft-search-inf-ok b { font-size: 12px; font-weight: 500; }
.infolaft-search-inf-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.infolaft-search-inf-section-head b { font-size: 13.5px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-inf-downloads { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-left: auto; }
.infolaft-search-stage-fuente { font-size: 12.5px; color: var(--is-link); }
.infolaft-search-inf-section-head span { font-size: 13px; color: var(--is-ink-2); }
.infolaft-search-inf-dd { border-top: 1px solid var(--is-line); padding-top: 14px; }
.infolaft-search-stage-lists .infolaft-search-link { font-size: 12.5px; }
.infolaft-search-stage-sub { font-size: 11px; color: var(--is-muted-2); }
.infolaft-search-stage-dd b { display: block; font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-stage-dd span { font-size: 11.5px; color: var(--is-muted); }

/* ---------- Ficha de la lista ---------- */
.infolaft-search-ficha { display: flex; flex-direction: column; gap: 4px; }
.infolaft-search-hz-who { margin: 0 0 12px; font-size: 12.5px; color: #6b747e; }
.infolaft-search-hz-who b { color: #2f3439; font-weight: 500; }
.infolaft-search-hz { border: 1px solid #cfe0ec; background: #f5f9fc; border-radius: 6px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.infolaft-search-hz-meta { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--is-muted); padding-bottom: 10px; border-bottom: 1px solid #d6e3ee; }
.infolaft-search-hz-meta > span:first-child { display: inline-flex; align-items: center; gap: 7px; color: var(--is-ink); }
.infolaft-search-hz-type { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--is-ink); font-weight: 500; }
.infolaft-search-hz-type .infolaft-search-verified { font-weight: 400; font-size: 12px; color: var(--is-muted); }
.infolaft-search-level { display: inline-flex; align-items: baseline; gap: 4px; font-size: 12px; font-weight: 500; border-radius: 4px; padding: 2px 8px; white-space: nowrap; }
.infolaft-search-level b { font-size: 12.5px; font-weight: 600; font-family: var(--is-mono); }
.infolaft-search-level--alta { background: var(--is-link); color: #fff; }
.infolaft-search-level--media { background: #d6e6f2; color: #164c6d; }
.infolaft-search-level--baja { background: var(--is-line-2); color: #4c5663; }
.infolaft-search-level-mark { color: var(--is-progress); font-weight: 700; font-size: 12px; margin-left: 2px; vertical-align: super; line-height: 0; }
.infolaft-search-hz-box { background: #fff; border: 1px solid var(--is-line); border-radius: 4px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.infolaft-search-hz-record { margin: 0; font-size: 13.5px; font-weight: 600; color: #1f2429; padding-bottom: 10px; border-bottom: 1px solid var(--is-line-2); }
.infolaft-search-hz-box .infolaft-search-dl { margin: 0; gap: 8px 16px; }
mark.infolaft-search-hl { background: #fde68a; color: #1f2429; border-radius: 2px; padding: 0 2px; }
.infolaft-search-list-about { display: flex; flex-direction: column; gap: 14px; }
.infolaft-search-list-about-title { font-size: 13px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-list-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 16px; font-size: 12.5px; color: var(--is-ink); }
.infolaft-search-list-meta em { display: block; font-style: normal; font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--is-muted-2); margin-bottom: 2px; }
.infolaft-search-list-what b { font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-list-what p { margin: 4px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--is-ink-2); }

/* ---------- Nueva búsqueda ---------- */
.infolaft-search-searchopts { display: grid; grid-template-columns: auto minmax(220px, 1fr) minmax(260px, 310px); gap: 18px 28px; align-items: center; padding: 18px; }
.infolaft-search-searchopts md-radio-group { display: flex; gap: 18px; }
.infolaft-search-searchopts md-radio-button { margin: 6px 0 0; }
.infolaft-search-precision-labels { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--is-ink-2); }
.infolaft-search-precision md-slider { margin: 0; }
.infolaft-search-precision-hint { font-size: 11px; color: #7d8691; }
.infolaft-search-assisted { display: flex; gap: 10px; align-items: flex-start; background: #eaf3fa; border: 1px solid #c6dcec; border-radius: 3px; padding: 10px 12px; }
.infolaft-search-assisted md-switch { margin: 0; }
.infolaft-search-assisted b { display: block; font-size: 12.5px; font-weight: 500; color: var(--is-link); }
.infolaft-search-assisted span { font-size: 12px; color: var(--is-ink-2); line-height: 1.45; }
.infolaft-search-searchrow { display: flex; gap: 12px 22px; align-items: flex-end; flex-wrap: wrap; padding: 12px 18px 16px; }
.infolaft-search-searchrow md-input-container { margin: 0; flex: 1 1 180px; }
.infolaft-search-searchrow md-input-container.infolaft-search-narrow { flex: 0 1 150px; }
.infolaft-search-footer { display: flex; justify-content: flex-end; }

/* ---------- Mis consultas asistidas: filtros ---------- */
.infolaft-search-filtergrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 22px; padding: 14px 18px 4px; align-items: end; }
.infolaft-search-filtergrid md-input-container { display: flex; flex-direction: column; justify-content: flex-end; margin: 0 0 10px; padding: 0; }
.infolaft-search-filtergrid md-input-container .md-errors-spacer { display: none; }
.infolaft-search-filtergrid md-select { margin: 0; width: 100%; }
.infolaft-search-filtergrid .md-select-value { padding-top: 2px; padding-bottom: 1px; min-height: 26px; }
.infolaft-search-filtergrid .infolaft-search-filtergrid-wide { grid-column: span 3; }
.infolaft-search-filtergrid-actions { display: flex; gap: 10px; align-items: center; justify-content: flex-end; margin-bottom: 14px; }

/* ---------- Ventana sin documento ---------- */
.infolaft-search-nodoc { display: flex; gap: 12px; align-items: flex-start; }
.infolaft-search-nodoc-icon { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: #d88a00; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 14px; }
.infolaft-search-nodoc-title { margin: 2px 0 6px; font-size: 14px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-nodoc p { font-size: 13px; line-height: 1.5; color: var(--is-ink-2); margin: 0; }

@media (max-width: 900px) {
  .infolaft-search-panorama-grid { grid-template-columns: 1fr; }
  .infolaft-search-searchopts { grid-template-columns: 1fr; }
  .infolaft-search-filtergrid { grid-template-columns: 1fr 1fr; }
  .infolaft-search-filtergrid .infolaft-search-filtergrid-wide { grid-column: span 2; }
}
@media (max-width: 700px) {
  .infolaft-search-notif { grid-template-columns: 24px minmax(0, 1fr); }
  .infolaft-search-notif-when, .infolaft-search-notif > .infolaft-search-link { grid-column: 2; }
  .infolaft-search-filtergrid { grid-template-columns: 1fr; }
  .infolaft-search-filtergrid .infolaft-search-filtergrid-wide { grid-column: auto; }
}
.infolaft-search-check.md-checkbox, md-checkbox.infolaft-search-check { margin: 0; }
.infolaft-search-toast-action { align-self: flex-start; margin-top: 2px; }
.infolaft-search-ficha > .infolaft-search-back { align-self: flex-start; }
/* aviso de fuente no disponible dentro de una etapa: con ícono, como en el prototipo */
.infolaft-search-stage-end .infolaft-search-stage-warn { display: flex; gap: 6px; align-items: flex-start; max-width: 280px; line-height: 1.4; color: #7a5200; background: #fdf3dc; padding: 5px 8px; }
.infolaft-search-stage-end .infolaft-search-stage-warn::before { content: "!"; flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--is-wait-2); color: #fff; font-size: 10px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }
/* colores de los controles de Nueva búsqueda, solo dentro de esta vista */
.infolaft-search-busqueda md-radio-button.md-checked .md-off { border-color: var(--is-link); }
.infolaft-search-busqueda md-radio-button .md-on { background-color: var(--is-link); }
.infolaft-search-busqueda md-slider .md-track.md-track-fill,
.infolaft-search-busqueda md-slider .md-thumb:after { background-color: #2b9fd9; border-color: #2b9fd9; }
.infolaft-search-busqueda md-switch.md-checked .md-thumb { background-color: var(--is-primary); }
.infolaft-search-busqueda md-switch.md-checked .md-bar { background-color: rgba(242, 101, 34, .5); }
.infolaft-search-busqueda md-checkbox.md-checked .md-icon { background-color: var(--is-link); }


/* =====================================================================
   Grupo B · Debida diligencia y fuentes (consulta asistida) y cola del coordinador
   Solo clases que no están en la base. Valores tomados del prototipo.
   ===================================================================== */

/* ---------- utilidades ---------- */
.infolaft-search-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.infolaft-search-text { margin: 0; font-size: 13px; line-height: 1.5; color: var(--is-ink-2); }
.infolaft-search-text--small { font-size: 12px; margin-top: 10px; }
.infolaft-search-cell-main--regular { font-weight: 400; }
.infolaft-search-cell-sub--who { color: var(--is-muted); }
.infolaft-search-link--below { display: block; margin-top: 6px; }
.infolaft-search-updates { display: flex; flex-direction: column; gap: 8px; }
.infolaft-search-update { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--is-line); border-radius: 4px; }
.infolaft-search-update b { color: var(--is-ink, #16324f); }
.infolaft-search-link--strong { font-weight: 500; font-size: 13px; }
.infolaft-search-asterisk { color: var(--is-alert); font-weight: 700; margin-left: 1px; cursor: help; }
.infolaft-search-alert-text { color: var(--is-alert); font-weight: 500; }
.infolaft-search-status--inline { display: inline-flex; }
.infolaft-search-sla--parado { color: var(--is-muted); }
.infolaft-search-sla--parado::before { background: var(--is-muted); }

/* Campos de Angular Material dentro de las vistas: sin margen extra */
md-input-container.infolaft-search-md-field { margin: 0; min-width: 0; }
md-input-container.infolaft-search-md-field--grow { flex: 1 1 220px; }

/* Encabezado de columna que ordena */
.infolaft-search-sort { appearance: none; border: 0; background: none; padding: 0; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; cursor: pointer; }

/* ---------- avisos de la página ---------- */
.infolaft-search-banner { padding: 11px 16px; border: 1px solid #f3cdb3; background: #fdf0e6; border-radius: 4px; font-size: 13px; color: #8a3b0c; line-height: 1.5; }
.infolaft-search-banner b { font-weight: 600; }
.infolaft-search-notice--inset { margin: 12px 16px 4px; }

/* ---------- Cola de trabajo ---------- */
/* Interruptor de asignación automática (naranja encendido) */
md-switch.infolaft-search-switch { margin: 0; font-size: 12.5px; color: var(--is-ink-2); }
md-switch.infolaft-search-switch .md-label { font-weight: 500; }
md-switch.infolaft-search-switch.md-checked .md-bar { background-color: rgba(242, 101, 34, .45); }
md-switch.infolaft-search-switch.md-checked .md-thumb { background-color: var(--is-primary); }

.infolaft-search-filter-row { display: flex; align-items: flex-end; gap: 12px 18px; flex-wrap: wrap; }
.infolaft-search-filter-row md-input-container { flex: 0 1 200px; }

/* Fila del lote: el botón que despliega y, a la derecha, el estado de asignación */
.infolaft-search-group-line { display: flex; align-items: center; gap: 10px; }
.infolaft-search-group-line .infolaft-search-group-toggle { flex: 1 1 auto; min-width: 0; }
.infolaft-search-group-line .infolaft-search-group-end { margin-right: 14px; }
.infolaft-search-group-meter { display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--is-ink-2); }
.infolaft-search-progress--lote { width: 110px; }
.infolaft-search-group-summary { display: flex; align-items: center; gap: 8px; font-size: 12px; }

/* Grupo por fuente caída (filtro «Fuente pendiente») */
.infolaft-search-source-row > td { padding: 0; background: var(--is-bg); }
.infolaft-search-source-line { display: flex; align-items: center; gap: 10px 18px; flex-wrap: wrap; padding: 10px 14px; font-size: 12.5px; color: var(--is-ink-2); }
.infolaft-search-source-line b { color: var(--is-ink); font-weight: 600; }
.infolaft-search-source-note { font-size: 12px; color: var(--is-muted); }

/* ---------- Debida diligencia y descarte ---------- */
/* Pasos numerados del formulario de solicitud */
.infolaft-search-steps { display: flex; flex-direction: column; gap: 18px; }
.infolaft-search-step { display: flex; flex-direction: column; gap: 10px; }
.infolaft-search-step-head { display: flex; align-items: center; gap: 8px; }
.infolaft-search-step-head b { font-size: 13.5px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-step-hint { font-size: 12.5px; color: var(--is-ink-2); }
.infolaft-search-step-body { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.infolaft-search-manual-grid { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 10px 14px; }
.infolaft-search-manual-name { grid-column: 2; }
.infolaft-search-manual-grid > :first-child { grid-row: 1; }

/* Tarjetas de elección (Debida diligencia / Descarte de homonimia) */
.infolaft-search-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.infolaft-search-choice { display: flex; align-items: flex-start; gap: 4px; border: 1px solid #c9ced6; background: #fff; border-radius: 6px; padding: 11px 13px; cursor: pointer; }
.infolaft-search-choice:hover { border-color: var(--is-muted-2); }
.infolaft-search-choice.is-active { border-color: var(--is-link); background: #eef5fa; box-shadow: inset 0 0 0 1px var(--is-link); }
.infolaft-search-choice md-checkbox { margin: 1px 10px 0 0; min-width: 20px; }
.infolaft-search-choice-text { display: flex; flex-direction: column; gap: 3px; }
.infolaft-search-choice-text b { font-size: 13.5px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-choice-text span { font-size: 12px; line-height: 1.45; color: var(--is-ink-2); }

.infolaft-search-attach { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.infolaft-search-attach-empty { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.infolaft-search-deadline { margin: 18px 0 0; padding-top: 12px; border-top: 1px solid var(--is-line); font-size: 12.5px; color: var(--is-ink-2); }
.infolaft-search-deadline b { color: var(--is-ink); font-weight: 600; }

/* Archivo adjunto (PDF) */
.infolaft-search-file { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--is-line); border-radius: 6px; padding: 10px 12px; background: #fff; }
.infolaft-search-file-icon { width: 32px; height: 40px; border-radius: 3px; background: #b42318; color: #fff; font-size: 10px; font-weight: 700; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 5px; box-sizing: border-box; }
.infolaft-search-file-text { display: flex; flex-direction: column; gap: 2px; }
.infolaft-search-file-text b { font-size: 12.5px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-file-text span { font-size: 11.5px; color: var(--is-muted-2); }

/* Resumen de la solicitud dentro de una ventana (asignar, reasignar, consulta fija) */
.infolaft-search-summary { display: flex; flex-direction: column; gap: 3px; background: var(--is-bg); border-radius: 4px; padding: 10px 12px; }
.infolaft-search-summary b { font-size: 13.5px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-summary > span { font-size: 12px; color: var(--is-muted-2); }
.infolaft-search-summary .infolaft-search-type { margin-top: 0; }

/* ---------- Fuentes y listas ---------- */
.infolaft-search-mode { display: inline-block; font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 3px; white-space: nowrap; }
.infolaft-search-mode--auto { background: #e7f1fb; color: var(--is-link); }
.infolaft-search-mode--semi { background: #eef1f4; color: var(--is-ink); }
.infolaft-search-mode--man { background: var(--is-wait-bg); color: #7a5200; }
.infolaft-search-search { flex: 0 1 220px; }
.infolaft-search-search input { width: 100%; }
.infolaft-search-table--catalog td { padding-top: 11px; padding-bottom: 11px; }
.infolaft-search-file-name { font-size: 12px; word-break: break-all; display: block; max-width: 170px; }
.infolaft-search-row-actions { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; white-space: nowrap; }

/* Aviso de listas propias (morado claro) */
.infolaft-search-own-notice { margin: 14px 16px 4px; border: 1px solid #d9d3f5; background: #f7f5ff; border-radius: 6px; padding: 10px 14px; display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.infolaft-search-own-notice b { font-size: 13px; color: var(--is-ink); }
.infolaft-search-own-notice p { margin: 4px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--is-ink-2); max-width: 680px; }

/* Ventana de carga de lista propia */
.infolaft-search-dropzone { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border: 1px dashed #c9ced6; border-radius: 6px; padding: 12px; }
.infolaft-search-declaration { background: var(--is-bg-2); border-radius: 6px; padding: 10px 12px; }
.infolaft-search-declaration md-checkbox { margin: 0; }
.infolaft-search-declaration .md-label { font-size: 12.5px; line-height: 1.5; color: var(--is-ink); white-space: normal; }

/* ---------- Ventanas del coordinador ---------- */
.infolaft-search-dialog-inner { display: flex; flex-direction: column; min-height: 0; max-height: 92vh; width: 100%; }
.infolaft-search-detail { display: flex; flex-direction: column; gap: 18px; }
.infolaft-search-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.infolaft-search-detail-head > div { display: flex; flex-direction: column; gap: 3px; }
.infolaft-search-detail-head b { font-size: 15px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-detail-head span { font-size: 12.5px; color: var(--is-muted); }
.infolaft-search-detail-head .infolaft-search-type { margin-top: 0; }
.infolaft-search-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px 16px; background: var(--is-bg-2); border-radius: 6px; padding: 12px 14px; }
.infolaft-search-detail-grid .infolaft-search-sla { text-transform: uppercase; font-size: 11px; letter-spacing: .03em; }
.infolaft-search-detail-section { display: flex; flex-direction: column; gap: 8px; }
.infolaft-search-detail-section .infolaft-search-inf-section-head { margin-bottom: 0; }
.infolaft-search-detail-title { font-size: 12px; font-weight: 600; color: var(--is-ink); text-transform: uppercase; letter-spacing: .04em; }
.infolaft-search-detail-text { display: block; max-width: 340px; color: var(--is-muted-2); }
.infolaft-search-table--compact td { padding: 11px 12px; font-size: 12px; }

/* Resultado de una fuente manual (punto de color + texto) */
.infolaft-search-result { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 500; }
.infolaft-search-result::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.infolaft-search-result--sin { color: var(--is-ok); }
.infolaft-search-result--con { color: var(--is-link); }
.infolaft-search-result--nd { color: var(--is-wait); }
.infolaft-search-result--pendiente { color: var(--is-muted, #6b7280); }

.infolaft-search-history { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.infolaft-search-history li { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; }
.infolaft-search-history b { font-weight: 500; color: var(--is-ink); }
.infolaft-search-history span { color: var(--is-muted); }

/* Opciones de persona: radios y casillas de Angular Material dentro de la tarjeta */
.infolaft-search-options md-radio-button.infolaft-search-option,
.infolaft-search-options md-checkbox.infolaft-search-option { margin: 0; padding: 10px 12px; }
.infolaft-search-options .infolaft-search-option.is-checked { border-color: var(--is-link); background: #f3f8fb; }
.infolaft-search-options .infolaft-search-option .md-label { margin-left: 30px; }

/* Motivo de la reasignación (selección única) */
.infolaft-search-choice-row { display: flex; gap: 8px; flex-wrap: wrap; }
.infolaft-search-choice-btn { appearance: none; font: inherit; font-size: 12.5px; cursor: pointer; border: 1px solid #c9ced6; background: #fff; border-radius: 4px; padding: 8px 14px; color: var(--is-ink-2); }
.infolaft-search-choice-btn:hover { border-color: var(--is-muted-2); }
.infolaft-search-choice-btn.is-active { border-color: var(--is-link); background: #eef5fa; color: var(--is-link); box-shadow: inset 0 0 0 1px var(--is-link); }

/* Reparto del lote */
.infolaft-search-split { display: flex; flex-direction: column; border: 1px solid var(--is-line); border-radius: 4px; }
.infolaft-search-split-row { display: flex; justify-content: space-between; gap: 10px; padding: 8px 12px; font-size: 13px; border-bottom: 1px solid var(--is-line-2); }
.infolaft-search-split-row:last-child { border-bottom: 0; }
.infolaft-search-split-row b { font-weight: 500; color: var(--is-ink); }

@media (max-width: 700px) {
  .infolaft-search-choice-grid { grid-template-columns: 1fr; }
  .infolaft-search-manual-grid { grid-template-columns: 1fr; }
  .infolaft-search-manual-name { grid-column: auto; }
  .infolaft-search-group-line { flex-wrap: wrap; }
}
md-switch.infolaft-search-switch { flex-direction: row-reverse; }
md-switch.infolaft-search-switch .md-label { margin: 0 10px 0 0; }
.infolaft-search-split-block { margin-top: 14px; }
/* Ancho de las ventanas: el de cada tamaño, sin pasarse de la pantalla */
md-dialog.infolaft-search-dialog--sm { width: 520px; }
md-dialog.infolaft-search-dialog--md { width: 680px; }
md-dialog.infolaft-search-dialog--lg { width: 820px; }
@media (max-width: 860px) { md-dialog.infolaft-search-dialog--sm, md-dialog.infolaft-search-dialog--md, md-dialog.infolaft-search-dialog--lg { width: 100%; } }


/* =====================================================================
   Analista INT-ANA: Mis tareas, fuentes de consulta manual, ventana de
   una fuente, vista previa, Rama Judicial y debida diligencia.
   Usa también .infolaft-search-stack y .infolaft-search-level.
   ===================================================================== */

/* Barra de título dentro de una tarjeta (sin borde propio) */
.infolaft-search-titlebar--flat { border: 0; border-bottom: 1px solid var(--is-line); }
.infolaft-search-titlebar--flat .infolaft-search-back + .infolaft-search-titlebar-title { margin-left: 4px; }

/* ---------- Mis tareas ---------- */
.infolaft-search-mytasks-table { min-width: 820px; }
.infolaft-search-mytasks-lotbar { display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--is-ink-2); }
.infolaft-search-mytasks-lotprogress { width: 110px; }
.infolaft-search-mytasks-seen { font-size: 11.5px; color: var(--is-muted-2); }
.infolaft-search-mytasks-date { font-weight: 400; }
.infolaft-search-mytasks-count { margin-top: 8px; font-weight: 400; }

/* Tipo de persona bajo el documento */
.infolaft-search-person-type { display: inline-block; margin-top: 5px; font-size: 10.5px; font-weight: 500; border-radius: 3px; padding: 2px 7px; }
.infolaft-search-person-type--natural { background: var(--is-line-2); color: #4c5663; }
.infolaft-search-person-type--juridica { background: #e9e3f5; color: var(--is-dd); }

/* Un cuadro por fuente: hecha (azul), por consultar (gris), no disponible (ámbar) */
.infolaft-search-dots { display: flex; gap: 2px; margin-top: 6px; }
.infolaft-search-dots i { width: 8px; height: 8px; border-radius: 2px; background: var(--is-line); }
.infolaft-search-dots i.is-done { background: var(--is-link); }
.infolaft-search-dots i.is-down { background: var(--is-wait-2); }

/* Fuente caída en la columna Tiempo máximo */
.infolaft-search-sla--caida { color: var(--is-ink-2); }
.infolaft-search-sla--caida::before { background: #4c5663; }

/* ---------- Persona consultada / solicitud ---------- */
.infolaft-search-person { display: flex; flex-wrap: wrap; gap: 14px 30px; align-items: flex-start; }
.infolaft-search-person-name { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; row-gap: 2px; align-items: center; flex: 1 1 240px; min-width: 0; }
.infolaft-search-person-title { font-size: 19px; font-weight: 500; color: var(--is-ink); line-height: 1.25; grid-column: 2; }
.infolaft-search-person-doc { font-size: 12px; color: var(--is-muted); grid-column: 1 / -1; }
.infolaft-search-person-name .infolaft-search-person-title:first-child { grid-column: 1 / -1; }
.infolaft-search-person-check { width: 22px; height: 22px; border-radius: 50%; box-sizing: border-box; border: 2.5px solid var(--is-wait-2); background: #fff; display: inline-flex; align-items: center; justify-content: center; grid-column: 1; }
.infolaft-search-person-check.is-complete { border: 0; background: var(--is-ok); }
.infolaft-search-person-check.is-complete::after { content: "✓"; color: #fff; font-size: 13px; font-weight: 700; line-height: 1; }
.infolaft-search-sentbox { flex: 1 1 100%; background: #e3f2ea; color: var(--is-ok); border-radius: 4px; padding: 9px 12px; font-size: 12.5px; }
.infolaft-search-sentbox b { font-weight: 500; }

/* ---------- Tabla de fuentes de consulta manual ---------- */
.infolaft-search-sources td { vertical-align: top; }
.infolaft-search-source-row > td { background: #fffaf2; }
.infolaft-search-source-row.is-done > td { background: #fff; }
.infolaft-search-source-row > td:first-child { width: 28px; color: var(--is-muted); }
.infolaft-search-down { display: inline-block; margin: 6px 0 0; font-size: 9.5px; font-weight: 500; color: var(--is-wait); background: var(--is-wait-bg); padding: 1px 6px; border-radius: 3px; }
.infolaft-search-source-open { display: block; margin-top: 6px; }
.infolaft-search-source-desc { min-width: 300px; }
.infolaft-search-source-text { font-size: 12.5px; color: var(--is-ink); line-height: 1.5; margin-bottom: 6px; max-width: 460px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.infolaft-search-source-text.is-muted { color: var(--is-muted-2); font-style: italic; }
.infolaft-search-source-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.infolaft-search-source-tags span { font-size: 10.5px; background: #eef1f4; color: #4c5663; border-radius: 3px; padding: 2px 7px; }
.infolaft-search-source-desc .md-button + .infolaft-search-cell-sub { margin-top: 6px; }

/* Selector de resultado con forma de píldora y color por resultado */
md-input-container.infolaft-search-result-select { margin: 0; min-width: 140px; max-width: 160px; padding: 0; }
md-input-container.infolaft-search-result-select .md-errors-spacer { display: none; }
md-input-container.infolaft-search-result-select md-select .md-select-value { border: 1px solid #c9ced6; border-radius: 999px; padding: 6px 12px; min-height: 0; font-size: 12.5px; font-weight: 500; color: var(--is-ink); }
md-input-container.infolaft-search-result-select md-select .md-select-value .md-select-icon { margin: 0 -4px 0 0; }
.infolaft-search-result-select--sin md-select .md-select-value { background: #e3f2ea; border-color: var(--is-ok); color: var(--is-ok); }
.infolaft-search-result-select--con md-select .md-select-value { background: var(--is-link-bg); border-color: var(--is-link); color: #164d6f; }
.infolaft-search-result-select--nd md-select .md-select-value { background: var(--is-wait-bg); border-color: var(--is-wait); color: #7a5200; }

/* Estado de cada fuente */
.infolaft-search-source-state { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 500; }
.infolaft-search-source-state::before { content: ""; flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; color: #fff; }
.infolaft-search-source-state--ok { color: var(--is-ok); }
.infolaft-search-source-state--ok::before { content: "✓"; background: var(--is-ok); }
.infolaft-search-source-state--falta { color: var(--is-progress); }
.infolaft-search-source-state--falta::before { content: "…"; background: var(--is-progress); }
.infolaft-search-source-state--pendiente { color: var(--is-link); }
.infolaft-search-source-state--pendiente::before { border: 2px solid var(--is-link); }

/* Pie con avance y acciones de envío */
.infolaft-search-closebar { display: flex; gap: 14px 20px; align-items: center; flex-wrap: wrap; justify-content: space-between; padding: 14px 18px; border-top: 1px solid var(--is-line-2); }
.infolaft-search-closebar-count { display: flex; gap: 8px 16px; align-items: baseline; flex-wrap: wrap; font-size: 12px; color: var(--is-muted); }
.infolaft-search-closebar-count b { font-family: var(--is-mono); font-size: 16px; font-weight: 500; color: var(--is-ink); margin-right: 3px; }
.infolaft-search-closebar-progress { width: 140px; align-self: center; }
.infolaft-search-closebar-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; flex: 1 1 320px; min-width: 0; }
.infolaft-search-closebar-actions .infolaft-search-why { flex: 1 1 200px; text-align: right; }

/* ---------- Ventana de una fuente ---------- */
.infolaft-search-source-dialog { display: flex; flex-direction: column; gap: 16px; }
.infolaft-search-source-dialog-sub { margin: -4px 0 0; font-size: 12.5px; color: var(--is-muted); }
.infolaft-search-source-dialog-sub b { color: var(--is-ink); font-weight: 500; }
.infolaft-search-result-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.infolaft-search-result-option { appearance: none; font: inherit; font-size: 13px; cursor: pointer; border: 1px solid #c9ced6; background: #fff; border-radius: 6px; padding: 10px 8px; color: var(--is-ink-2); }
.infolaft-search-result-option:hover:not([disabled]) { border-color: var(--is-muted-2); }
.infolaft-search-result-option--sin[aria-checked="true"] { background: #e3f2ea; border-color: var(--is-ok); color: var(--is-ok); font-weight: 500; box-shadow: inset 0 0 0 1px var(--is-ok); }
.infolaft-search-result-option--con[aria-checked="true"] { background: var(--is-link-bg); border-color: var(--is-link); color: #164d6f; font-weight: 500; box-shadow: inset 0 0 0 1px var(--is-link); }
.infolaft-search-result-option--nd[aria-checked="true"] { background: var(--is-wait-bg); border-color: var(--is-wait); color: #7a5200; font-weight: 500; box-shadow: inset 0 0 0 1px var(--is-wait); }
.infolaft-search-source-section { display: flex; flex-direction: column; gap: 9px; }
.infolaft-search-source-section-label { display: flex; align-items: center; gap: 6px 8px; flex-wrap: wrap; font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-source-section > .infolaft-search-link { align-self: flex-start; }
.infolaft-search-source-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 12px; }
.infolaft-search-source-field.is-full { grid-column: 1 / -1; }
.infolaft-search-source-fields md-input-container { margin: 8px 0 0; }

/* Editor de texto con formato */
.infolaft-search-editor { border: 1px solid #c9ced6; border-radius: 6px; background: #fff; overflow: hidden; }
.infolaft-search-editor--con { border-left: 3px solid var(--is-link); }
.infolaft-search-editor--nd { border-left: 3px solid var(--is-wait); }
.infolaft-search-editor-toolbar { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; padding: 4px 6px; border-bottom: 1px solid var(--is-line-2); background: #fafbfc; }
.infolaft-search-editor-toolbar button { appearance: none; border: 0; background: none; font: inherit; font-size: 11.5px; color: var(--is-ink-2); padding: 5px 7px; border-radius: 4px; cursor: pointer; min-width: 28px; }
.infolaft-search-editor-toolbar button:hover { background: var(--is-line-2); color: var(--is-ink); }
.infolaft-search-editor-sep { width: 1px; height: 16px; background: #d9dde3; margin: 0 4px; }
.infolaft-search-editor-text { min-height: 150px; max-height: 320px; overflow: auto; padding: 10px 12px; font-size: 13.5px; line-height: 1.55; color: var(--is-ink); outline: none; }
.infolaft-search-editor--nd textarea.infolaft-search-editor-text { width: 100%; box-sizing: border-box; border: 0; resize: vertical; font: inherit; background: transparent; }
.infolaft-search-editor-text:empty::before { content: attr(data-placeholder); color: var(--is-muted-2); }
.infolaft-search-editor-table { margin: 0 10px 10px; border: 1px solid var(--is-line); border-radius: 4px; overflow: hidden; }
.infolaft-search-editor-table .infolaft-search-table-wrap { max-height: 280px; overflow: auto; }
.infolaft-search-editor-table .infolaft-search-table th,
.infolaft-search-editor-table .infolaft-search-table td { padding: 4px 6px; vertical-align: middle; }
.infolaft-search-editor-table .is-row-action { width: 28px; padding: 0 4px; text-align: center; }
.infolaft-search-cell-edit { display: flex; align-items: center; gap: 2px; }
.infolaft-search-editor-table input { width: 100%; min-width: 72px; box-sizing: border-box; border: 1px solid transparent; border-radius: 3px; background: transparent; font: inherit; font-size: 12px; padding: 4px 6px; color: var(--is-ink); }
.infolaft-search-editor-table input:focus { border-color: var(--is-link); background: #fff; outline: none; }
.infolaft-search-editor-table th button,
.infolaft-search-editor-table .is-row-action button { appearance: none; border: 0; background: none; cursor: pointer; color: var(--is-muted-2); font-size: 14px; line-height: 1; padding: 0 2px; }
.infolaft-search-editor-table th button:hover,
.infolaft-search-editor-table .is-row-action button:hover { color: var(--is-alert); }
.infolaft-search-editor-tablebar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 6px 10px; border-top: 1px solid var(--is-line-2); background: #fafbfc; }
.infolaft-search-editor-table-actions { display: flex; align-items: center; gap: 12px; }
.infolaft-search-editor-tablebar md-checkbox { margin: 0; font-size: 12px; }
.infolaft-search-editor-paste { display: flex; flex-direction: column; gap: 6px; padding: 0 10px 10px; font-size: 12px; }
.infolaft-search-editor-paste textarea { width: 100%; box-sizing: border-box; border: 1.5px dashed #b9c1cb; border-radius: 6px; padding: 16px 14px; font: inherit; font-size: 12.5px; color: var(--is-ink); background: #f7f9fb; resize: none; text-align: center; min-height: 74px; }
.infolaft-search-attachments { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 10px 10px; }
.infolaft-search-attachment { display: inline-flex; align-items: center; gap: 6px; font-family: var(--is-mono); font-size: 11px; background: var(--is-bg); border: 1px solid var(--is-line); border-radius: 3px; padding: 3px 8px; color: var(--is-ink-2); }
.infolaft-search-attachment::before { font-family: Roboto, sans-serif; font-size: 10px; font-weight: 500; color: #fff; border-radius: 2px; padding: 1px 4px; }
.infolaft-search-attachment.is-doc::before { content: "PDF"; background: var(--is-alert); }
.infolaft-search-attachment.is-img::before { content: "IMG"; background: var(--is-link); }
.infolaft-search-attachment button { appearance: none; border: 0; background: none; cursor: pointer; color: var(--is-muted-2); font-size: 14px; line-height: 1; padding: 0 2px; }

/* ---------- Vista previa del informe ---------- */
md-dialog.infolaft-search-preview-dialog { max-width: 720px; }
.infolaft-search-preview-intro { margin: 0 0 12px; font-size: 13px; color: var(--is-ink-2); line-height: 1.55; }
.infolaft-search-preview-intro b { color: var(--is-ink); font-weight: 600; }
.infolaft-search-preview-list { display: flex; flex-direction: column; max-height: 60vh; overflow: auto; border: 1px solid var(--is-line); border-radius: 4px; }
.infolaft-search-preview-item { padding: 10px 12px; border-bottom: 1px solid var(--is-line-2); display: flex; flex-direction: column; gap: 6px; }
.infolaft-search-preview-item:last-child { border-bottom: 0; }
.infolaft-search-preview-head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: 12.5px; color: var(--is-ink-2); }
.infolaft-search-preview-head b { color: var(--is-ink); font-weight: 500; }
.infolaft-search-preview-symbol { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; white-space: nowrap; }
.infolaft-search-preview-symbol::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.infolaft-search-preview-symbol--sin { color: var(--is-ok); }
.infolaft-search-preview-symbol--con { color: var(--is-link); }
.infolaft-search-preview-symbol--nd { color: var(--is-wait); }
.infolaft-search-preview-symbol--na,
.infolaft-search-preview-symbol--none { color: #a0a8b2; font-style: italic; }
.infolaft-search-preview-text { margin: 0; font-size: 12.5px; color: var(--is-ink); line-height: 1.5; white-space: pre-wrap; }
.infolaft-search-preview-text.is-muted { color: var(--is-muted); }
.infolaft-search-preview-note { margin: 0; font-size: 10.5px; color: var(--is-muted-2); font-family: var(--is-mono); }
.infolaft-search-preview-item .infolaft-search-dl { margin: 0; }

/* ---------- Rama Judicial con el analizador ---------- */
.infolaft-search-rj-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--is-line-2); }
.infolaft-search-rj-top b { display: block; font-size: 15px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-rj-top span { font-size: 12px; color: var(--is-muted); }
.infolaft-search-rj-grid { display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.infolaft-search-rj-side { border-right: 1px solid var(--is-line-2); padding: 14px 16px; display: flex; flex-direction: column; gap: 18px; background: #fafbfc; }
.infolaft-search-rj-main { display: flex; flex-direction: column; min-width: 0; }
.infolaft-search-rj-step { display: flex; flex-direction: column; gap: 10px; }
.infolaft-search-rj-block { padding: 14px 18px; }
.infolaft-search-rj-block + .infolaft-search-rj-block { border-top: 1px solid var(--is-line-2); }
.infolaft-search-rj-title { font-size: 13px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-rj-title span { font-weight: 400; margin-left: 4px; color: var(--is-muted); }
.infolaft-search-rj-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.infolaft-search-rj-text { margin: 0; font-size: 13px; color: var(--is-ink-2); line-height: 1.5; }
.md-button.infolaft-search-rj-full { width: 100%; }
.infolaft-search-rj-loading { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--is-muted); }
.infolaft-search-rj-error { margin: 0; font-size: 12px; color: var(--is-risk-high); }
.infolaft-search-rj-file { display: flex; flex-direction: column; gap: 3px; border: 1px solid var(--is-line); background: #fff; border-radius: 6px; padding: 9px 10px; }
.infolaft-search-rj-file .infolaft-search-mono { font-size: 11.5px; word-break: break-all; }
.infolaft-search-rj-file .infolaft-search-link { align-self: flex-start; font-size: 12px; }
md-input-container.infolaft-search-rj-field { margin: 4px 0 0; }
md-input-container.infolaft-search-rj-field .md-errors-spacer { display: none; }
.infolaft-search-rj-two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.infolaft-search-rj-note { margin: 0; font-size: 11.5px; color: var(--is-muted); line-height: 1.5; }
.infolaft-search-rj-table { font-size: 12px; }
.infolaft-search-rj-table th:first-child,
.infolaft-search-rj-table td:first-child { width: 32px; }
.infolaft-search-rj-table md-checkbox { margin: 0; }
.infolaft-search-rj-table tr.is-included td { background: #f5f9fc; }
.infolaft-search-rj-rad { font-size: 11px; word-break: break-all; max-width: 150px; }
.infolaft-search-rj-dates span { display: block; }
.infolaft-search-rj-subjects { min-width: 200px; }
.infolaft-search-rj-subjects span { display: block; }
.infolaft-search-rj-subjects span.is-match { font-weight: 600; color: #1f2429; background: #fdf3d0; border-radius: 2px; padding: 0 3px; margin: 1px 0; }
.infolaft-search-rj-options { max-width: 560px; }
.infolaft-search-rj-foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; padding: 12px 18px; border-top: 1px solid var(--is-line); background: #fafbfc; }
.infolaft-search-rj-foot > .infolaft-search-cell-sub { margin: 0 auto 0 0; }

/* ---------- Debida diligencia del analista ---------- */
.infolaft-search-dd-sent { border-top: 1px solid var(--is-line); padding: 12px 18px 14px; }
.infolaft-search-dd-sent-title { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--is-muted); font-weight: 500; margin-bottom: 6px; }
.infolaft-search-dd-sent .infolaft-search-dl { margin: 0; }
.infolaft-search-dd-sent-file { margin: 10px 0 0; font-size: 13px; color: var(--is-ink); }
.infolaft-search-dd-fold { width: 100%; border: 0; cursor: pointer; font: inherit; text-align: left; }
.infolaft-search-dd-fold-caret { margin-left: auto; font-size: 10px; transition: transform .15s; }
.infolaft-search-dd-fold[aria-expanded="true"] .infolaft-search-dd-fold-caret { transform: rotate(90deg); }
.infolaft-search-dd-matches { display: flex; flex-direction: column; }
.infolaft-search-dd-match { padding: 16px 18px; border-top: 1px solid var(--is-line-2); }
.infolaft-search-dd-match:first-child { border-top: 0; }
.infolaft-search-dd-match-head { display: flex; align-items: center; gap: 8px 10px; flex-wrap: wrap; margin-bottom: 12px; font-size: 13px; }
.infolaft-search-dd-match-head > b { font-weight: 600; color: var(--is-ink); }
.infolaft-search-dd-match-end { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--is-ink-2); }
.infolaft-search-dd-match-box { background: #fff; border: 1px solid var(--is-line); border-radius: 4px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.infolaft-search-dd-match-record { margin: 0; font-size: 13.5px; font-weight: 600; color: #1f2429; padding-bottom: 10px; border-bottom: 1px solid var(--is-line-2); line-height: 1.45; }
.infolaft-search-dd-match-box .infolaft-search-dl { margin: 0; }

/* Zona del PDF y archivo adjunto */
.infolaft-search-pdf-drop { border: 1.5px dashed #c9ced6; border-radius: 8px; padding: 22px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; background: #fafbfc; }
.infolaft-search-pdf-drop b { font-size: 14px; color: var(--is-ink); }
.infolaft-search-pdf-drop span { font-size: 12.5px; color: var(--is-muted); max-width: 520px; line-height: 1.5; }
.infolaft-search-pdf-file { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.infolaft-search-pdf-icon { width: 38px; height: 46px; border-radius: 4px; background: var(--is-risk-high); color: #fff; font-size: 10.5px; font-weight: 700; display: inline-flex; align-items: flex-end; justify-content: center; padding-bottom: 6px; box-sizing: border-box; flex: none; }
.infolaft-search-pdf-text { display: flex; flex-direction: column; gap: 2px; margin-right: auto; }
.infolaft-search-pdf-text b { font-size: 12.5px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-pdf-text span { font-size: 11.5px; color: var(--is-muted); }

@media (max-width: 700px) {
  .infolaft-search-rj-grid { grid-template-columns: 1fr; }
  .infolaft-search-rj-side { border-right: 0; border-bottom: 1px solid var(--is-line-2); }
  .infolaft-search-result-options { grid-template-columns: 1fr; }
}

/* Botones de fila en minúscula, como en el prototipo («Agregar descripción», «Ver y editar») */
.md-button.infolaft-search-btn--plain { text-transform: none; letter-spacing: 0; font-size: 12px; }
.md-button.infolaft-search-btn--secondary[disabled] { color: #b9c1cb; border-color: var(--is-line); background: #fff; }
.infolaft-search-sources td:nth-child(2) { width: 170px; }
.infolaft-search-input { width: 100%; box-sizing: border-box; border: 1px solid #c9ced6; border-radius: 4px; padding: 6px 8px; font: inherit; font-size: 12.5px; background: #fff; min-width: 0; color: var(--is-ink); }
.infolaft-search-input[disabled] { background: #f4f5f7; color: #a6adb5; }
.infolaft-search-rj-two { margin: 4px 0 6px; }

/* Casillas y opciones de Angular Material con el azul de la plataforma, solo dentro de estas vistas */
.infolaft-search-view md-checkbox.md-checked .md-icon,
.infolaft-search-dialog md-checkbox.md-checked .md-icon { background-color: var(--is-link); }
.infolaft-search-view md-radio-button.md-checked .md-off,
.infolaft-search-dialog md-radio-button.md-checked .md-off { border-color: var(--is-link); }
.infolaft-search-view md-radio-button .md-on,
.infolaft-search-dialog md-radio-button .md-on { background-color: var(--is-link); }
.infolaft-search-view md-input-container.md-input-focused label,
.infolaft-search-dialog md-input-container.md-input-focused label { color: var(--is-link); }
.infolaft-search-view md-input-container .md-input:focus,
.infolaft-search-dialog md-input-container .md-input:focus { border-color: var(--is-link); }

/* =====================================================================
   Grupo 40 · Soporte, notificaciones, auditoría e inicio de sesión
   Solo clases que no están en la base. Valores tomados del prototipo (proto/add.css).
   ===================================================================== */

/* ---------- utilidades del grupo ---------- */
.infolaft-search-sop-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.infolaft-search-sop-muted { color: var(--is-muted); font-size: 12.5px; }
.infolaft-search-sop-sub { display: block; font-size: 11.5px; color: var(--is-muted); line-height: 1.45; margin-top: 3px; }
.infolaft-search-sop-sub--alerta { color: var(--is-alert); }
.infolaft-search-sop-field { margin: 0; }
.infolaft-search-sop-field .md-errors-spacer { display: none; }
.infolaft-search-sop-form { display: flex; flex-direction: column; gap: 4px; }
.infolaft-search-sop-form md-input-container { margin: 10px 0 0; }
.infolaft-search-sop-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.infolaft-search-sop-h4 { margin: 0 0 8px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--is-muted); font-weight: 700; }

/* Encabezado de pantalla unido a sus contadores (una sola tarjeta) */
.infolaft-search-sop-head { background: #fff; border: 1px solid var(--is-line); }
.infolaft-search-sop-head > .infolaft-search-titlebar { border: 0; }
.infolaft-search-sop-head > .infolaft-search-kpis { border-top: 1px solid var(--is-line); }
.infolaft-search-sop-head .infolaft-search-kpi--static { background: #f7f8fa; }
.infolaft-search-titlebar-sub { font-size: 13px; color: var(--is-ink-2); }

/* Botón oscuro (acción del equipo interno: incidente de seguridad) */
.md-button.infolaft-search-btn--dark { background: var(--is-dark); color: #fff; }
.md-button.infolaft-search-btn--dark:not([disabled]):hover { background: #454c55; }

/* Menú «Descargar ▾» */
md-menu-content.infolaft-search-menu { min-width: 170px; padding: 4px; }
md-menu-content.infolaft-search-menu md-menu-item { min-height: 36px; height: 36px; }
md-menu-content.infolaft-search-menu md-menu-item > .md-button { font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--is-ink); min-height: 36px; line-height: 36px; }

/* Campo de filtro con texto (ID en auditoría) */
.infolaft-search-filters md-input-container.infolaft-search-sop-search { min-width: 240px; }

/* ---------- Criticidad y tipo de solicitud ---------- */
.infolaft-search-crit { display: inline-block; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 3px; white-space: nowrap; }
.infolaft-search-crit--crit { background: #b8441c; color: #fff; }
.infolaft-search-crit--alto { background: #fbd5cd; color: #9a2c0c; }
.infolaft-search-crit--medio { background: var(--is-wait-bg); color: #8a5800; }
.infolaft-search-crit--bajo { background: var(--is-line-2); color: var(--is-ink-2); }
.infolaft-search-crit-na { font-size: 11.5px; color: var(--is-muted); }
.infolaft-search-type--seg { background: var(--is-dark); color: #fff; }
.infolaft-search-type--block { display: block; width: fit-content; }
.infolaft-search-sla--espera { color: var(--is-wait); }

/* ---------- Centro de notificaciones ---------- */
.infolaft-search-nc-list { list-style: none; margin: 0; padding: 0; }
.infolaft-search-nc-item { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 12px; align-items: flex-start; padding: 14px 18px; border-top: 1px solid #eef1f4; }
.infolaft-search-nc-item:first-child { border-top: 0; }
.infolaft-search-nc-item--new { background: #f6fafd; }
.infolaft-search-nc-icon { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #fff; margin-top: 1px; }
.infolaft-search-nc-icon--ok { background: #1e7a4c; }
.infolaft-search-nc-icon--w { background: #d88a00; }
.infolaft-search-nc-icon--i { background: var(--is-link); }
.infolaft-search-nc-icon--r { background: var(--is-risk-high); }
.infolaft-search-nc-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.infolaft-search-nc-title { font-size: 13.5px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-nc-item--new .infolaft-search-nc-title::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--is-link); margin-right: 7px; vertical-align: middle; }
.infolaft-search-nc-text { font-size: 12.5px; color: #4a525b; }
.infolaft-search-nc-ref { font-size: 11.5px; color: var(--is-muted); }
.infolaft-search-nc-meta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.infolaft-search-nc-tag { font-size: 11px; color: var(--is-muted); background: #eef1f4; border-radius: 3px; padding: 1px 7px; }
.infolaft-search-nc-mail { font-size: 11px; color: var(--is-link); }
.infolaft-search-nc-end { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; text-align: right; }
.infolaft-search-nc-time { font-size: 11.5px; color: var(--is-muted-2); white-space: nowrap; }
.infolaft-search-nc-end .infolaft-search-link { font-size: 11.5px; }
.infolaft-search-nc-end .infolaft-search-nc-read { color: var(--is-muted); }
.infolaft-search-nc-aff { margin-top: 8px; padding: 8px 12px; border: 1px solid #f1d39a; background: #fffaf0; border-radius: 4px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.infolaft-search-nc-aff-head { font-size: 12.5px; color: #4a3a12; }
.infolaft-search-nc-aff-head b { font-weight: 600; }
.infolaft-search-nc-aff-note { margin: 4px 0 0; font-size: 12px; color: var(--is-muted); }
.infolaft-search-nc-aff-list { list-style: none; margin: 2px 0 0; padding: 0; width: 100%; }
.infolaft-search-nc-aff-list li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 6px 0; border-top: 1px solid #f3e4c4; font-size: 12.5px; }
.infolaft-search-nc-aff-list li:first-child { border-top: 0; }

/* ---------- Incidentes ---------- */
.infolaft-search-inc-table td:first-child { white-space: nowrap; }
.infolaft-search-inc-table td:nth-child(2) { min-width: 240px; }
.infolaft-search-inc-title { display: block; max-width: 420px; font-size: 13px; color: var(--is-ink); }
.infolaft-search-inc-desc { display: block; font-size: 12px; color: var(--is-muted); line-height: 1.4; margin-top: 3px; max-width: 420px; }
.infolaft-search-inc-table .infolaft-search-status { font-weight: 500; }
.infolaft-search-inc-date { display: block; font-size: 13px; color: var(--is-ink); }

/* Ventana de detalle */
.infolaft-search-inc-hd { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.infolaft-search-inc-hd .infolaft-search-status + .infolaft-search-type,
.infolaft-search-inc-hd .infolaft-search-status { margin-top: 0; }
.infolaft-search-inc-kv { margin: 0 0 14px; border: 1px solid #e3e7ec; border-radius: 4px; }
.infolaft-search-inc-kv > div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 8px 12px; font-size: 13px; }
.infolaft-search-inc-kv > div + div { border-top: 1px solid #eef1f4; }
.infolaft-search-inc-kv dt { color: var(--is-muted); }
.infolaft-search-inc-kv dd { margin: 0; color: var(--is-ink); }
.infolaft-search-inc-clocks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.infolaft-search-inc-clock { border: 1px solid #e3e7ec; border-radius: 4px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--is-ink); }
.infolaft-search-inc-clock-t { font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--is-muted); font-weight: 600; }
.infolaft-search-inc-esc { background: #fde4e1; border: 1px solid #f4c1ba; border-radius: 4px; padding: 10px 12px; margin-bottom: 14px; font-size: 13px; color: var(--is-ink); }
.infolaft-search-inc-esc > b { color: var(--is-risk-high); font-weight: 600; }
.infolaft-search-inc-esc p { margin: 5px 0 0; }
.infolaft-search-inc-esc p > span { color: var(--is-muted); }
.infolaft-search-inc-note { margin: 0 0 14px; font-size: 13px; color: var(--is-ink-2); line-height: 1.5; }
.infolaft-search-inc-hist { list-style: none; margin: 0 0 14px; padding: 0 0 0 14px; border-left: 2px solid #e3e7ec; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--is-ink); }
.infolaft-search-inc-hist li > span { display: block; font-size: 11.5px; color: var(--is-muted); font-family: var(--is-mono); }
.infolaft-search-inc-act { border-top: 1px solid #e3e7ec; padding-top: 14px; }
.infolaft-search-inc-act .infolaft-search-inc-note { margin: 8px 0 0; }
.infolaft-search-inc-warn { background: var(--is-wait-bg); border: 1px solid #f0d4a3; border-radius: 4px; padding: 10px 12px; margin-bottom: 6px; font-size: 13px; color: #6b4708; display: flex; flex-direction: column; gap: 3px; }
.infolaft-search-inc-intro { margin: 0 0 6px; font-size: 13px; color: var(--is-ink-2); line-height: 1.5; }

/* Adjunto de la mesa de ayuda */
.infolaft-search-sop-attach { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 12px; font-size: 13px; color: var(--is-ink); }
.infolaft-search-sop-file { font-size: 12px; background: var(--is-line-2); color: var(--is-ink); border-radius: 999px; padding: 3px 10px; }

/* ---------- Inicio de sesión y formulario externo (sin sesión) ---------- */
.infolaft-search-view--pub { background: #eef0f3; align-items: center; padding: 32px 16px 48px; min-height: 560px; }
.infolaft-search-pub-card { background: #fff; border: 1px solid var(--is-line); border-radius: 8px; padding: 28px 32px; width: 100%; max-width: 420px; box-sizing: border-box; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 2px 10px rgba(47, 52, 57, .06); }
.infolaft-search-pub-card--form { max-width: 680px; }
.infolaft-search-pub-card--ok { max-width: 520px; text-align: center; align-items: center; }
.infolaft-search-pub-logo { font-weight: 700; font-size: 22px; color: var(--is-ink); letter-spacing: -.01em; }
.infolaft-search-pub-logo span { font-weight: 400; margin-left: 4px; color: var(--is-primary); }
.infolaft-search-pub-h { font-size: 18px; font-weight: 600; margin: 4px 0 0; color: var(--is-ink); }
.infolaft-search-pub-sub { margin: 0; font-size: 13px; color: var(--is-ink-2); line-height: 1.5; }
.infolaft-search-pub-req { color: var(--is-progress); font-weight: 600; }
.infolaft-search-pub-card md-input-container { margin: 6px 0 0; }
.md-button.infolaft-search-pub-in { width: 100%; }
.infolaft-search-pub-card .infolaft-search-link,
.infolaft-search-pub-card .infolaft-search-back { align-self: flex-start; }
.infolaft-search-pub-help { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 10px; padding: 14px; border: 1px solid #f3c9b3; background: #fff6f1; border-radius: 6px; font-size: 12.5px; color: #4c5663; }
.infolaft-search-pub-help b { color: var(--is-ink); }
.infolaft-search-pub-ok-i { width: 40px; height: 40px; border-radius: 50%; background: #1f7a4d; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 20px; }
.infolaft-search-pub-card--ok p { margin: 0; font-size: 13.5px; color: var(--is-ink); line-height: 1.5; }
.infolaft-search-pub-card--ok p.infolaft-search-pub-muted { color: var(--is-muted); }
.infolaft-search-pub-foot { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-top: 6px; flex-wrap: wrap; }
.infolaft-search-pub-foot .infolaft-search-why { margin-right: auto; }

/* ---------- Informe mensual de indicadores ---------- */
.infolaft-search-im-wrap { display: flex; flex-direction: column; gap: 14px; }
.infolaft-search-im-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.infolaft-search-im-meta > div { padding: 12px 18px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; font-size: 13px; }
.infolaft-search-im-meta > div + div { border-left: 1px solid #e3e7ec; }
.infolaft-search-im-meta dt { font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--is-muted); font-weight: 600; }
.infolaft-search-im-meta dd { margin: 0; color: var(--is-ink); display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.infolaft-search-im-u { font-size: 13px; color: var(--is-muted); }
.infolaft-search-im-i { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; padding: 20px 22px; }
.infolaft-search-im-i + .infolaft-search-im-i { border-top: 1px solid #e3e7ec; }
.infolaft-search-im-n { width: 28px; height: 28px; border-radius: 50%; background: var(--is-dark); color: #fff; font-size: 13px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.infolaft-search-im-b { min-width: 0; }
.infolaft-search-im-b h3 { margin: 3px 0; font-size: 15px; font-weight: 600; color: #1f2429; }
.infolaft-search-im-ref { margin: 0 0 10px; font-size: 12.5px; color: var(--is-muted); line-height: 1.45; }
.infolaft-search-im-v { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.infolaft-search-im-v > b { font-size: 26px; font-weight: 600; color: #1f2429; letter-spacing: -.01em; }
.infolaft-search-im-d { margin: 0; font-size: 13px; color: var(--is-ink-2); line-height: 1.5; max-width: 760px; }
.infolaft-search-im-bars { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-width: 460px; }
.infolaft-search-im-bars li { display: grid; grid-template-columns: 70px 1fr 28px; gap: 10px; align-items: center; font-size: 12.5px; color: var(--is-ink-2); }
.infolaft-search-im-bar { height: 10px; background: #eef1f4; border-radius: 2px; overflow: hidden; }
.infolaft-search-im-bar > i { display: block; height: 100%; background: var(--is-link); border-radius: 0 2px 2px 0; }
.infolaft-search-im-bars b { text-align: right; font-weight: 600; color: #1f2429; }
.infolaft-search-im-table { margin-top: 4px; }
.infolaft-search-im-bad { color: var(--is-risk-high); font-weight: 500; }
.infolaft-search-im-bad em { font-style: normal; font-weight: 400; font-size: 11.5px; }
.infolaft-search-im-lim { font-size: 12px; color: var(--is-muted); }
.infolaft-search-im-src { font-size: 12px; color: var(--is-muted); margin: -4px 2px 0; }
.infolaft-search-chip--cumple { background: #dff3e8; color: #17663f; }
.infolaft-search-chip--no-cumple { background: #fde4e1; color: var(--is-risk-high); }

/* ---------- Registro de auditoría ---------- */
.infolaft-search-aud-table td { vertical-align: top; }
.infolaft-search-aud-table .infolaft-search-link.infolaft-search-aud-user { font-size: 13px; font-weight: 500; color: var(--is-ink); }
.infolaft-search-aud-table .infolaft-search-link.infolaft-search-mono { font-family: var(--is-mono); font-size: 11.5px; }
.infolaft-search-aud-row { cursor: pointer; }
.infolaft-search-aud-row:hover > td { background: #fafbfc; }
.infolaft-search-aud-row.is-open > td { background: #fff6f1; }
.infolaft-search-aud-caret-cell { width: 34px; }
.infolaft-search-aud-caret { appearance: none; border: 0; background: none; font: inherit; font-size: 11px; color: var(--is-muted); width: 24px; height: 24px; border-radius: 4px; cursor: pointer; transition: transform .15s; }
.infolaft-search-aud-caret[aria-expanded="true"] { transform: rotate(90deg); color: var(--is-ink); }
.infolaft-search-aud-fh { display: block; font-size: 11.5px; color: var(--is-alert); margin-top: 2px; }
.infolaft-search-aud-chg { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 4px; font-size: 12px; }
.infolaft-search-aud-chg s { color: var(--is-muted-2); }
.infolaft-search-aud-chg b { font-weight: 600; color: var(--is-ink); }
.infolaft-search-aud-hist { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 9px 18px; background: #eef5fb; border-bottom: 1px solid #cfe0ee; font-size: 12.5px; color: #1f4d6b; }
.infolaft-search-aud-note { margin: 0; padding: 10px 18px 14px; font-size: 12px; color: var(--is-muted); border-top: 1px solid #e3e7ec; }
.infolaft-search-aud-det > td { background: #fafbfc; padding: 14px 18px 18px; }
.infolaft-search-aud-d { display: flex; flex-direction: column; gap: 12px; }
.infolaft-search-aud-d-h { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: baseline; font-size: 13px; }
.infolaft-search-aud-d-h b { color: var(--is-ink); font-weight: 600; }
.infolaft-search-aud-d-g { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.infolaft-search-aud-b { background: #fff; border: 1px solid var(--is-line); border-radius: 6px; overflow: hidden; }
.infolaft-search-aud-bh { padding: 9px 14px; border-bottom: 1px solid var(--is-line); font-size: 12.5px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-aud-f { display: grid; grid-template-columns: 170px 1fr; gap: 12px; padding: 8px 14px; border-top: 1px solid #f0f2f4; font-size: 12.5px; color: var(--is-ink); }
.infolaft-search-aud-bh + .infolaft-search-aud-f { border-top: 0; }
.infolaft-search-aud-f > span:first-child { color: #4c5663; font-weight: 500; }
.infolaft-search-aud-ok { color: #1f7a4d; font-weight: 500; }
.infolaft-search-aud-x { color: var(--is-alert); font-weight: 500; }
.infolaft-search-aud-ft { display: flex; justify-content: flex-end; }
.infolaft-search-aud-int { font-size: 12px; color: #1f7a4d; }

/* Ventana de verificación */
.infolaft-search-ver { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.infolaft-search-ver-i { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: #1f7a4d; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 14px; }
.infolaft-search-ver-t { margin: 2px 0 6px; font-size: 14px; font-weight: 600; color: var(--is-ink); }
.infolaft-search-ver p.infolaft-search-ver-d { margin: 0; font-size: 13px; line-height: 1.5; color: var(--is-ink-2); }

/* ---------- Pantallas angostas ---------- */
@media (max-width: 700px) {
  .infolaft-search-nc-item { grid-template-columns: 26px minmax(0, 1fr); }
  .infolaft-search-nc-end { grid-column: 2; align-items: flex-start; text-align: left; }
  .infolaft-search-inc-clocks,
  .infolaft-search-aud-d-g,
  .infolaft-search-sop-form-grid { grid-template-columns: 1fr; }
  .infolaft-search-inc-kv > div,
  .infolaft-search-aud-f { grid-template-columns: 1fr; gap: 2px; }
  .infolaft-search-im-meta { grid-template-columns: 1fr 1fr; }
  .infolaft-search-im-meta > div:nth-child(3) { border-left: 0; }
  .infolaft-search-pub-card { padding: 22px 18px; }
}


/* ===== Ajustes del 04/11 · riesgo y coincidencia por hallazgo, nota del nivel de riesgo, validación RUES ===== */

/* Riesgo del hallazgo: pastilla corta y angosta («R. Alto», «R. Medio», «R. Bajo») */
.infolaft-search-risk--sm { font-size: 10.5px; padding: 1px 6px; border-radius: 3px; line-height: 1.5; gap: 3px; }

/* Coincidencia del hallazgo, debajo de la lista: «Coincidencia 92 % · orden distinto de nombres y apellidos» */
.infolaft-search-coinc { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.infolaft-search-coinc-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.infolaft-search-coinc-co { display: inline-block; font-size: 12px; color: #5d6670; }
.infolaft-search-stage-lists--coinc { gap: 10px; }
.infolaft-search-calif-row .infolaft-search-coinc { flex: 1; }
.infolaft-search-dd-match-end .infolaft-search-coinc-co,
.infolaft-search-hz-type .infolaft-search-coinc-co { font-weight: 400; }

/* «Ver actualizaciones» al final de la etapa 3 cuando tiene coincidencias */
.infolaft-search-stage-foot { padding-top: 10px; margin-top: 2px; border-top: 1px solid #eef0f3; }

/* Nivel de riesgo con asterisco y nota (md-tooltip) */
.infolaft-search-risk-tip { display: inline-flex; cursor: help; border-radius: 4px; outline-offset: 3px; appearance: none; background: transparent; border: 0; padding: 0; font: inherit; color: inherit; }
button.label { appearance: none; border: 0; cursor: pointer; }
.infolaft-search-risk-tip:focus-visible { outline: 2px solid var(--is-accent, #1c5f88); }
.infolaft-search-risk-ast { font-size: 11px; margin-left: 2px; top: -.3em; }
md-tooltip.infolaft-search-nota-riesgo .md-content { height: auto; max-width: 320px; white-space: normal; line-height: 1.5; font-size: 12px; padding: 10px 12px; background: #30363e; }
md-tooltip.infolaft-search-nota-riesgo b { display: block; font-weight: 500; margin-bottom: 4px; }

/* Validación de identidad de la persona jurídica (RUES · datos abiertos) */
.infolaft-search-vr { margin: 12px 0 4px; padding: 12px 14px; background: #fff; border: 1px solid #e2e5ea; border-radius: 6px; }
.infolaft-search-vr-head { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin-bottom: 8px; }
.infolaft-search-vr-head b { font-weight: 500; font-size: 13px; }
.infolaft-search-vr-res { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 12.5px; margin-bottom: 10px; }
.infolaft-search-vr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; margin: 0; }
.infolaft-search-vr-grid dt { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: #7d8691; }
.infolaft-search-vr-grid dd { margin: 2px 0 0; font-size: 12.5px; color: #2f3439; }
@media (max-width: 640px) { .infolaft-search-vr-grid { grid-template-columns: 1fr 1fr; } }

/* =====================================================================
   Ajustes del 06/11 · Nueva búsqueda asistida con resultado inmediato,
   caja «Criterios de búsqueda», validación de identidad, fuentes consultadas,
   informe con el mismo encabezado, Detalle · Coincidencias y Detalle · Lote.
   ===================================================================== */

/* ---------- Nueva búsqueda asistida: formulario ---------- */
.infolaft-search-nb-title { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.infolaft-search-nb-form { padding: 16px 18px 18px; }
.infolaft-search-nb-per { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0 0 14px; }
.infolaft-search-nb-per > span { font-size: 13px; color: #2f3439; }
.infolaft-search-nb-per .infolaft-search-segmented button { padding: 7px 22px; font-size: 13px; }
.infolaft-search-nb-row { display: flex; align-items: flex-end; gap: 16px; flex-wrap: nowrap; }
.infolaft-search-nb-row md-input-container { display: flex; flex-direction: column; justify-content: flex-end; margin: 0; padding: 0; min-width: 0; }
.infolaft-search-nb-row md-input-container .md-errors-spacer { display: none; }
.infolaft-search-nb-row md-select { margin: 0; width: 100%; }
.infolaft-search-nb-row .md-select-value { padding-top: 2px; padding-bottom: 1px; min-height: 26px; }
md-input-container.infolaft-search-native-field label { position: static; transform: none; transition: none; margin-bottom: 2px; pointer-events: none; }
md-input-container.infolaft-search-native-field .md-errors-spacer { display: none; }
select.infolaft-search-native-select { display: block; width: 100%; box-sizing: border-box; margin: 0; border: 0; border-bottom: 1px solid rgba(0, 0, 0, 0.12); border-radius: 0; background: transparent; font: inherit; font-size: 14px; line-height: 26px; height: 30px; padding: 2px 0; color: rgba(0, 0, 0, 0.87); }
select.infolaft-search-native-select:focus { outline: none; border-bottom: 2px solid var(--is-link, #106cc8); }
.infolaft-search-nb-row md-input-container.infolaft-search-native-field { margin: 0; }
.infolaft-search-nb-row .infolaft-search-nb-f-nombre { flex: 2 1 200px; }
.infolaft-search-nb-row .infolaft-search-nb-f-tipo { flex: 0 1 200px; }
.infolaft-search-nb-row .infolaft-search-nb-f-num { flex: 1 1 110px; }
.infolaft-search-nb-row .infolaft-search-nb-f-alias { flex: 1 1 130px; }
.infolaft-search-nb-row .infolaft-search-btn { flex: 0 0 auto; margin: 0; }
.infolaft-search-nb-req { color: #c0392b; font-weight: 500; }
.infolaft-search-nb-err { margin: 10px 0 0; font-size: 12.5px; color: #a3261c; }
.infolaft-search-nb-input--error input { border-bottom-color: #c0392b !important; }
.infolaft-search-nb-select-sep { border-top: 1px solid #e2e5ea; margin: 4px 0; }
.infolaft-search-nb-actions { display: flex; justify-content: flex-end; margin: 12px 0 0; }

/* ---------- Tarjeta de resultado (barra azul con los tres pasos) ---------- */
.infolaft-search-res { margin: 16px 0 0; }
.infolaft-search-res-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding-top: 9px; padding-bottom: 9px; }
.infolaft-search-res-steps { display: flex; align-items: center; text-transform: none; letter-spacing: 0; }
.infolaft-search-res-steps-t { font-size: 12.5px; font-weight: 500; margin-right: 12px; }
.infolaft-search-res-step { position: relative; width: 22px; height: 22px; border-radius: 50%; box-sizing: border-box; border: 2px solid rgba(255,255,255,.6); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #fff; outline: none; }
.infolaft-search-res-step--hecho { background: #1a7a4c; border-color: #fff; }
.infolaft-search-res-step--curso { border-color: rgba(255,255,255,.45); background: conic-gradient(rgba(255,255,255,.85) var(--p, 0%), transparent 0); }
.infolaft-search-res-step--curso::before { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid transparent; border-top-color: #fff; animation: infolaft-search-spin .9s linear infinite; }
@keyframes infolaft-search-spin { to { transform: rotate(360deg); } }
.infolaft-search-res-step:focus-visible { box-shadow: 0 0 0 2px #1c5f88; }
.infolaft-search-res-line { display: inline-block; width: 22px; height: 2px; background: rgba(255,255,255,.5); }
.infolaft-search-res-line--hecho { background: #fff; }
.infolaft-search-res-body { display: flex; flex-direction: column; gap: 16px; padding: 18px; }
.infolaft-search-res-actions { display: flex; justify-content: flex-end; }
.infolaft-search-res-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; border-top: 1px solid #e3e6ea; padding-top: 14px; }
.infolaft-search-res-foot--fin { justify-content: flex-end; }
.infolaft-search-res-note { max-width: 560px; font-size: 13px; line-height: 1.5; color: #2f3439; }
.infolaft-search-res-note .infolaft-search-link { font: inherit; font-weight: 500; color: #d9551a; text-decoration: underline; text-underline-offset: 2px; }
.infolaft-search-res-empty { margin: 0; }

/* ---------- Caja «Criterios de búsqueda» (SearchCriteriosConsulta.html) ---------- */
.infolaft-search-criterios { background: #f5f7f9; border-radius: 6px; padding: 16px 18px; display: flex; flex-direction: column; gap: 14px; }
.infolaft-search-criterios-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.infolaft-search-criterios-par { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.infolaft-search-criterios-label { font-size: 10.5px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: #8f98a2; }
.infolaft-search-criterios-name { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.infolaft-search-criterios-name b { font-size: 16px; font-weight: 500; color: #2f3439; }
.infolaft-search-criterios-alias { font-size: 12.5px; color: #6b747e; }
.infolaft-search-criterios-alias b { font-size: 12.5px; font-weight: 500; color: #2f3439; }
.infolaft-search-criterios-doc { font-size: 13px; color: #2f3439; }
.infolaft-search-criterios-trz { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: 12px; color: #8f98a2; text-align: right; }
.infolaft-search-criterios-phrase { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 14px 16px; background: #e9edf1; border-radius: 4px; }
.infolaft-search-criterios-phrase-t { font-size: 17px; color: #2f3439; }
.infolaft-search-criterios-phrase-t b { font-weight: 500; }
.infolaft-search-criterios-phrase-wait { font-size: 13px; color: #4b545d; }
.infolaft-search-criterios-ico { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: #fff; box-sizing: border-box; }
.infolaft-search-criterios-ico--con { background: #c4561f; }
.infolaft-search-criterios-ico--sin { border: 2px solid #1a7a4c; color: #1a7a4c; }
.infolaft-search-criterios-risk { display: flex; align-items: center; gap: 8px; }
.infolaft-search-criterios-fp { margin: -6px 0 0; font-size: 12.5px; color: #4b545d; }

/* botón de la validación de identidad, dentro de la caja */
.infolaft-search-val-btn { appearance: none; border: 1px solid transparent; background: none; font: inherit; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 500; padding: 4px 8px; margin: 2px 0 0 -8px; border-radius: 4px; cursor: pointer; text-align: left; }
.infolaft-search-val-btn:hover { background: #eef1f4; border-color: #e3e6ea; }
.infolaft-search-val-btn:focus-visible { outline: 2px solid #1c5f88; outline-offset: 1px; }
.infolaft-search-val-btn-ver { font-weight: 400; color: #1c5f88; text-decoration: underline; white-space: nowrap; margin-left: 4px; }
.infolaft-search-val--ok { color: #1a7a4c; }
.infolaft-search-val--alerta { color: #a3261c; }
.infolaft-search-val--no-disponible { color: #94600a; }
.infolaft-search-val--neutro { color: #5b6570; }
.infolaft-search-val-ico { flex: 0 0 16px; width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; }
.infolaft-search-val--ok .infolaft-search-val-ico { background: #1a7a4c; }
.infolaft-search-val--alerta .infolaft-search-val-ico { background: #c0392b; }
.infolaft-search-val--no-disponible .infolaft-search-val-ico { background: none; color: #b88a00; border-radius: 0; font-size: 12px; }
.infolaft-search-val--neutro .infolaft-search-val-ico { background: #8f98a2; }

/* ---------- Tabla de coincidencias (resultado y Detalle · Coincidencias) ---------- */
.infolaft-search-coin-t { table-layout: fixed; width: 100%; }
.infolaft-search-coin-t td { vertical-align: top; }
.infolaft-search-coin-t tr.infolaft-search-coin-tr { cursor: pointer; }
.infolaft-search-coin-t tr.infolaft-search-coin-tr:hover td,
.infolaft-search-coin-t tr.infolaft-search-coin-tr:focus-visible td { background: #f4f8fb; }
.infolaft-search-coin-t tr.infolaft-search-coin-tr:hover .infolaft-search-cmp b,
.infolaft-search-coin-t tr.infolaft-search-coin-tr:hover .infolaft-search-coin-list { text-decoration: underline; text-underline-offset: 2px; }
.infolaft-search-coin-t tr.infolaft-search-coin-tr:focus-visible { outline: 2px solid #1c5f88; outline-offset: -2px; }
.infolaft-search-coin-t td.infolaft-search-coin-cal { cursor: default; }
.infolaft-search-coin-t tr.infolaft-search-coin-tr--fp td > *:not(md-select) { opacity: .55; }
.infolaft-search-coin-list { display: block; color: #2f3439; }
.infolaft-search-coin-pct { font-size: 12.5px; color: #4b545d; }
.infolaft-search-coin-pct b { font-weight: 600; color: #2f3439; white-space: nowrap; }
/* columnas del resultado de la búsqueda: Nombre · Documento · Lista · Coincidencia · Riesgo · Calificación */
.infolaft-search-coin-t--res th:nth-child(1) { width: 22%; } .infolaft-search-coin-t--res th:nth-child(2) { width: 14%; }
.infolaft-search-coin-t--res th:nth-child(3) { width: 19%; } .infolaft-search-coin-t--res th:nth-child(4) { width: 15%; }
.infolaft-search-coin-t--res th:nth-child(5) { width: 10%; } .infolaft-search-coin-t--res th:nth-child(6) { width: 20%; }
/* columnas de Detalle · Coincidencias: casilla · Nombre · Documento · Lista · Riesgo · Coincidencia · Calificación */
.infolaft-search-coin-t--det th:nth-child(1) { width: 44px; } .infolaft-search-coin-t--det th:nth-child(2) { width: 21%; }
.infolaft-search-coin-t--det th:nth-child(3) { width: 17%; } .infolaft-search-coin-t--det th:nth-child(4) { width: 17%; }
.infolaft-search-coin-t--det th:nth-child(5) { width: 10%; } .infolaft-search-coin-t--det th:nth-child(6) { width: 14%; }
.infolaft-search-coin-t--det th:nth-child(7) { width: 17%; }
.infolaft-search-coin-t .infolaft-search-risk { white-space: nowrap; }

/* nombre y documento de la fuente con la marca de si coincide con lo consultado */
.infolaft-search-cmp { display: flex; align-items: baseline; gap: 6px; font-size: 12.5px; line-height: 1.35; }
.infolaft-search-cmp + .infolaft-search-cmp { margin-top: 4px; }
.infolaft-search-cmp b { font-weight: 500; color: #2f3439; word-break: break-word; }
.infolaft-search-cmp em { display: block; font-style: normal; font-size: 11.5px; color: #6b747e; }
.infolaft-search-cmp-i { flex: 0 0 12px; font-weight: 700; font-size: 12px; }
.infolaft-search-cmp--si .infolaft-search-cmp-i { color: #1a7a4c; }
.infolaft-search-cmp--parcial .infolaft-search-cmp-i { color: #1c5f88; }
.infolaft-search-cmp--no .infolaft-search-cmp-i { color: #8f98a2; }
.infolaft-search-cmp--no b { color: #6b747e; font-weight: 400; }

/* ---------- Ventanas: Validación de identidad, Fuentes consultadas ---------- */
.infolaft-search-valid-h { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.infolaft-search-valid-h b { font-weight: 500; color: #2f3439; }
.infolaft-search-valid-pill { margin-left: auto; font-size: 12px; font-weight: 500; padding: 2px 10px; border-radius: 12px; }
.infolaft-search-valid-pill--ok { background: #e3f3ea; color: #1a7a4c; }
.infolaft-search-valid-pill--alerta { background: #fbe2df; color: #a3261c; }
.infolaft-search-valid-pill--no-disponible { background: #fdf0dc; color: #94600a; }
.infolaft-search-valid-pill--neutro { background: #eceef1; color: #4c5663; }
.infolaft-search-valid-f { margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: #2f3439; }
.infolaft-search-valid-f b { font-weight: 600; }
.infolaft-search-valid-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 0 0 12px; padding: 12px 14px; background: #f5f7f9; border-radius: 4px; }
.infolaft-search-valid-g dt { font-size: 11.5px; color: #6b747e; }
.infolaft-search-valid-g dd { margin: 2px 0 0; font-size: 13px; font-weight: 500; color: #2f3439; }
.infolaft-search-valid-g dd.infolaft-search-valid-al { color: #a3261c; }

.infolaft-search-fu-tot { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.infolaft-search-fu-k { border: 1px solid #e3e6ea; border-radius: 4px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.infolaft-search-fu-k b { font-size: 20px; font-weight: 500; }
.infolaft-search-fu-k span { font-size: 12px; color: #6b747e; }
.infolaft-search-fu-k--sin b { color: #1a7a4c; } .infolaft-search-fu-k--con b { color: #c4561f; }
.infolaft-search-fu-k--man b { color: #1c5f88; } .infolaft-search-fu-k--nd b { color: #94600a; }
.infolaft-search-fu-sc { max-height: 52vh; overflow: auto; border: 1px solid #e3e6ea; border-radius: 4px; padding: 12px 14px; margin: 0 0 12px; }
.infolaft-search-fu-et { margin: 0 0 14px; }
.infolaft-search-fu-et h4 { position: sticky; top: -12px; z-index: 1; background: #fff; display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; color: #2f3439; margin: 0; padding: 6px 0; }
.infolaft-search-fu-cat > b { display: block; font-size: 12px; font-weight: 500; color: #6b747e; margin: 8px 0 2px; }
.infolaft-search-fu-l { list-style: none; margin: 0; padding: 0; }
.infolaft-search-fu { display: flex; align-items: center; gap: 8px; padding: 6px 4px; border-bottom: 1px solid #eef0f3; font-size: 12.5px; color: #2f3439; }
.infolaft-search-fu:last-child { border-bottom: 0; }
.infolaft-search-fu-n { flex: 1; min-width: 0; }
.infolaft-search-fu em { font-style: normal; font-size: 12px; white-space: nowrap; text-align: right; }
.infolaft-search-fu-i { flex: 0 0 14px; width: 14px; height: 14px; border-radius: 50%; font-size: 9px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.infolaft-search-fu--sin .infolaft-search-fu-i { border: 1.5px solid #4fae7f; color: #4fae7f; } .infolaft-search-fu--sin em { color: #1a7a4c; }
.infolaft-search-fu--validada .infolaft-search-fu-i { background: #4fae7f; color: #fff; } .infolaft-search-fu--validada em { color: #1a7a4c; }
.infolaft-search-fu--con .infolaft-search-fu-i { background: #c4561f; color: #fff; } .infolaft-search-fu--con em { color: #c4561f; } .infolaft-search-fu--con .infolaft-search-fu-n { font-weight: 500; }
.infolaft-search-fu--revisar .infolaft-search-fu-i { background: #c0392b; color: #fff; } .infolaft-search-fu--revisar em { color: #a3261c; }
.infolaft-search-fu--manual .infolaft-search-fu-i { border: 1.5px solid #6f9fc7; color: #1c5f88; } .infolaft-search-fu--manual em { color: #1c5f88; }
.infolaft-search-fu--no-disponible .infolaft-search-fu-i { color: #b88a00; border-radius: 0; } .infolaft-search-fu--no-disponible em { color: #94600a; }
.infolaft-search-fu--no-aplica { color: #8f98a2; } .infolaft-search-fu--no-aplica .infolaft-search-fu-i { border: 1.5px dashed #b8bfc7; color: #8f98a2; } .infolaft-search-fu--no-aplica em { color: #8f98a2; }

/* ---------- Detalle de la coincidencia ---------- */
.infolaft-search-hz2 { border: 1px solid #d9e3ec; border-radius: 6px; overflow: hidden; }
.infolaft-search-hz2-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 16px; background: #eaf1f7; border-bottom: 1px solid #d9e3ec; }
.infolaft-search-hz2-h > div { display: flex; flex-direction: column; gap: 2px; }
.infolaft-search-hz2-h b { font-size: 14px; font-weight: 600; color: #1c5f88; }
.infolaft-search-hz2-h span { font-size: 12.5px; color: #4b545d; }
.infolaft-search-hz2-b { margin: 14px 16px 16px; background: #fff; border: 1px solid #e2e5ea; border-radius: 6px; overflow: hidden; }
.infolaft-search-hz2-bh { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 14px; border-bottom: 1px solid #eef0f3; font-size: 11.5px; color: #6b747e; text-transform: uppercase; letter-spacing: .04em; }
.infolaft-search-hz2-co { display: inline-flex; padding: 3px 10px; border-radius: 10px; background: #eef2f6; font-size: 12px; color: #4b545d; text-transform: none; letter-spacing: 0; }
.infolaft-search-hz2-co b { font-weight: 600; color: #2f3439; }
.infolaft-search-hz2-dl { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 8px 16px; margin: 0; padding: 12px 14px; font-size: 13px; }
.infolaft-search-hz2-dl dt { color: #6b747e; }
.infolaft-search-hz2-dl dd { margin: 0; color: #2f3439; }
.infolaft-search-hz2-dl mark { background: #fde98b; padding: 0 3px; border-radius: 2px; margin-right: 2px; }
.infolaft-search-hz2-txt { padding: 12px 14px; font-size: 13px; line-height: 1.5; color: #2f3439; }
.infolaft-search-hz-fo { margin: 14px 0 0; font-size: 12.5px; }

/* ---------- Informe: filas de coincidencias (lista · riesgo · porcentaje · calificación) ---------- */
.infolaft-search-inf2 .infolaft-search-criterios { margin: 0 0 18px; }
.infolaft-search-inf2-row { display: grid; grid-template-columns: minmax(220px, 1fr) auto 132px auto; align-items: center; gap: 14px; padding: 8px 0; border-top: 1px solid #eef1f4; width: 100%; box-sizing: border-box; }
.infolaft-search-inf2-row .infolaft-search-risk { justify-self: start; white-space: nowrap; }
.infolaft-search-inf2-row--fp > :not(md-select) { opacity: .5; }
.infolaft-search-inf2-list { appearance: none; background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: #2f3439; text-align: left; cursor: pointer; }
.infolaft-search-inf2-list:hover { text-decoration: underline; }
.infolaft-search-inf2-more { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 12px 0 0; padding: 10px 12px; border: 1px solid #cfe0ee; background: #eef5fb; border-radius: 6px; font-size: 12.5px; color: #1f4d6b; }

/* ---------- Detalle · Coincidencias (pantalla) ---------- */
.infolaft-search-det-back { margin: 0 0 10px; }
.infolaft-search-det-tbl { margin-top: 4px; border: 1px solid #e2e5ea; border-radius: 6px; overflow: hidden; }
.infolaft-search-det-search { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: #4b545d; }
.infolaft-search-det-search input { height: 32px; width: 220px; box-sizing: border-box; padding: 0 10px 0 30px; font: inherit; font-size: 13px; color: #2f3439; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa3ad' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 10px 50%; border: 1px solid #d3d8de; border-radius: 6px; outline: none; transition: border-color .15s, box-shadow .15s; }
.infolaft-search-det-search input::placeholder { color: #a3abb4; }
.infolaft-search-det-search input:hover { border-color: #b9c0c8; }
.infolaft-search-det-search input:focus { border-color: #1c5f88; box-shadow: 0 0 0 3px rgba(28,95,136,.15); }
.infolaft-search-det-bulk { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 16px; background: #fdf6ee; border-bottom: 1px solid #f1e3d1; font-size: 12.5px; }
.infolaft-search-det-pg { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px; font-size: 12.5px; color: #6b747e; }

/* invitación a la debida diligencia (al pie del informe y del detalle) */
.infolaft-search-dd-inv { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 14px; background: #fff6f0; border-top: 1px solid #f3dccb; font-size: 12.5px; color: #6b3a1c; }

/* ---------- Menú: número de consultas asistidas en curso ---------- */
.infolaft-search-menu-badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 10px; background: #f26522; color: #fff; font-size: 11px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.infolaft-password-banner { margin: 16px 16px 0; }
.infolaft-password-note { margin: 12px 16px 0; }
.infolaft-search-criterios-doc, .infolaft-search-criterios-trz span { font-weight: 400; }
.infolaft-search-hz-c { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: #2f3439; }
.infolaft-search-hz-c b { font-weight: 500; }
.infolaft-search-dialog-header .infolaft-search-btn--small { margin-left: auto; }
.infolaft-search-lt-grid--1 { grid-template-columns: minmax(0, 1fr) !important; }
md-dialog.infolaft-search-dialog--xl { width: 940px; max-width: 940px; }
@media (max-width: 980px) { md-dialog.infolaft-search-dialog--xl { width: 100%; } }
.infolaft-search-stage-body:has(.infolaft-search-inf2-row) { align-self: stretch; min-width: 0; flex: 1; }
.infolaft-search-stage-lists:has(.infolaft-search-inf2-row) { display: block; width: 100%; }

.infolaft-search-v4-bar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 12px; font-size: 13px; color: #2f3439; }
.infolaft-search-v4-bar select { margin-left: 8px; height: 32px; font: inherit; }
.infolaft-search-v4-note { margin-left: auto; color: #6b747e; font-size: 12px; }
.infolaft-search-v4-frame.is-dialog { background: rgba(32, 38, 45, .45); padding: 28px 16px; display: flex; justify-content: center; }
.infolaft-search-v4-frame.is-dialog md-dialog { position: relative !important; opacity: 1 !important; transform: none !important; top: auto !important; left: auto !important; display: flex !important; visibility: visible !important; max-height: none; }
