    /* ── Estilos específicos de tabla de referencia ── */
    .tabla-wrapper {
      overflow-x: auto;
      margin: var(--espacio-lg) 0;
      border: 1px solid var(--color-borde);
      border-radius: var(--radio-lg);
      box-shadow: var(--sombra-card);
    }

    .tabla-referencia {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.875rem;
      min-width: 600px;
    }

    .tabla-referencia thead tr {
      background-color: var(--color-header-bg);
    }

    .tabla-referencia thead th {
      padding: 12px 14px;
      text-align: left;
      font-weight: 600;
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--color-header-texto);
      white-space: nowrap;
    }

    .tabla-referencia tbody tr {
      border-bottom: 1px solid var(--color-borde);
      transition: background-color 0.1s;
    }

    .tabla-referencia tbody tr:last-child {
      border-bottom: none;
    }

    .tabla-referencia tbody tr:hover {
      background-color: var(--color-acento-claro);
    }

    .tabla-referencia td {
      padding: 10px 14px;
      color: var(--color-texto);
      vertical-align: middle;
      line-height: 1.4;
    }

    .tabla-referencia td:nth-child(3),
    .tabla-referencia td:nth-child(4),
    .tabla-referencia td:nth-child(5) {
      font-family: 'Courier New', monospace;
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--color-acento);
      text-align: center;
    }

    /* Fila de categoría */
    .fila-categoria {
      background-color: var(--color-fondo-card) !important;
    }

    .fila-categoria td {
      font-weight: 700;
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--color-texto-suave);
      padding: 8px 14px;
      border-bottom: 2px solid var(--color-borde) !important;
    }

    .fila-categoria td:nth-child(3),
    .fila-categoria td:nth-child(4),
    .fila-categoria td:nth-child(5) {
      color: var(--color-texto-suave);
      font-family: inherit;
      font-weight: 700;
    }

    /* Tag de fuente */
    .tag-fuente {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      background-color: var(--color-acento-claro);
      color: var(--color-acento);
      padding: 2px 6px;
      border-radius: var(--radio-sm);
      white-space: nowrap;
    }

    /* Nota dentro de la celda */
    .td-nota {
      font-size: 0.78rem;
      color: var(--color-texto-suave);
      font-style: italic;
    }

    /* Barra de filtros */
    .filtros-bar {
      display: flex;
      gap: var(--espacio-md);
      margin-bottom: var(--espacio-lg);
      flex-wrap: wrap;
    }

    .filtros-bar input,
    .filtros-bar select {
      font-family: var(--fuente-principal);
      font-size: 0.9rem;
      padding: 10px 14px;
      border: 1.5px solid var(--color-borde);
      border-radius: var(--radio-sm);
      background-color: var(--color-fondo);
      color: var(--color-texto);
      outline: none;
      transition: border-color 0.15s;
      min-height: 44px;
    }

    .filtros-bar input {
      flex: 1;
      min-width: 200px;
    }

    .filtros-bar input:focus,
    .filtros-bar select:focus {
      border-color: var(--color-acento);
    }

    /* Bloque de fuentes */
    .fuentes-bloque {
      background-color: var(--color-fondo-card);
      border: 1px solid var(--color-borde);
      border-radius: var(--radio-md);
      padding: var(--espacio-lg);
      margin-top: var(--espacio-xl);
      font-size: 0.85rem;
      color: var(--color-texto-suave);
    }

    .fuentes-bloque strong {
      display: block;
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--color-texto);
      margin-bottom: var(--espacio-sm);
    }

    .fuentes-bloque ol {
      padding-left: var(--espacio-xl);
      margin: 0;
    }

    .fuentes-bloque li {
      margin-bottom: 4px;
      line-height: 1.6;
    }

    .contador {
      font-size: 0.8rem;
      color: var(--color-texto-suave);
      margin-bottom: var(--espacio-sm);
    }

    /* Fila oculta por filtro */
    tr.oculta { display: none; }
