/* =====================================================================
   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; }
.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: 8px 0 12px; font-size: 12.5px; color: var(--is-muted); }
.infolaft-search-hz-who b { color: var(--is-ink); 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 { margin: 0 0 10px; }
.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-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: 220px; overflow: auto; }
.infolaft-search-editor-tablebar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 10px; border-top: 1px solid var(--is-line-2); background: #fafbfc; }
.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); }
