/* Identidad de marca Inmobiliaria Gastiazoro (DESIGN.md, Variación 1 · dorado + ladrillo) */
:root { --azul: #1A1A1A; --azul-claro: #C8352E; --fondo: #F7F5F0; --amarillo: #F5B400; --amarillo-ink: #1A1A1A; --seleccion: #F5B400; }
body { background: var(--fondo); }
.barra { background: var(--amarillo); color: var(--amarillo-ink); }
.barra .sistema { font-weight: 700; font-size: 1.35rem; display: flex; align-items: center; gap: .6rem; color: inherit; text-decoration: none; }
.barra .sistema:hover { color: inherit; opacity: .85; }
.barra .sistema:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }
.barra .sistema img.logo { height: 32px; width: auto; border-radius: .3rem; background: #fff; padding: 2px; }
.barra .sistema small { font-weight: 400; font-size: .95rem; opacity: .85; margin-left: .5rem; }
.barra .usuario { font-size: .95rem; }
.barra .btn-salir { color: var(--amarillo-ink); text-decoration: none; padding: 0; border: 0; background: none; }
.menu { background: var(--azul); }
.menu a, .menu span { display: inline-block; padding: .55rem 1.1rem; color: #ddd; text-decoration: none; }
.menu a.activo { background: var(--fondo); color: var(--azul); font-weight: 600; border-radius: .3rem .3rem 0 0; }
.menu a:hover { color: var(--amarillo); }
.menu span.pendiente { opacity: .55; cursor: default; }
h1.titulo { color: var(--azul); font-weight: 700; font-size: 1.6rem; }
/* Ingreso (login): split institucional 2 columnas (auditoría de usabilidad, DESIGN.md) */
.ingreso-split { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; }
@media (max-width: 767.98px) { .ingreso-split { grid-template-columns: 1fr; grid-auto-rows: auto; } }
.ingreso-marca { background: var(--azul); color: #fff; padding: 2.5rem 2rem; display: flex; flex-direction: column; justify-content: space-between; position: relative; }
.ingreso-marca::after { content: ""; position: absolute; inset: auto 0 0 0; height: 6px; background: var(--amarillo); }
.ingreso-marca-top img.logo { height: 56px; width: auto; max-width: 100%; border-radius: .5rem; background: #fff; padding: 4px; display: block; }
.ingreso-marca-top .nombre { font-weight: 800; font-size: 1.15rem; margin-top: .9rem; }
.ingreso-marca-mid { margin: 2rem 0; }
.ingreso-marca-mid .frase { font-size: 1.3rem; font-weight: 700; line-height: 1.35; color: var(--amarillo); }
.ingreso-marca-mid .desc { font-size: .88rem; color: #ddd; margin-top: .7rem; line-height: 1.5; }
.ingreso-marca-bottom { font-size: .75rem; color: #aaa; }
.ingreso-form-lado { background: var(--fondo); display: flex; align-items: center; justify-content: center; padding: 2rem; }
.ingreso-form { width: 100%; max-width: 300px; }
.btn-primary { --bs-btn-bg: var(--azul-claro); --bs-btn-border-color: var(--azul-claro); --bs-btn-color: #fff; --bs-btn-hover-bg: #a62a24; --bs-btn-hover-border-color: #a62a24; --bs-btn-active-bg: #a62a24; --bs-btn-active-border-color: #a62a24; --bs-btn-disabled-bg: #e0b9b6; --bs-btn-disabled-border-color: #e0b9b6; --bs-btn-disabled-opacity: 1; }
/* Importar la planilla del mes (6.4, fig. 2) */
.ruta { font-size: .85rem; color: #5c6670; margin-bottom: .25rem; }
.ruta a { color: inherit; }
.campo-archivo { flex: 1 1 14rem; min-width: 0; width: auto; }
.tarjeta-dato { background: #fff; border: 1px solid #d6dbe3; border-radius: .4rem; padding: .6rem .9rem; height: 100%; font-size: .9rem; color: #5c6670; }
.tarjeta-dato .numero { display: block; font-size: 1.6rem; font-weight: 700; color: var(--azul); line-height: 1.2; }
.tarjeta-dato .numero.correctas { color: #2e7d32; }
.tarjeta-dato .numero.errores { color: #b02a37; }
.tarjeta-dato .numero.nuevos { color: #8a6100; }
.tabla-importacion, .tabla-ficha { background: #fff; }
.tabla-importacion thead th, .tabla-ficha thead th { background: #dde6f0; color: var(--azul); white-space: nowrap; }
.etiqueta { display: inline-block; padding: .05rem .45rem; border-radius: .25rem; font-size: .8rem; font-weight: 600; }
.etiqueta-correcta { background: #d9f0dd; color: #1e5e25; }
.etiqueta-error { background: #f8d7da; color: #8a1c27; }
.btn-outline-primary { --bs-btn-color: var(--azul-claro); --bs-btn-border-color: var(--azul-claro); --bs-btn-hover-bg: var(--azul-claro); --bs-btn-hover-border-color: var(--azul-claro); --bs-btn-hover-color: #fff; --bs-btn-active-bg: #a62a24; --bs-btn-active-border-color: #a62a24; --bs-btn-disabled-color: #6c757d; --bs-btn-disabled-border-color: #c3c9d0; --bs-btn-disabled-bg: #eef0f3; --bs-btn-disabled-opacity: 1; }
.nota { color: #5c6670; }
/* Casos y ficha del caso (6.5, figs. 4 y 5) */
h2.subtitulo { color: var(--azul); font-weight: 700; font-size: 1.1rem; margin-bottom: .5rem; }
.tarjeta-ficha { background: #fff; border: 1px solid #d6dbe3; border-radius: .4rem; padding: .75rem 1rem; height: 100%; }
.tarjeta-ficha h2.subtitulo { border-bottom: 1px solid #d6dbe3; padding-bottom: .35rem; }
.datos { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: .2rem .9rem; margin: 0 0 .5rem; font-size: .9rem; }
.datos dt { font-weight: 400; color: #5c6670; }
.datos dd { margin: 0; overflow-wrap: anywhere; }
.estado-abierto { background: #e2e5e9; color: var(--azul); }
.estado-en_gestion { background: #d9f0dd; color: #1e5e25; }
.estado-suspendido { background: #fff1c2; color: #6b4d00; }
.estado-regularizado, .estado-anulado, .estado-derivado { background: #e2e5e9; color: #3d454d; }
.etiqueta-prioritario { background: var(--azul-claro); color: #fff; }
.etiqueta-vencido { background: #fff1c2; color: #6b4d00; }
.etiqueta-pendiente { background: #e2e5e9; color: #3d454d; }
.etiqueta-sugerencia { background: var(--amarillo); color: var(--amarillo-ink); }
.etiqueta-verificar { background: #e6d6f5; color: #5a2d82; }
.tabla-ficha tr.fila-vencida > td { background: #fde8ea; }
.formulario-ficha { max-width: 44rem; border-color: var(--azul-claro); }
/* Registrar comunicación (6.6, fig. 6) */
.subtitulo-form { color: var(--azul); font-weight: 700; font-size: 1.1rem; border-bottom: 1px solid #d6dbe3; padding-bottom: .35rem; margin: .5rem 0 .75rem; }
.tarjeta-ficha ul li + li { margin-top: .25rem; }
/* 6.7: derivación (fig. 7) y resumen de antecedentes */
.banda-estado { background: #e8f0fa; border: 1px solid #b8cde6; color: var(--azul); border-radius: .4rem; padding: .5rem .9rem; font-size: .9rem; }
.btn-no-conforme { --bs-btn-focus-shadow-rgb: 176, 42, 55; --bs-btn-color: #fff; --bs-btn-bg: #b02a37; --bs-btn-border-color: #b02a37; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #8a1c27; --bs-btn-hover-border-color: #8a1c27; --bs-btn-active-color: #fff; --bs-btn-active-bg: #8a1c27; --bs-btn-active-border-color: #8a1c27; }
pre.resumen { white-space: pre-wrap; background: #fff; font-family: inherit; }
/* Botón del formulario abierto: distinto de «Registrar comunicación» */
.acciones-ficha .btn-outline-primary.active { --bs-btn-active-bg: #dde6f0; --bs-btn-active-color: var(--azul); --bs-btn-active-border-color: var(--azul); border-width: 2px; }
#panel:focus { outline: 2px solid var(--azul); outline-offset: 2px; }
/* 6.8: pendientes del día y casos (figs. 3 y 8) */
.tabla-ficha tr.fila-caso { position: relative; }
.tabla-ficha tr.fila-caso:hover > td { background: #eef3f9; }
.filtros .filtro-titulo { color: var(--azul); font-weight: 700; font-size: .9rem; margin: .75rem 0 .25rem; }
.filtro-opciones { list-style: none; padding: 0; margin: 0 0 .25rem; font-size: .9rem; }
.filtro-opciones li { padding: .1rem 0; }
.filtro-opciones a { color: var(--azul-claro); text-decoration: none; }
.filtro-opciones a:hover { text-decoration: underline; }
.filtro-opciones a.activo { color: var(--azul); font-weight: 700; }
@media (max-width: 991.98px) { .filtro-opciones { display: flex; flex-wrap: wrap; gap: .1rem 1rem; } }
/* En el celular cada fila se apila: sin desplazamiento horizontal (5.10) */
@media (max-width: 767.98px) {
  .tabla-apilada thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .tabla-apilada, .tabla-apilada tbody, .tabla-apilada tr, .tabla-apilada td { display: block; width: 100%; }
  .tabla-apilada tr { border: 1px solid #d6dbe3; border-radius: .4rem; margin-bottom: .5rem; overflow: hidden; }
  .tabla-apilada td { border: 0; padding: .2rem .6rem .2rem 8.6rem; overflow-wrap: anywhere; }
  .tabla-apilada td::after { content: ""; display: block; clear: both; }
  .tabla-apilada td::before { content: attr(data-label); float: left; width: 7.5rem; margin-left: -8rem; color: #5c6670; font-size: .85rem; }
  .tabla-apilada td[colspan] { padding-left: .6rem; }
  .tabla-apilada td[colspan]::before { content: none; }
}
/* Casos (fig. 8): buscador y lista a la izquierda, filtros a la derecha; en pantallas angostas, buscar → filtrar → lista */
.casos-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; grid-template-areas: "buscar" "filtros" "lista"; }
.casos-buscar { grid-area: buscar; margin: 0; }
.casos-filtros { grid-area: filtros; }
.casos-lista { grid-area: lista; min-width: 0; }
@media (min-width: 992px) { .casos-grid { grid-template-columns: minmax(0, 1fr) 17rem; grid-template-areas: "buscar filtros" "lista filtros"; grid-template-rows: auto 1fr; } .casos-filtros { align-self: start; } }
/* Contraste AA en las filas de color y casillas más grandes para marcar casos */
.tabla-apilada a { color: var(--azul); }
.tabla-apilada input[name="casos"] { width: 1.3rem; height: 1.3rem; }
/* Reportes (6.10, CU-12): moldes en HTML, CSS y SVG, sin JS. Contraste AA: texto 4,5:1 y gráficos 3:1. */
.reporte-frase { font-size: 1.15rem; max-width: 60rem; }
.reporte-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
@media (min-width: 992px) { .reporte-grid { grid-template-columns: minmax(0, 1fr) 21rem; } .reporte-historia { align-self: start; position: sticky; top: 1rem; } }
.reporte-principal { min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
.reporte-seccion { height: auto; }
.chips { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.chip { display: inline-block; padding: .2rem .7rem; border: 1px solid #b8cde6; border-radius: 1rem; background: #fff; color: var(--azul); font-size: .85rem; text-decoration: none; }
.chip:hover { border-color: var(--azul-claro); background: #f3f7fc; }
.chip.activo { background: var(--seleccion); border-color: var(--seleccion); color: var(--amarillo-ink); }
a.chip:focus-visible, .serie-columna:focus-visible, .embudo-paso:focus-visible, .franja:focus-visible, .calor .celda:focus-visible,
.bandeja-grupo:focus-visible, .promesa:focus-visible, .tabla-reporte a:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }
.leyenda { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: center; color: #3d454d; }
.leyenda > span { display: inline-flex; align-items: center; gap: .35rem; }
.muestra { display: inline-block; width: .8rem; height: .8rem; border-radius: 2px; }
.numero { font-variant-numeric: tabular-nums; }
/* Índice: una tarjeta por reporte */
.tarjetas-reporte { display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: 1rem; }
.tarjeta-reporte { background: #fff; border: 1px solid #d6dbe3; border-radius: .4rem; padding: .9rem 1rem; display: flex; flex-direction: column; }
.tarjeta-reporte:hover { border-color: var(--azul-claro); }
.tarjeta-reporte h2 { font-size: 1.05rem; font-weight: 700; margin-bottom: .4rem; }
.tarjeta-reporte h2 a { color: var(--azul); text-decoration: none; }
.tarjeta-reporte h2 a:hover { text-decoration: underline; }
.tarjeta-reporte .codigo { color: #5c6670; font-variant-numeric: tabular-nums; }
.pie-tarjeta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: auto; padding-top: .5rem; border-top: 1px solid #e3e7ed; }
.etiqueta-molde { background: #eef1f5; color: #3d454d; display: inline-flex; align-items: center; gap: .35rem; }
.muestra-molde { width: .55rem; height: .55rem; border-radius: 2px; display: inline-block; }
.molde-1 { background: #2e6da4; } .molde-2 { background: #1f4e79; } .molde-3 { background: #5b8ec4; } .molde-4 { background: #173b5c; }
.molde-5 { background: #b45f12; } .molde-6 { background: #8a6100; } .molde-7 { background: #5c6670; } .molde-8 { background: #2e7d32; }
/* Molde 1 · serie mensual */
.serie { position: relative; display: flex; align-items: stretch; gap: .4rem; height: 12rem; border-bottom: 1px solid #8a94a0; }
.serie-columna { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; text-decoration: none; color: #212529; border-radius: .3rem .3rem 0 0; }
.serie-columna:hover { background: #f3f7fc; }
.serie-columna.activo { background: #e8f0fa; }
.serie-rotulo { font-size: .8rem; font-weight: 600; font-variant-numeric: tabular-nums; margin-bottom: .15rem; }
.serie-barra { display: block; width: 62%; max-width: 2.8rem; }
.serie-rotulo + .serie-barra { border-radius: 3px 3px 0 0; }
.barra-mes { background: #5b8ec4; }
.barra-elegida { background: var(--seleccion); }
.barra-cumplidas, .muestra-cumplidas { background: #2e7d32; }
.barra-incumplidas, .muestra-incumplidas { background: #c8701d; }
.serie-promedio { position: absolute; left: 0; right: 0; border-top: 2px dashed #5c6670; pointer-events: none; }
.muestra-promedio { height: 0; border-top: 2px dashed #5c6670; border-radius: 0; }
.serie-meses { display: flex; gap: .4rem; margin-top: .25rem; }
.serie-meses span { flex: 1 1 0; min-width: 0; text-align: center; font-size: .8rem; color: #5c6670; }
.serie-meses span.activo { color: var(--azul); font-weight: 700; border-bottom: 2px solid var(--seleccion); }
/* Molde 2 · embudo */
.embudo { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .25rem; }
.embudo-paso { display: grid; grid-template-columns: 9rem minmax(0, 1fr) 17rem; gap: .75rem; align-items: center; padding: .35rem .5rem; border-radius: .3rem; color: #212529; text-decoration: none; }
.embudo-paso:hover { background: #f3f7fc; }
.embudo-paso.activo { background: #fdf6e3; box-shadow: inset 3px 0 0 var(--seleccion); }
.embudo-etapa { display: flex; flex-direction: column; line-height: 1.25; }
.embudo-pista { display: block; height: 1.6rem; }
.embudo-llegan { display: flex; height: 100%; background: #c9d8ea; border-radius: 3px; overflow: hidden; box-shadow: inset 0 0 0 1px #6b8fb8; }
.embudo-pagan, .embudo-derivados { display: block; height: 100%; }
.embudo-pagan { background: var(--azul); }
.embudo-derivados { background: #b45f12; }
.embudo-siguen { background: #c9d8ea; box-shadow: inset 0 0 0 1px #6b8fb8; }  /* borde de 3,4:1 contra el blanco */
.embudo-dato { font-size: .85rem; font-variant-numeric: tabular-nums; text-align: right; }
@media (max-width: 767.98px) { .embudo-paso { grid-template-columns: 1fr; gap: .2rem; } .embudo-dato { text-align: left; } }
/* Molde 3 · curva acumulada */
.curva { display: block; width: 100%; height: auto; font-family: inherit; }
.curva-banda { fill: #dfe9f5; }
.curva-guia { stroke: #e3e7ed; stroke-width: 1; }
.curva-eje { font-size: 12px; fill: #5c6670; }
.curva-area { fill: #2e6da4; fill-opacity: .12; }
.curva-linea { fill: none; stroke: var(--azul); stroke-width: 2.5; stroke-linejoin: round; }
.curva-mediana { stroke: #5c6670; stroke-width: 1.2; stroke-dasharray: 4 4; }
.curva-hito { stroke: #b45f12; stroke-width: 1.4; stroke-dasharray: 3 4; }
.curva-texto { font-size: 12px; fill: #3d454d; }
/* Molde 4 · matriz */
.mini-meses { display: grid; grid-template-columns: repeat(12, 1.9rem); gap: 3px; font-size: .7rem; text-align: center; }
.celda-mes { display: block; height: 1.1rem; border-radius: 2px; background: #edf0f4; border: 1px solid #d6dbe3; }
.celda-mes.con-atraso { background: #b45f12; border-color: #b45f12; }
.muestra.celda-mes { width: .9rem; height: .9rem; }
.tabla-desplazable { overflow-x: auto; }
/* Molde 5 · antigüedad: franjas y barra por caso */
.franjas { display: flex; gap: .25rem; }
.franja { flex: 1 1 0; min-width: 8.5rem; display: flex; flex-direction: column; padding: .5rem .7rem; border-radius: .3rem; text-decoration: none; border: 2px solid transparent; }
.franja.activo { border-color: var(--seleccion); }
.franja-titulo { display: flex; align-items: center; gap: .35rem; font-size: .85rem; font-weight: 600; }
.franja-n { font-size: 1.5rem; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.franja-detalle { font-size: .78rem; }
.franja.color-verde { background: #eef6ef; color: #1e5e25; }
.franja.color-amarillo { background: #fbf5e4; color: #6b4d00; }
.franja.color-naranja { background: #fbede1; color: #7a3c00; }
.franja.color-rojo { background: #f7e4e1; color: #8a1c27; }
.muestra.color-verde, .relleno.color-verde { background: #2e7d32; }
.muestra.color-amarillo, .relleno.color-amarillo { background: #b38600; }
.muestra.color-naranja, .relleno.color-naranja { background: #c8701d; }
.muestra.color-rojo, .relleno.color-rojo { background: #b02a37; }
.barra-caso { display: flex; align-items: center; gap: .5rem; min-width: 8rem; }
.barra-caso .pista { flex: 1 1 auto; height: .6rem; border-radius: .3rem; background: #eef1f5; overflow: hidden; }
.barra-caso .relleno { display: block; height: 100%; border-radius: .3rem; }
.barra-caso .valor { min-width: 1.6rem; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
/* Molde 6 · comparación (mapa de calor) */
.calor { width: 100%; border-collapse: separate; border-spacing: .3rem; }
.calor th { font-size: .85rem; color: var(--azul); white-space: nowrap; }
.calor th a.orden { color: var(--azul); text-decoration: none; }
.calor th[scope="row"] { color: #212529; }
.calor .celda { display: flex; flex-direction: column; justify-content: center; min-height: 3.6rem; padding: .3rem .5rem; border-radius: .3rem; text-decoration: none; color: #212529; border: 2px solid transparent; }
.calor .celda.activo { border-color: var(--seleccion); box-shadow: 0 0 0 2px #fff inset; }
.celda-valor { font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; }
.celda-detalle { font-size: .75rem; }
.calor-0 { background: #f3f7fc; } .calor-1 { background: #dce8f5; } .calor-2 { background: #bcd3ec; } .calor-3 { background: #8fb5de; }
.calor-4 { background: #2e6da4; }
.calor .calor-4 { color: #fff; }
.calor .calor-pocos { background: #f4f6f9; color: #5c6670; }
.calor .vacia { align-items: center; color: #5c6670; font-size: .8rem; background: repeating-linear-gradient(135deg, #f4f6f9 0 6px, #fff 6px 12px); }
.escala { display: inline-flex; gap: 2px; }
.escala span { width: 1.3rem; height: .7rem; border: 1px solid #d6dbe3; }
/* Molde 7 · bandeja */
.bandeja { display: flex; flex-wrap: wrap; gap: .5rem; }
.bandeja-grupo { display: flex; align-items: baseline; gap: .5rem; padding: .45rem .8rem; background: #fff; border: 1px solid #d6dbe3; border-left: 4px solid #8a94a0; border-radius: .3rem; color: #212529; text-decoration: none; }
.bandeja-grupo:hover { border-color: var(--azul-claro); }
.bandeja-grupo.activo { background: #fdf6e3; border-color: var(--seleccion); }
.bandeja-grupo.borde-rojo { border-left-color: #b02a37; }
.bandeja-grupo.borde-amarillo { border-left-color: #b38600; }
.bandeja-grupo.borde-gris { border-left-color: #5c6670; }
.bandeja-n { font-size: 1.3rem; font-weight: 700; color: var(--azul); font-variant-numeric: tabular-nums; }
.accion { display: inline-block; padding: .15rem .55rem; border-radius: .25rem; font-size: .82rem; font-weight: 600; }
.accion-urgente { background: #fdebd7; color: #7a3c00; }
.accion-aviso { background: #fff1c2; color: #6b4d00; }
.accion-normal { background: #eef1f5; color: #3d454d; }
/* Molde 8 · calendario */
.calendario { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .4rem; }
.dia { display: flex; flex-direction: column; gap: .35rem; min-height: 11rem; padding: .45rem; border-radius: .3rem; background: #fbfcfe; box-shadow: inset 0 0 0 1px #e3e7ed; }
.dia.hoy { background: #e8f0fa; box-shadow: inset 0 0 0 2px var(--azul-claro); }
.dia.finde { background: #f4f6f9; }
.dia-cabecera { display: flex; justify-content: space-between; gap: .25rem; padding-bottom: .3rem; border-bottom: 1px solid #e3e7ed; font-size: .82rem; }
.dia-nombre { font-weight: 600; color: #3d454d; }
.dia.hoy .dia-nombre { color: var(--azul); font-weight: 700; }
.promesa { display: flex; flex-direction: column; gap: .05rem; padding: .35rem .45rem; border-radius: .3rem; background: #fff; border: 1px solid #d6dbe3; color: #212529; text-decoration: none; overflow-wrap: anywhere; line-height: 1.25; }
.promesa .fw-bold { color: var(--azul); }
.promesa:hover { border-color: var(--azul-claro); }
.promesa.activo { border: 2px solid var(--seleccion); background: #fdf6e3; }
@media (max-width: 991.98px) { .calendario { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Tabla e historia del caso elegido */
.tabla-reporte a.orden { color: var(--azul); text-decoration: none; }
.tabla-reporte a.orden:hover { text-decoration: underline; }
.tabla-reporte a.contrato { color: var(--azul); }
.tabla-reporte tr.elegida > td { background: #dceaf8; }
.reporte-buscar .form-control { width: 13rem; }
.historia-caso { border-color: #b8cde6; }
.historia { list-style: none; padding: 0; margin: 0 0 .5rem; font-size: .88rem; }
.historia li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: .5rem; padding: .35rem 0; border-bottom: 1px solid #e3e7ed; overflow-wrap: anywhere; }
.historia .fecha { color: #5c6670; font-variant-numeric: tabular-nums; }
.historia-vacia { padding: 1rem; border: 1px dashed #b8cde6; border-radius: .4rem; color: #3d454d; }
/* Inicio: tarjetas temáticas + atajos (auditoría de usabilidad, DESIGN.md/EXPERIENCE.md) */
.tarjeta-home { display: flex; flex-direction: column; }
.tarjeta-home:hover { border-color: var(--azul-claro); }
.tarjeta-home .subtitulo { border-bottom: none; padding-bottom: 0; }
.tarjeta-home-cuerpo { flex: 1; }
.tarjeta-home ul { list-style: none; padding: 0; font-size: .9rem; }
.tarjeta-home ul li { padding: .25rem 0; border-bottom: 1px dashed #eee; }
.tarjeta-home ul li:last-child { border-bottom: none; }
.tarjeta-home ul li::before { content: "•"; color: var(--azul-claro); font-weight: 900; margin-right: .4rem; }
.icono-categoria { width: 1.9rem; height: 1.9rem; border-radius: .45rem; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; line-height: 1; overflow: visible; }
.icono-categoria.ic-seguimiento { background: #DDE6F0; }
.icono-categoria.ic-comunicacion { background: #FEF3D6; }
.icono-categoria.ic-gestion { background: #E2E5E9; }
.icono-categoria.ic-derivacion { background: #F7E4E1; }
/* Pocas funciones (1): centrar y reforzar el ícono en vez de dejar aire vacío */
.tarjeta-home-pocas .tarjeta-home-cuerpo { display: flex; align-items: center; }
.tarjeta-home-pocas .subtitulo { flex-direction: column; text-align: center; gap: .5rem !important; margin-bottom: 1rem; }
.tarjeta-home-pocas .icono-categoria { width: 2.75rem; height: 2.75rem; font-size: 1.4rem; }
.tarjeta-home-pocas ul { text-align: center; width: 100%; }
.tarjeta-home-pocas ul li { border-bottom: none; justify-content: center; padding: .15rem 0; }
.tarjeta-home-pocas ul li::before { content: none; }
.btn-atajo-secundario { background: #EDEFF2; color: var(--azul); border: 1px solid #C3C9D0; }
.btn-atajo-secundario:hover { background: #E0E3E8; color: var(--azul); }
.btn-atajo-secundario:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }
